/* 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 #include class MappingTreeView; class MappingTreeModel; class QComboBox; class QPushButton; class QSortFilterProxyModel; class QStringListModel; class QAction; struct MappingData; class MappingTreeWidget : public QWidget { Q_OBJECT public: explicit MappingTreeWidget(QWidget *parent = 0); MappingData selectedItem() const; 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