VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
scriptedTasksMetaDataDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
19 
20 #include <QDialog>
21 
22 namespace makVrv
23 {
24  class DtDe;
25 }
26 
27 class DtSimMessage;
28 class QTreeWidgetItem;
29 class QPushButton;
30 class QVBoxLayout;
31 class QAction;
32 class QMenuBar;
33 class QMenu;
34 class QComboBox;
35 class QLineEdit;
36 class QLabel;
37 class QListWidget;
38 class QCheckBox;
39 
40 namespace makVrf
41 {
42  class DtScriptedTaskMetaDataDialog;
43 
44  #define DtScriptedTaskDragType "text/x-vrlScriptedTaskDragging@Type"
45 
49  {
50  public:
51  typedef std::map<QTreeWidgetItem*, QTreeWidgetItem*> ScriptedTaskItem;
52  typedef std::map<std::string, ScriptedTaskItem> ScriptedTaskItems;
53 
56 
58  virtual ~DtScriptedTaskTreeWidget();
59 
61  virtual bool selectedScriptIsSystemScript() const;
62 
64  virtual bool selectedItemIsFolder() const;
65 
67  virtual bool itemIsFolder(QTreeWidgetItem*) const;
68 
70  virtual bool allSelectedItemsAreScripts() const;
71 
74  virtual QString getFolderName(QTreeWidgetItem*, const QString& current = "");
75 
77  virtual QTreeWidgetItem* addFolder(QTreeWidgetItem* root, const QString&, bool select = true);
78 
80  virtual bool systemScriptsInFolder(QTreeWidgetItem*) const;
81 
83  virtual bool selectedItemCanEditScript() const;
84 
86  virtual QTreeWidgetItem* findScriptItem(const QString& scriptId);
87 
90  virtual QTreeWidgetItem* findFolder(const QString& path, QTreeWidgetItem* root = 0);
91 
94  virtual void setFolderPaths(QTreeWidgetItem*);
95 
98  virtual std::string folderPathToItem(QTreeWidgetItem*) const;
99 
101  virtual std::string folderPathToSelectedItem() const;
102 
104  virtual std::vector<std::string> scriptIdsInFolder(QTreeWidgetItem*) const;
105 
107  virtual std::set<std::string> selectedScriptIds() const;
108 
110  virtual QSize sizeHint(QTreeWidgetItem*) const;
111 
112  const ScriptedTaskItems& scriptedTaskItems() const
113  {
114  return myScriptedTaskItems;
115  }
116 
118  virtual void updateFrameRates(DtSimMessage*);
119 
121  virtual QTreeWidgetItem* addScriptedTask(const std::string&, QTreeWidgetItem* root = 0, bool addToFolder = true);
122 
124  virtual bool removeScriptedTask(const std::string&);
125 
127  virtual void scriptModified(const std::string&, bool);
128 
130  virtual void clear();
131 
133  virtual void setEditable(bool b);
134  virtual bool editable() const;
135 
137  virtual void scriptModifiedCleared();
138 
140  virtual void scriptErrorStatusChanged(const std::string&);
141 
144  virtual void filterByScriptEngine(const std::set<std::string>& showEngines);
145  virtual bool filterByScriptEngine(QTreeWidgetItem*, const std::set<std::string>& showEngines);
147 
148  protected:
150  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> list) const;
151 
154  virtual void dragEnterEvent(QDragEnterEvent* event);
155 
157  virtual void dragMoveEvent(QDragMoveEvent* event);
158 
160  virtual void dropItems(const QStringList&, QTreeWidgetItem*);
161 
163  virtual bool dropMimeData(QTreeWidgetItem* parent, int index, const QMimeData* mimeData, Qt::DropAction action);
164 
166  virtual void keyPressEvent(QKeyEvent*);
167 
169  virtual void statusUpdate(QTreeWidgetItem* item, const std::string& scriptId);
170 
173  virtual QIcon composeIcon(const DtScriptedTaskMetaData&) const;
174 
175  public:
176  boost::signal<void ()> signal_deleteRequested;
177 
178  protected:
181  };
182 
186  {
187  Q_OBJECT
188 
189  public:
190  DtScriptedTasksMetaDataDialog(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& flags = 0);
192 
194  virtual void onAddNewScript(int);
195 
196  protected:
197  virtual void slot_aboutToClearScriptedTasks();
198  virtual void slot_scriptedTaskAboutToBeRemoved(std::string scriptId);
199  virtual void slot_scriptedTaskAdded(std::string scriptId, bool updateEntityTypeCombo = true);
200  virtual void slot_receivedScriptedTasks();
201  virtual void updateActions();
202 
203  virtual DtScriptedTaskMetaDataDialog* createScriptedTaskMetaDataDialog();
204 
207  virtual void selectToImport(const std::vector<DtScriptedTaskMetaData>&);
208 
211  virtual void slot_adding(const std::string& id);
212 
214  virtual void slot_scriptErrorChange(std::string scriptId, bool hasError, std::string error);
215 
217  virtual void showAllItems();
218 
221  virtual void filterByScriptEngine();
223 
227  virtual void filterByScriptType();
228  virtual bool filterByScriptType(QTreeWidgetItem*);
230 
231 
235  virtual void filterByScriptAccess();
236  virtual bool filterByScriptAccess(QTreeWidgetItem*);
238 
242  virtual void filterByEntityType();
243  virtual bool filterByEntityType(QTreeWidgetItem*);
245 
249  virtual void filterBySearchString();
250  virtual bool filterBySearchString(QTreeWidgetItem*);
252 
255  virtual void updateEntityTypeCombo();
256 
258  virtual void slot_scriptModified(std::string& scriptId, bool modified);
259 
261  virtual void slot_scriptModifiedCleared();
262 
263  protected slots:
264  virtual void systemAvailabilityChanged(QTreeWidgetItem*,int);
265  virtual void onMetaDataSelected();
266  virtual void onEditSelectedMetaData();
267  virtual void onViewSelectedMetaData();
268  virtual void onAddMetaData();
269  virtual void onAddReactiveMetaData();
270  virtual void onDuplicateMetaData();
271  virtual void onDeleteMetaData();
272  virtual void onEditScript();
273  virtual void onEditExternalScript();
274  virtual void onShowVrfLuaDocHelp();
275  virtual void onShowLuaDocHelp();
276  virtual void onViewScriptError();
277  virtual void onImportScripts();
278  virtual void onExportScripts();
279  virtual void onMakeSystemScript();
280 
281  virtual void onAddFolder();
282  virtual void onRenameFolder();
283  virtual void onDeleteFolder();
284  virtual void onRightClickOnItem(QTreeWidgetItem*, QMouseEvent* e, int col);
285 
287  virtual void filterItems();
288 
290  virtual void resetFilters();
291 
293  virtual void selectAllToImport();
294 
296  virtual void clearAllToImport();
297 
299  virtual void onRemoveFromFolder();
300 
302  virtual void onMetaDataDialogClosed(QObject* dlg);
303 
304  protected:
306  virtual void onDeleteItem();
307 
308  virtual void receivedScriptsToExport(DtSimMessage* msg, int requestId, QString filenameToExportTo);
309 
311  virtual void receivedFrameRates(DtSimMessage* msg);
312 
315  virtual bool continueWithSystemScriptEdit();
316 
318  virtual void closeEvent(QCloseEvent*);
319 
321  virtual void showEvent(QShowEvent*);
322 
324  virtual void slot_scriptedTaskSettingsChanged();
325 
327  virtual void receivedScriptForMetaDataDuplication(DtSimMessage*);
328 
330  virtual void slot_scriptedTaskTypeAdded(int);
331 
333  virtual void slot_scriptedTaskTypeRemoved(int);
334 
335  public:
350 
367 
373 
374  QMenuBar* myMenuBar;
375 
376  protected:
379 
380  std::string myAddingScript;
381 
382  QListWidget* myImportList;
383 
385 
386  typedef std::map<int, std::string> PendingDuplications;
388 
391  std::map<std::string, DtScriptedTaskMetaDataDialog*> myOpenMetaDataDialogs;
392  };
393 
396  {
397  public:
400 
402  static void registerInstance(makVrv::DtDe&, DtScriptedTasksMetaDataDialogCreator*);
403 
404  virtual DtScriptedTasksMetaDataDialog* create(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags&f = 0);
405  };
406 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)