From 7b09a7402e45e2c1a2538b2f3565607ac75eccdd Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Sat, 28 Jul 2018 15:44:00 +0200 Subject: Move all to tree model --- gui/designwidget.h | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-) (limited to 'gui/designwidget.h') diff --git a/gui/designwidget.h b/gui/designwidget.h index 60291cf3..bbd188cd 100644 --- a/gui/designwidget.h +++ b/gui/designwidget.h @@ -20,27 +20,17 @@ #ifndef DESIGNWIDGET_H #define DESIGNWIDGET_H -#include +#include #include #include "nextpnr.h" #include "qtgroupboxpropertybrowser.h" #include "qtpropertymanager.h" #include "qttreepropertybrowser.h" #include "qtvariantproperty.h" +#include "treemodel.h" NEXTPNR_NAMESPACE_BEGIN -enum class ElementType -{ - NONE, - BEL, - WIRE, - PIP, - NET, - CELL, - GROUP -}; - class DesignWidget : public QWidget { Q_OBJECT @@ -59,9 +49,9 @@ class DesignWidget : public QWidget ElementType getElementTypeByName(QString type); int getElementIndex(ElementType type); void updateButtons(); - void addToHistory(QTreeWidgetItem *item); + void addToHistory(QModelIndex item); std::vector getDecals(ElementType type, IdString value); - void updateHighlightGroup(QList item, int group); + void updateHighlightGroup(QList item, int group); Q_SIGNALS: void info(std::string text); void selected(std::vector decal, bool keep); @@ -70,7 +60,7 @@ class DesignWidget : public QWidget private Q_SLOTS: void prepareMenuProperty(const QPoint &pos); void prepareMenuTree(const QPoint &pos); - void onItemSelectionChanged(); + void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); void onItemDoubleClicked(QTreeWidgetItem *item, int column); public Q_SLOTS: void newContext(Context *ctx); @@ -82,8 +72,9 @@ class DesignWidget : public QWidget private: Context *ctx; - QTreeWidget *treeWidget; - + QTreeView *treeView; + QItemSelectionModel *selectionModel; + ContextTreeModel *treeModel; QtVariantPropertyManager *variantManager; QtVariantPropertyManager *readOnlyManager; QtGroupPropertyManager *groupManager; @@ -93,14 +84,10 @@ class DesignWidget : public QWidget QMap propertyToId; QMap idToProperty; - QMap nameToItem[6]; - std::vector history; + std::vector history; int history_index; bool history_ignore; - QTreeWidgetItem *nets_root; - QTreeWidgetItem *cells_root; - QAction *actionFirst; QAction *actionPrev; QAction *actionNext; @@ -108,7 +95,7 @@ class DesignWidget : public QWidget QAction *actionClear; QColor highlightColors[8]; - QMap highlightSelected; + QMap highlightSelected; }; NEXTPNR_NAMESPACE_END -- cgit v1.2.3