![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: menuEditor.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DTMENUEDITOR_H_ 00013 #define DTMENUEDITOR_H_ 00014 00015 #include <QtGui/QDialog> 00016 #include <QtCore/QDir> 00017 #include <QtGui/QTreeWidget> 00018 #include <QtGui/QHeaderView> 00019 #include "entityEditorImpl/entityEditorImplDefines.h" 00020 00021 class DtMenu; 00022 class DtEditMenuTreeWidget; 00023 class QPushButton; 00024 class QTreeWidgetItem; 00025 class DtEnumerationWidget; 00026 class QLineEdit; 00027 class QRadioButton; 00028 class DtFilename; 00029 class DtList; 00030 00031 class DT_DLL_entityeditorimpl DtEditMenuTreeWidget : public QTreeWidget 00032 { 00033 public: 00034 DtEditMenuTreeWidget(QWidget* parent) : QTreeWidget(parent) { header()->hide(); setIconSize(QSize(20, 20)); }; 00035 00036 void init(const DtMenu*); 00037 00038 protected: 00039 void build(const DtList& list, QTreeWidgetItem* parent = NULL); 00040 QMimeData* mimeData(const QList<QTreeWidgetItem*> list) const; 00041 QStringList mimeTypes() const; 00042 void dragMoveEvent(QDragMoveEvent* d); 00043 }; 00044 00045 class DT_DLL_entityeditorimpl DtMenuEditor : public QDialog 00046 { 00047 Q_OBJECT 00048 00049 public: 00050 DtMenuEditor(QWidget* parent, const Qt::WindowFlags& flags = 0); 00051 virtual ~DtMenuEditor(); 00052 00053 virtual void init(const DtMenu*); 00054 00057 virtual DtMenu* menu() const; 00058 00059 static DtMenuEditor* create(QWidget* p = NULL); 00060 00061 protected slots: 00062 virtual void itemSelectionChanged(); 00063 virtual void addGroup(); 00064 virtual void remove(); 00065 virtual void addObject(); 00066 virtual void selectEntity(); 00067 virtual void menuChoiceChanged(); 00068 virtual DtEditMenuTreeWidget* createEditMenuTree(QWidget* p); 00069 00070 protected: 00071 virtual int addWhere(QTreeWidgetItem*); 00072 virtual void buildMenu(DtMenu*, QTreeWidgetItem* parent) const; 00073 virtual bool setupEntityMenu(); 00074 virtual QFileInfoList findMenuFiles(const DtFilename& startPath, const QFileInfoList& subPaths) const; 00075 00076 protected: 00077 DtEditMenuTreeWidget* myMenuView; 00078 QPushButton* myAddGroup; 00079 QPushButton* myAddObject; 00080 QPushButton* myRemove; 00081 DtEnumerationWidget* myEnumerationSelectionWidget; 00082 QLineEdit* myLabel; 00083 QPushButton* myOKButton; 00084 QRadioButton* myAutoMenu; 00085 QRadioButton* myEntMenu; 00086 QWidget* myMenuFrame; 00087 }; 00088 00089 #endif 00090