![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEntityCreatePalette.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrvCore/DtUserInterfaceAssembler.h> 00017 #include <vrvUtil/DtVirtualBaseClass.h> 00018 00019 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00020 #include <vrfGuiCoreQt/DtEntityCreatePaletteInterface.h> 00021 00022 #include <QtGui/QWidget> 00023 #include <QtCore/QHash> 00024 00025 class QTreeWidget; 00026 class QVBoxLayout; 00027 class QComboBox; 00028 class QCheckBox; 00029 class QTreeWidgetItem; 00030 00031 namespace makVrv 00032 { 00033 class DtDe; 00034 } 00035 00036 namespace makVrf 00037 { 00038 class DtEntityCreatePaletteLogic; 00039 00041 class DT_DLL_VRFGUICOREQT DtEntityCreatePalette 00042 : public QWidget 00043 , public DtEntityCreatePaletteInterface 00044 { 00045 Q_OBJECT 00046 00047 public: 00049 DtEntityCreatePalette( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0); 00050 00052 virtual ~DtEntityCreatePalette(); 00053 00055 virtual QPixmap icon() const; 00056 00058 virtual QString iconText() const; 00059 00069 virtual void interceptCreation(bool intercept); 00070 00071 protected: 00073 void setupUi(QWidget* p); 00074 00075 protected: 00077 virtual void clear(); 00078 00080 virtual void update(); 00081 00083 virtual QString currentForce() const; 00084 00086 virtual int currentForceType() const; 00087 00089 virtual int currentForceIndex() const; 00090 00092 virtual int forceTypeAtIndex(int) const; 00093 00095 virtual QString currentCategory() const; 00096 00098 virtual int numForces() const; 00099 00101 virtual int numCategories() const; 00102 00104 virtual void addForce(const QString&, int); 00105 00107 virtual QString force(int) const; 00108 00110 virtual bool hasForce(int) const; 00111 00113 virtual void addCategory(const QString&); 00114 00116 virtual void insertCategoryBefore(const QString&, const QString&); 00117 00119 virtual void insertCategoryAfter(const QString&, const QString&); 00120 00122 virtual bool hasCategory(const QString&) const; 00123 00125 virtual void selectForce(const QString&); 00126 00128 virtual void selectForce(int); 00129 00131 virtual void selectCategory(const QString&); 00132 00134 virtual void selectCategory(int); 00135 00137 virtual void clearCreateList(); 00138 00140 virtual void setSortingEnabled(bool); 00141 00143 virtual void sizeColumns(); 00144 00148 virtual void addItem(const _DtEntityPaletteItem&, int force, bool newItem = false); 00149 00152 virtual void addPaletteItem(const _DtEntityPaletteItem&); 00153 00155 virtual void removePaletteItem(const DtEntityMapperKey& key); 00156 00158 virtual void showEntityTypesColumn(bool); 00159 00161 virtual void setEnabled(bool); 00162 00163 protected slots: 00164 virtual void slot_onForceChanged(); 00165 virtual void slot_onCategoryChanged(); 00166 virtual void slot_onShowEntityTypeColumn(); 00167 virtual void slot_onItemPressed(QTreeWidgetItem*, int); 00168 00169 protected: 00170 makVrv::DtDe& myDe; 00171 DtEntityCreatePaletteLogic* myLogic; 00172 std::map<std::string, QTreeWidgetItem*> myItems; 00173 00174 public: 00175 QVBoxLayout* myMainLayout; 00176 QComboBox* myCategories; 00177 QComboBox* myForces; 00178 QCheckBox* myShowEntityType; 00179 QTreeWidget* myEntities; 00180 }; 00181 00182 class DT_DLL_VRFGUICOREQT DtEntityCreatePaletteCreator : public makVrv::DtVirtualBaseClass 00183 { 00184 public: 00185 static DtEntityCreatePaletteCreator& instance(makVrv::DtDe&); 00186 static void registerInstance(makVrv::DtDe&, DtEntityCreatePaletteCreator*); 00187 virtual DtEntityCreatePalette* create(makVrv::DtDe&, QWidget*); 00188 }; 00189 }