diff options
Diffstat (limited to 'mappingtreewidget.h')
-rw-r--r-- | mappingtreewidget.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/mappingtreewidget.h b/mappingtreewidget.h new file mode 100644 index 0000000..bd34576 --- /dev/null +++ b/mappingtreewidget.h @@ -0,0 +1,65 @@ +/* + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version + 2 of the License, or (at your option) any later version. +*/ + +#ifndef MAPPINGTREEWIDGET_H +#define MAPPINGTREEWIDGET_H + +#include <QWidget> +#include <QTreeView> + +class MappingTreeView; +class MappingTreeModel; +class QComboBox; +class QPushButton; +class QSortFilterProxyModel; +class QStringListModel; +class QAction; + +class MappingTreeWidget : public QWidget { + Q_OBJECT + public: + explicit MappingTreeWidget(QWidget *parent = 0); + + public slots: + void addChild(); + void addType(); + void deleteChild(); + void deleteType(); + + protected: + virtual void hideEvent(QHideEvent *event); + + private slots: + void typeChanged(QString type); + void editChild(); + + private: + const QModelIndex selected() const; + MappingTreeView *mTree; + MappingTreeModel *mModel; + QSortFilterProxyModel *mProxy; + QStringListModel *mTypesModel; + QComboBox *mTypeBox; + QPushButton *mAddChild; + QPushButton *mDeleteChild; + QPushButton *mAddType; + QPushButton *mDeleteType; + QLineEdit *mEdit; + QAction *mDeleteChildA; + QAction *mEditChildA; +}; + +class MappingTreeView : public QTreeView { + Q_OBJECT + public: + MappingTreeView(QWidget *parent = 0); + + protected: + virtual void contextMenuEvent(QContextMenuEvent *e); +}; + +#endif // MAPPINGTREEWIDGET_H |