VR-Forces 4.1.1 Class Documentation
DtScriptedTasksMetaDataDialog.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 
47  {
48  public:
51 
53  virtual ~DtScriptedTaskTreeWidget();
54 
56  virtual bool selectedScriptIsSystemScript() const;
57 
59  virtual bool selectedItemIsFolder() const;
60 
62  virtual bool itemIsFolder(QTreeWidgetItem*) const;
63 
65  virtual bool allSelectedItemsAreScripts() const;
66 
69  virtual QString getFolderName(QTreeWidgetItem*, const QString& current = "");
70 
72  virtual QTreeWidgetItem* addFolder(QTreeWidgetItem* root, const QString&, bool select = true);
73 
75  virtual bool systemScriptsInFolder(QTreeWidgetItem*) const;
76 
78  virtual bool selectedItemCanEditScript() const;
79 
81  virtual QTreeWidgetItem* findScriptItem(const QString& scriptId);
82 
85  virtual QTreeWidgetItem* findFolder(const QString& path, QTreeWidgetItem* root = 0);
86 
89  virtual void setFolderPaths(QTreeWidgetItem*);
90 
93  virtual std::string folderPathToItem(QTreeWidgetItem*) const;
94 
96  virtual std::string folderPathToSelectedItem() const;
97 
99  virtual std::vector<std::string> scriptIdsInFolder(QTreeWidgetItem*) const;
100 
102  virtual QSize sizeHint(QTreeWidgetItem*) const;
103 
104  protected:
106  virtual QMimeData* mimeData(const QList<QTreeWidgetItem*> list) const;
107 
110  virtual void dragEnterEvent(QDragEnterEvent* event);
111 
113  virtual void dragMoveEvent(QDragMoveEvent* event);
114 
116  virtual void dropItems(const QStringList&, QTreeWidgetItem*);
117 
119  virtual bool dropMimeData(QTreeWidgetItem* parent, int index, const QMimeData* mimeData, Qt::DropAction action);
120 
122  virtual void keyPressEvent(QKeyEvent*);
123 
124  public:
125  boost::signal<void ()> signal_deleteRequested;
126 
127  protected:
129  };
130 
134  {
135  Q_OBJECT
136 
137  public:
138  DtScriptedTasksMetaDataDialog(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& flags = 0);
140 
141  protected:
142  virtual void slot_aboutToClearScriptedTasks();
143  virtual void slot_scriptedTaskAboutToBeRemoved(std::string scriptId);
144  virtual void slot_scriptedTaskAdded(std::string scriptId, bool updateEntityTypeCombo = true);
145  virtual void slot_receivedScriptedTasks();
146  virtual void updateActions();
147 
148  virtual DtScriptedTaskMetaDataDialog* createScriptedTaskMetaDataDialog();
149 
152  virtual void selectToImport(const std::vector<DtScriptedTaskMetaData>&);
153 
156  virtual void slot_adding(const std::string& id);
157 
159  virtual void slot_scriptErrorChange(std::string scriptId, bool hasError, std::string error);
160 
162  virtual void showAllItems();
163 
165  virtual void statusUpdate(QTreeWidgetItem* item, const std::string& scriptId);
166 
169  virtual void filterByScriptEngine();
170  virtual bool filterByScriptEngine(QTreeWidgetItem*, const std::set<std::string>& showEngines);
172 
176  virtual void filterByScriptType();
177  virtual bool filterByScriptType(QTreeWidgetItem*);
179 
183  virtual void filterByEntityType();
184  virtual bool filterByEntityType(QTreeWidgetItem*);
186 
190  virtual void filterBySearchString();
191  virtual bool filterBySearchString(QTreeWidgetItem*);
193 
196  virtual void updateEntityTypeCombo();
197 
199  virtual void slot_scriptModified(std::string& scriptId, bool modified);
200 
202  virtual void slot_scriptModifiedCleared();
203 
204  protected slots:
205  virtual void systemAvailabilityChanged(QTreeWidgetItem*,int);
206  virtual void onMetaDataSelected();
207  virtual void onEditSelectedMetaData();
208  virtual void onViewSelectedMetaData();
209  virtual void onAddMetaData();
210  virtual void onDuplicateMetaData();
211  virtual void onDeleteMetaData();
212  virtual void onEditScript();
213  virtual void onEditExternalScript();
214  virtual void onShowVrfLuaDocHelp();
215  virtual void onShowLuaDocHelp();
216  virtual void onViewScriptError();
217  virtual void onImportScripts();
218  virtual void onExportScripts();
219  virtual void onMakeSystemScript();
220 
221  virtual void onAddFolder();
222  virtual void onRenameFolder();
223  virtual void onDeleteFolder();
224  virtual void onRightClickOnItem(QTreeWidgetItem*, QMouseEvent* e, int col);
225 
227  virtual void filterItems();
228 
230  virtual void resetFilters();
231 
233  virtual void selectAllToImport();
234 
236  virtual void clearAllToImport();
237 
239  virtual void onRemoveFromFolder();
240 
241  protected:
243  virtual void onDeleteItem();
244 
245  virtual void receivedScriptsToExport(DtSimMessage* msg, int requestId, QString filenameToExportTo);
246 
248  virtual void receivedFrameRates(DtSimMessage* msg);
249 
252  virtual bool continueWithSystemScriptEdit();
253 
255  virtual void closeEvent(QCloseEvent*);
256 
258  virtual void showEvent(QShowEvent*);
259 
261  virtual void slot_scriptedTaskSettingsChanged();
262 
264  virtual void receivedScriptForMetaDataDuplication(DtSimMessage*);
265 
266  public:
279 
296 
302 
304 
305  protected:
307  std::map<std::string, QTreeWidgetItem*> myScriptedTaskItems;
308  std::map<std::string, QTreeWidgetItem*> myFrameRateItems;
310 
311  std::string myAddingScript;
312 
313  QListWidget* myImportList;
314 
316 
317  typedef std::map<int, std::string> PendingDuplications;
319  };
320 
323  {
324  public:
327 
329  static void registerInstance(makVrv::DtDe&, DtScriptedTasksMetaDataDialogCreator*);
330 
331  virtual DtScriptedTasksMetaDataDialog* create(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags&f = 0);
332  };
333 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)