VR-Forces 4.1 Class Documentation
entityEditorList.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #ifndef DtEntityEditorList_H_
10 #define DtEntityEditorList_H_
11 
13 #include "tmqt/dtTreeWidget.h"
14 #include <QtCore/QHash>
15 #include <QtGui/QImage>
16 #include <QtCore/QMap>
17 #include <QtCore/QString>
18 #include <QtCore/QVariant>
20 #include <vrfExtProtocol/objType.h>
21 #include "vrfutil/rwForces.h"
22 #include <QtGui/QMessageBox>
23 
25 class DtFilename;
27 class DtList;
28 class QComboBox;
30 class DtEntityMapperKey;
35 class DtModelSetEntry;
37 class QLabel;
38 class DtUiElementEvent;
39 class QPushButton;
40 class QLineEdit;
41 
42 const int DtModifiedRole = Qt::UserRole;
43 const int DtParameterRole = Qt::UserRole + 1;
44 const int DtDeletedRole = Qt::UserRole + 2;
45 const int DtCreatedRole = Qt::UserRole + 3;
46 const int DtModelRole = Qt::UserRole + 4;
47 const int DtGlobalForcesRole = Qt::UserRole + 5;
48 
49 class DtEntityEditorList;
50 
52 {
53 public:
56  virtual bool isValid(const DtModelSetEntry*);
57 
58  void setCategory(const QString&);
59  void setFilterOnForces(const DtRwForces&);
60 
61  virtual DtEntityPaletteFilter* clone() const { return new DtEntityPaletteFilter(*this); };
62 
63 protected:
64  QString myCategory;
66 };
67 
69 {
70 public:
71  DtEntityPaletteItem() : QTreeWidgetItem(), myPaletteParent(0) {};
72  virtual QVariant data(int column, int role) const;
73 
74  virtual DtModelSetEntry* proxyModel() const;
75  virtual QList<QVariant> proxyForces() const;
76 
77  void setPaletteParent(DtEntityEditorList* p) { myPaletteParent = p; };
78  QString forcePixmapKey(DtModelSetEntry*, const QList<QVariant>&) const;
79 
80 protected:
81  virtual QImage getPixmap(const DtObjectType& o, int force) const;
82 
83 protected:
85  mutable QString myForcePixmapKey;
86  mutable QImage myForcePixmap;
87 };
88 
90 {
91  Q_OBJECT
92 
93 protected:
94  static const QMap<QString, QVariant> theEmptyStringVariantMap;
95 
96 public:
97 
100 
102  virtual ~DtEntityEditorList();
103 
105  virtual void init();
106 
107  bool hasSelection() const;
108  virtual void getSelectedInformation(DtEntityMapperKey& key) const;
109  virtual void getSelectedInformation(DtObjectType& key) const;
110  virtual void getInformation(QTreeWidgetItem*, DtEntityMapperKey& key) const;
111  virtual void getInformation(QTreeWidgetItem*, DtObjectType& key) const;
112  virtual void setEntryModified(DtVrfObjectParameters*);
113  virtual void setModelModified(DtModelSetEntry*);
114 
115  virtual bool canRevertExisting() const;
116  virtual bool canDeleteExisting() const;
117 
118  virtual void getCategorySelections(DtRwForces&, DtRwNLengthStringVector&);
119 
120  virtual DtObjectType selectedObjectType() const;
121  virtual QTreeWidgetItem* selectedItem() const;
122  virtual DtModelSetEntry* selectedModel() const;
123  virtual void setSelected(const QString&);
124  virtual void setSelected(DtModelSetEntry*);
125  virtual void setSelected(DtModelSetEntry*, const QMap<QString, QVariant>& state);
126  virtual void selectPath(const QString& path, const QMap<QString, QVariant>& state);
127  virtual DtModelSetEntry* modelFor(QTreeWidgetItem*) const;
128 
129  virtual QMap<QString, QVariant> currentUiState() const;
130 
131  virtual void selectUncategorized();
132  virtual void selectCategory(const QString&);
133 
134  QTreeWidget* entityList();
135  virtual void setParameterChanged(const DtVrfObjectParameters* newP, const DtObjectType& oldType, const DtObjectType& newType);
136 
137  static DtEntityEditorList* create(QWidget* parent = NULL);
138  void setRightClickEnabled(bool b);
139  bool rightClickEnabled() const;
140 
141  QTreeWidgetItem* currentlyDisplaying() const;
142 
145  virtual void setFilterOnForces(const DtRwForces& forces);
146  const DtRwForces& filterOnForces() const;
147 
148  virtual bool selectModel(DtModelSetEntry* m, const QMap<QString, QVariant>& state = theEmptyStringVariantMap);
149  virtual QString categoryFor(DtModelSetEntry* m) const;
150 
151  virtual QString selectedCategory() const;
152 
153  virtual QString selectedPath() const;
154 
155  virtual DtTreeWidget* createEntitiesList(QWidget* p);
156  virtual DtEntityEditorHistory* createHistoryBar(QWidget* p);
157 
159  virtual void setShowHistory(bool);
160  bool showingHistory() const;
161 
162  virtual DtObjectType stringToType(const QString&) const;
163 
165  virtual void updateUiSaveState(const DtUiElementEvent& e);
166  virtual void hierarchyChanged(const DtUiElementEvent& e);
167  virtual void hierarchyChanged(const DtObjectType& obj);
168 
169  const QList<QVariant>& allForces() const;
170 
172  virtual void disableItemsThatHaveThisAsAChild(const DtObjectType&);
173  virtual void enableAllItems();
174 
176  virtual bool itemContains(const DtVrfSubObjectParameterList&, const DtObjectType&) const;
177  virtual void addObjectToHierarchy(const DtObjectType&, QTreeWidgetItem*, int index = -1);
178 
179  bool executingFilter() const;
180  virtual QSize sizeHint() const;
181  virtual QSize minimumSizeHint() const;
182 
183 public slots:
184  virtual void fillInList();
185  virtual void deleteExisting();
186  virtual void revertExisting();
187  virtual void redisplayListIcons();
188  virtual void opdEntryAdded(DtVrfObjectParameters*, DtModelSetEntry*);
189 
190 protected slots:
191  virtual void textFilter();
192  virtual void resetTextFilter();
193  virtual void exitAddSubordinatesFromPalette();
194  virtual void addSubordinatesFromPalette();
195  virtual void executeFilter();
196  virtual void itemRightClicked(QTreeWidgetItem*, QMouseEvent*);
197  virtual void selectionChanged();
198  virtual void itemExpanded(QTreeWidgetItem*);
199  virtual void addToHierarchy();
200  virtual void addObjectToHierarchy(const DtObjectType&);
201  virtual void removeFromHierarchy();
202  virtual void moveUp();
203  virtual void moveDown();
204  virtual void replaceInHierarchy();
205  virtual void addNewSubordinate();
206  virtual void addNewSubordinateFromExisting();
207 
208 protected:
209  virtual void moveInHierarchy(int iFrom, int iTo, QTreeWidgetItem* parent);
210  virtual void replaceObjectInHierarchy(const DtObjectType& t, QTreeWidgetItem* toReplace);
211 
212  virtual void loadSubordinatesFor(QTreeWidgetItem*, const DtVrfSubObjectParameterList&);
213 
214  virtual void updateStatus(QTreeWidgetItem* item);
215  virtual void revertChanged(DtReaderWriterRegistry*);
216  virtual void revertChanged(DtModelSetEntry*);
217  virtual void addModelEntry(DtModelSetEntry*);
218  virtual DtEntityPaletteFilter* createFilter();
219  virtual DtEntityPaletteItem* createPaletteItem();
220  virtual DtEntityPaletteItem* createPaletteItem(DtModelSetEntry*, MyMtlParameterDbEntry*);
221  virtual void createForcesList();
222  virtual void updateHistory();
223 
224  virtual void disableInvalidItems();
225 
226  typedef std::pair<DtObjectType, bool> ObjectsToLoad;
227 
228  virtual void createTreeWidgetItemsFor(const QVector<ObjectsToLoad>&, QVector<QTreeWidgetItem*>& items);
229 
230 signals:
231  void itemSelectionChanged();
232  void itemStatusChanged();
233  void itemsAdded(const QVector<QTreeWidgetItem*>&);
234 
235 protected:
247 
253 
257 };
258 
260 {
261 public:
263  virtual ~DtEntityEditorListTreeWidget();
264 
265 protected:
266 
267  virtual QSize sizeHint() const;
268  virtual QSize minimumSizeHint() const;
269 
270  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> list) const;
271  virtual QStringList mimeTypes() const;
272  virtual void dragEnterEvent(QDragEnterEvent *d);
273  virtual void dragMoveEvent(QDragMoveEvent *d);
274  virtual void dropEvent(QDropEvent* d);
275 };
276 
278 {
280 }
281 
283 {
284  return myRightClickEnabled;
285 }
286 
288 {
289  return (myEntities && (myEntities->selectedItems().count() != 0));
290 }
291 
293 {
294  return myEntities;
295 }
296 
298 {
299  return myFilterOnForces;
300 }
301 
303 {
304  return myForces;
305 }
306 
308 {
309  return myCurrentlyDisplaying;
310 }
311 
313 {
314  return myExecutingFilter;
315 }
316 
317 #endif //DtEntityEditorList_H_
318 
319 

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)