VR-Forces 4.1 Class Documentation
DtObjectsList.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 #include <vrvCoreQt/vrvCoreQt.h>
11 #include <QtGui/QWidget>
13 #include <vrvCoreQt/DtTreeWidget.h>
14 #include <vrvCore/DtUniqueID.h>
16 
17 class QVBoxLayout;
18 class QTreeWidgetItem;
19 
20 namespace makVrv
21 {
22  class DtObjectsSelectionList;
23  class DtObjectListViewItem;
24  class DtElementEntry;
25  class DtDe;
26 
27  const int DtIconColumn = 0;
28  const int DtNameColumn = 1;
29 
31 
34  typedef bool (*DtObjectsListSortFcn)(const QTreeWidgetItem& lhs,
35  const QTreeWidgetItem& rhs,
36  int iDataColumn, const DtObjectsSelectionList*);
37 
42  {
43  public:
44  DtObjectsListDataFunctions() : myDataFunction(NULL), mySortFunction(NULL) {};
46  myDataFunction(d), mySortFunction(s) {};
47 
49  myDataFunction(orig.myDataFunction), mySortFunction(orig.mySortFunction) {};
50 
51  DtObjectsListDataFcn myDataFunction;
53  };
54 
59  {
60  Q_OBJECT
61 
62  public:
63 
65  DtObjectsSelectionList(DtDe& de, QWidget* parent = NULL,
66  const Qt::WindowFlags& flags = 0);
67 
69  virtual ~DtObjectsSelectionList();
70 
71  bool init(int iNumListBoxes = 1);
72 
73  virtual void tick();
74 
75  virtual QVariant data(DtObjectListViewItem* item, int iDataColumn, int iColumn, int iRole) const;
76 
77  virtual bool isDataShown(int data);
78 
79  public slots:
81  virtual int sort(const QTreeWidgetItem& lhs, const QTreeWidgetItem& rhs, int iColumnId) const;
82 
83  protected slots:
84  virtual void filterItemAdded(const DtUniqueID&, QTreeWidgetItem*);
85  virtual void filterItemUpdated(const DtUniqueID&, QTreeWidgetItem*);
86  virtual void filterItemRemoved(const DtUniqueID&, QTreeWidgetItem*);
87  virtual void filterListViewCleared();
88 
89 
92  virtual void showObjectOptions(int);
93 
95  virtual void symbolMapChanged();
96 
97  signals:
98  void rightClickOnItem( QPoint where );
99  void filterListItemAdded(const DtUniqueID&, QTreeWidgetItem*);
100  void filterListItemRemoved(const DtUniqueID&, QTreeWidgetItem*);
101  void filteredListViewCreated( DtFilteredListView * );
102  void filteredListViewToBeDestroyed( DtFilteredListView * );
103 
104  protected:
105  virtual DtFilteredListView* createFilteredListView();
106  virtual DtFilteredListView* createFilteredListView(unsigned int iListBox);
107  virtual bool initConnections(DtFilteredListView* window);
108 
113  virtual void initializeColumns();
114  virtual void addColumn(int id, const QString& column, bool initiallyVisible = true,
115  DtObjectsListDataFcn dataFcn = NULL, DtObjectsListSortFcn sortFcn = NULL);
116 
118  virtual void createColumns(DtFilteredListView* window);
119 
122  virtual QPixmap createMenuArrow(DtFilteredListView* window);
123 
124  virtual void keyPressEvent(QKeyEvent *e);
125 
126  protected:
127  QStringList myItems;
128  QHash<int, DtObjectsListDataFunctions> myDataFunctions;
130  };
131 
132 
134  //
138  class DtObjectsList : public QWidget
139  {
140 
141  Q_OBJECT
142 
143  public:
144 
146  DtObjectsList(DtDe& de, QWidget* parent = NULL,
147  const Qt::WindowFlags& flags = 0);
148 
150  virtual ~DtObjectsList();
151 
152  public:
153 
156  virtual bool init();
157 
160  virtual bool eventFilter(QObject* o, QEvent* e);
162 
163  virtual void tick();
164 
165  signals:
166 
168  void deleteRequested();
169  void rightClickOnItem( QPoint where );
172 
173  public slots:
174  virtual void showInformation(QTreeWidgetItem*, int);
175  //virtual void selectionModeChanged(DtBaseWindow* window);
178 
179  protected:
180  virtual void keyPressEvent(QKeyEvent *e);
181 
184 
185  private:
186 
188  DtObjectsList(const DtObjectsList& orig);
189 
191  DtObjectsList& operator=(const DtObjectsList& orig);
192 
193  protected:
195  QVBoxLayout* myMasterLayout;
196 
199  };
200 
202  {
203  return myObjectsSelectionList;
204  }
205 
207 
209  {
210  public:
213 
214  bool destroyed() const { return myDestroyed; };
215  void setDestroyed(bool b) { myDestroyed = b; };
216 
217  virtual QVariant data(int iColumn, int role) const;
218 
219  virtual bool operator<(const QTreeWidgetItem&) const;
220 
221  protected:
222  mutable bool myProcessing;
225  };
226 
228  {
229  public:
231  : DtFilteredListView(de, parent) {};
232 
234 
235  protected:
237  {
239 
241  it->setIcon(0, QPixmap());
242  return it;
243  }
244 
245  protected:
247 
248  };
249 
253  {
254 
255  public:
257  static DtObjectListViewCreator& instance(DtDe& de);
258 
260  static void registerInstance(DtDe& de,DtObjectListViewCreator* anInstance);
261 
263  virtual DtObjectListView* create(DtDe& de, QWidget * parent);
264  };
265 }

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)