Files
noggit-red/src/noggit/ui/ZoneIDBrowser.h
2020-10-10 01:18:36 +03:00

48 lines
999 B
C++

// This file is part of Noggit3, licensed under GNU General Public License (version 3).
#pragma once
#include <QtWidgets/QWidget>
#include <QtWidgets/QTreeWidget>
#include <QtWidgets/QDoubleSpinBox>
#include <QtWidgets/QSlider>
#include <functional>
#include <string>
namespace noggit
{
namespace ui
{
class zone_id_browser : public QWidget
{
Q_OBJECT
public:
zone_id_browser(QWidget* parent = nullptr);
void setMapID(int id);
void setZoneID(int id);
void changeRadius(float change);
float brushRadius() const { return _radius; }
signals:
void selected (int area_id);
private:
QTreeWidget* _area_tree;
QSlider* _radius_slider;
QDoubleSpinBox* _radius_spin;
std::map<int, QTreeWidgetItem*> _items;
int mapID;
float _radius = 15.0f;
void buildAreaList();
QTreeWidgetItem* create_or_get_tree_widget_item(int area_id);
QTreeWidgetItem* add_area(int area_id);
};
}
}