VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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  Qt::SortOrder mySortOrder;
131  };
132 
133 
135  //
139  class DtObjectsList : public QWidget
140  {
141 
142  Q_OBJECT
143 
144  public:
145 
147  DtObjectsList(DtDe& de, QWidget* parent = NULL,
148  const Qt::WindowFlags& flags = 0);
149 
151  virtual ~DtObjectsList();
152 
153  public:
154 
157  virtual bool init();
158 
161  virtual bool eventFilter(QObject* o, QEvent* e);
163 
164  virtual void tick();
165 
166  signals:
167 
169  void deleteRequested();
170  void rightClickOnItem( QPoint where );
173 
174  public slots:
175  virtual void showInformation(QTreeWidgetItem*, int);
176  //virtual void selectionModeChanged(DtBaseWindow* window);
179 
180  protected:
181  virtual void keyPressEvent(QKeyEvent *e);
182 
185 
186  private:
187 
189  DtObjectsList(const DtObjectsList& orig);
190 
192  DtObjectsList& operator=(const DtObjectsList& orig);
193 
194  protected:
196  QVBoxLayout* myMasterLayout;
197 
200  };
201 
203  {
204  return myObjectsSelectionList;
205  }
206 
208 
210  {
211  public:
214 
215  bool destroyed() const { return myDestroyed; };
216  void setDestroyed(bool b) { myDestroyed = b; };
217 
218  virtual QVariant data(int iColumn, int role) const;
219 
220  virtual bool operator<(const QTreeWidgetItem&) const;
221 
222  protected:
223  mutable bool myProcessing;
226  };
227 
229  {
230  public:
232  : DtFilteredListView(de, parent) {};
233 
235 
236  protected:
238  {
240 
242  it->setIcon(0, QPixmap());
243  return it;
244  }
245 
246  protected:
248 
249  };
250 
254  {
255 
256  public:
258  static DtObjectListViewCreator& instance(DtDe& de);
259 
261  static void registerInstance(DtDe& de,DtObjectListViewCreator* anInstance);
262 
264  virtual DtObjectListView* create(DtDe& de, QWidget * parent);
265  };
266 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)