add areaList model and filtering, scrolling for all trees

This commit is contained in:
garak
2023-02-06 23:48:37 -05:00
parent 9918159caa
commit e2ff93e5e7
7 changed files with 241 additions and 208 deletions

View File

@@ -15,7 +15,8 @@ enum MapListRoles {
TypeRole2, // Used for various extra data needed.
};
// or QStandardItemModel??
class MapGroupModel : public QStandardItemModel {
Q_OBJECT
@@ -52,6 +53,42 @@ signals:
class MapAreaModel : public QStandardItemModel {
Q_OBJECT
public:
MapAreaModel(Project *project, QObject *parent = nullptr);
~MapAreaModel() {}
QVariant data(const QModelIndex &index, int role) const override;
public:
void setMap(QString mapName) { this->openMap = mapName; }
QStandardItem *createAreaItem(QString areaName, int areaIndex);
QStandardItem *createMapItem(QString mapName, int areaIndex, int mapIndex);
QStandardItem *getItem(const QModelIndex &index) const;
QModelIndex indexOfMap(QString mapName);
void initialize();
private:
Project *project;
QStandardItem *root = nullptr;
QMap<QString, QStandardItem *> areaItems;
QMap<QString, QStandardItem *> mapItems;
// TODO: if reordering, will the item be the same?
QString openMap;
signals:
void edited();
};
class LayoutTreeModel : public QStandardItemModel {
Q_OBJECT