VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simulationObjectEditorSystemList.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #if !defined(Q_MOC_RUN)
17 #endif
18 
19 #include <QtWidgets/QItemDelegate>
20 
21 #include <boost/function.hpp>
22 #include <boost/signals2.hpp>
23 
27 class QGridLayout;
28 class QLabel;
29 class QLineEdit;
30 class QPushButton;
31 class QSplitter;
32 class DtUiElementEvent;
33 
34 const int DtSystemDefinitionRole = Qt::UserRole;
35 const int DtSystemFilenameRole = Qt::UserRole + 1;
36 
37 typedef boost::function<bool (const DtComponentSystemDefinition*)> DtSystemFilterFunction;
38 
40 {
41 public:
44  virtual bool isValid(const DtComponentSystemDefinition*);
45 
46  void setTags(const std::vector<std::string>&);
47 
48  virtual DtSystemPaletteFilter* clone() const { return new DtSystemPaletteFilter(*this); };
49 
50  virtual void addFilterFunction(DtSystemFilterFunction f) { myFilterFunctions.push_back(f); };
51 
52 protected:
53  std::vector<DtSystemFilterFunction> myFilterFunctions;
54  std::set<std::string> myTags;
56 };
57 
59 {
60 public:
62  virtual QVariant data(int column, int role) const;
63 
64  void setPaletteParent(DtSimulationObjectEditorSystemList* p) { myPaletteParent = p; };
65  bool isInMasterSMS() const;
66 
67  virtual DtComponentSystemDefinition* proxyModel() const;
68  virtual DtFilename systemFilename() const;
69 
70  virtual bool operator<(const QTreeWidgetItem & other ) const;
71 
72  virtual void setShowWarning(bool);
73  bool showWarning() const
74  {
75  return myShowWarning;
76  }
77 
78  virtual void setWarning(const QString&);
79  const QString& warning() const
80  {
81  return myWarning;
82  }
83 
84 protected:
87  QImage* myWarningIcon;
88  QString myWarning;
90 };
91 
93 {
94  Q_OBJECT
95 
96 public:
97 
100 
103 
105  virtual void init();
106 
108  {
109  return mySystems;
110  }
111 
113  virtual void setShowIncluded(bool);
114  bool showIncluded() const
115  {
116  return myShowIncluded;
117  }
118 
120  virtual void setShowAllTags(bool);
121  bool showAllTags() const
122  {
123  return myShowAllTags;
124  }
125 
126  virtual bool selectSystem(const DtFilename&, bool forceReselect = true);
127 
128  virtual void addFilterFunction(DtSystemFilterFunction f);
129 
130  virtual void setRightClickEnabled(bool);
131  bool rightClickEnabled() const
132  {
133  return myRightClickEnabled;
134  }
135 
136  virtual QString textFilter() const;
137  virtual void setTextFilter(const QString&);
138  virtual void selectCategory(const QString&);
139  virtual void copyListContentsToClipboard();
140 
141  virtual bool selectedIsInMasterSMS() const;
142 
143  virtual void clear();
144 
145  bool executingFilter() const;
146  virtual QSize sizeHint() const;
147  virtual QSize minimumSizeHint() const;
148  virtual QStringList selectedNames() const;
149  virtual void selectNames(const QStringList&);
150  virtual int selectedItemsCount() const;
151 
152  virtual QString selectedPath() const;
153  virtual void selectPath(const QString& path);
154 
155  virtual bool canRevertExisting() const;
156  virtual void revertExisting();
157 
158  virtual DtComponentSystemDefinition* systemFor(QTreeWidgetItem*) const;
159  virtual void fillInList();
160  virtual std::vector<std::string> selectedCategories() const;
161  virtual QTreeWidgetItem* selectedItem() const;
162 
163  bool hasSelection() const;
164 
166  virtual bool canDeleteExisting(bool any = false) const;
167 
168  virtual std::vector<DtComponentSystemDefinition*> selectedSystems() const;
169  virtual std::vector<DtComponentSystemDefinition*> getRevertableSystems() const;
170 
171  virtual std::vector<QTreeWidgetItem*> itemsFor(const std::vector<DtComponentSystemDefinition*>&) const;
172  virtual QTreeWidgetItem* itemFor(const DtComponentSystemDefinition*) const;
173 
174  boost::signals2::signal<void ()> signal_itemSelectionChanged;
175 
176 protected:
177  virtual makVrf::DtTreeWidget* createSystemsList(QWidget* p);
178 
179  virtual DtSystemPaletteFilter* createFilter();
180  virtual DtSystemPaletteItem* createPaletteItem();
181  virtual DtSystemPaletteItem* createPaletteItem(const DtFilename&, DtComponentSystemDefinition*);
182  virtual bool checkSMSValid(QTreeWidgetItem*) const;
183  virtual void slot_systemEntryAdded(DtComponentSystemDefinition*);
184  virtual void slot_systemAboutToBeRemoved(DtComponentSystemDefinition*);
185  virtual void slot_processUIEvent(const DtUiElementEvent& e);
186  virtual void runHealthCheck();
187  virtual void updateHealthResults();
188 
189 public slots:
190  virtual void executeFilter();
191  virtual void executeTextFilter();
192  virtual void selectionChanged();
193  virtual void deleteExisting();
194 
195 protected slots:
196  virtual void resetTextFilter();
197  virtual void itemRightClicked(QTreeWidgetItem*, QMouseEvent*);
198 
199 signals:
200  void healthCheckResults(const QString&);
201 
202 public:
206  QGridLayout* myControlsLayout;
207 
211 
212  QSplitter* mySplitter;
214 
215 protected:
220 
221  typedef std::map<const DtComponentSystemDefinition*, QTreeWidgetItem*> PaletteItems;
224 
227  QPixmap myWarningIcon;
228 };
229 
232 {
233 public:
236 
239 
242 
244  static void registerInstance(makVrv::DtDe&, DtSimulationObjectEditorSystemListCreator*);
245 
247  virtual DtSimulationObjectEditorSystemList* create(QWidget* parent);
248 
249 protected:
251 };
252 
253 
255 {
256  return myExecutingFilter;
257 }
258 
260 {
261  return (mySystems && (mySystems->selectedItems().count() != 0));
262 }
263 
265 {
266 public:
269 
270 protected:
271  virtual void paint(QPainter *painter,
272  const QStyleOptionViewItem &option,
273  const QModelIndex &index) const;
274 };
bool showAllTags() const
Definition: simulationObjectEditorSystemList.h:121
std::set< std::string > myTags
Definition: simulationObjectEditorSystemList.h:54
DtSimulationObjectEditorSystemListItemDelegate(QWidget *parent)
Definition: simulationObjectEditorSystemList.h:267
makVrv::DtDe & myDe
Definition: simulationObjectEditorSystemList.h:250
Definition: treeWidget.h:33
bool rightClickEnabled() const
Definition: simulationObjectEditorSystemList.h:131
bool myRightClickEnabled
Definition: simulationObjectEditorSystemList.h:219
Virtual base class.
Definition: DtVirtualBaseClass.h:22
std::map< const DtComponentSystemDefinition *, QTreeWidgetItem * > PaletteItems
Definition: simulationObjectEditorSystemList.h:221
Definition: simulationObjectEditorSystemList.h:39
makVrv::DtDe & myDe
Definition: simulationObjectEditorSystemList.h:225
const QString & warning() const
Definition: simulationObjectEditorSystemList.h:79
QSplitter * mySplitter
Definition: simulationObjectEditorSystemList.h:212
DtSystemPaletteFilter * myFilter
Definition: simulationObjectEditorSystemList.h:205
bool showWarning() const
Definition: simulationObjectEditorSystemList.h:73
QGridLayout * myControlsLayout
Definition: simulationObjectEditorSystemList.h:206
bool hasSelection() const
Definition: simulationObjectEditorSystemList.h:259
virtual DtSystemPaletteFilter * clone() const
Definition: simulationObjectEditorSystemList.h:48
virtual ~DtSimulationObjectEditorSystemListItemDelegate()
Definition: simulationObjectEditorSystemList.h:268
QLineEdit * mySearch
Definition: simulationObjectEditorSystemList.h:209
bool myShowAllTags
Definition: simulationObjectEditorSystemList.h:218
QString myWarning
Definition: simulationObjectEditorSystemList.h:88
bool myExecutingFilter
Definition: simulationObjectEditorSystemList.h:216
makVrf::DtTreeWidget * mySystems
Definition: simulationObjectEditorSystemList.h:203
bool executingFilter() const
Definition: simulationObjectEditorSystemList.h:254
DtSimulationObjectEditorSystemList * myPaletteParent
Definition: simulationObjectEditorSystemList.h:85
void setPaletteParent(DtSimulationObjectEditorSystemList *p)
Definition: simulationObjectEditorSystemList.h:64
bool myShowIncluded
Definition: simulationObjectEditorSystemList.h:217
DtFilename mySelectSystemIfAvailable
Definition: simulationObjectEditorSystemList.h:223
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
const int DtSystemFilenameRole
Definition: simulationObjectEditorSystemList.h:35
makVrv::DtDe & myDe
Definition: simulationObjectEditorSystemList.h:55
DtSimulationObjectEditorTagSelectorWidget * myTags
Definition: simulationObjectEditorSystemList.h:204
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtDe & myDe
Definition: simulationObjectEditorSystemList.h:86
makVrf::DtTreeWidget * systemsList()
Definition: simulationObjectEditorSystemList.h:107
QWidget * myControlsWidget
Definition: simulationObjectEditorSystemList.h:213
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
QLabel * mySearchLabel
Definition: simulationObjectEditorSystemList.h:208
bool myShowWarning
Definition: simulationObjectEditorSystemList.h:89
QPushButton * myResetButton
Definition: simulationObjectEditorSystemList.h:210
boost::function< bool(const DtComponentSystemDefinition *)> DtSystemFilterFunction
Definition: simulationObjectEditorSystemList.h:37
makVrv::DtSignalConnectionManager myConnections
Definition: simulationObjectEditorSystemList.h:226
Definition: simulationObjectEditorSystemList.h:58
Contains makVrf::DtTagSelectorWidget class.
Definition: simulationObjectEditorTagSelectorWidget.h:14
Creator for the list.
Definition: simulationObjectEditorSystemList.h:231
Definition: simulationObjectEditorSystemList.h:264
Base class to provide boost signal/slot management.
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
boost::signals2::signal< void()> signal_itemSelectionChanged
Definition: simulationObjectEditorSystemList.h:174
QImage * myWarningIcon
Definition: simulationObjectEditorSystemList.h:87
The DtUiElement class is the base for which all UI elements are defined.
Definition: uiElement.h:92
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QPixmap myWarningIcon
Definition: simulationObjectEditorSystemList.h:227
Definition: simulationObjectEditorSystemList.h:92
PaletteItems myPaletteItems
Definition: simulationObjectEditorSystemList.h:222
bool showIncluded() const
Definition: simulationObjectEditorSystemList.h:114
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:32
const int DtSystemDefinitionRole
Definition: simulationObjectEditorSystemList.h:34

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)