VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptedTaskDataWidgets.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
17 #include <vrvUtil/signalslib.h>
20 #include "DtScriptedTaskVariableDialogUi.hpp"
21 #endif
22 #include <boost/signals2.hpp>
23 
24 #include <QtWidgets/QDialog>
25 #include <QtGui/QValidator>
26 
27 class QLabel;
28 class QPushButton;
29 class QTreeWidget;
30 class QTreeWidgetItem;
31 class QAction;
32 class QRadioButton;
33 class QCheckBox;
34 class DtSimMessage;
35 
36 namespace makVrf
37 {
38  class DtDesignerEditor;
39  class DtTaskSetVariableWidgetInterface;
40  class DtTaskSetVariableWidgetExtensionInterface;
41  class DtConfigurableMenuAssembler;
42  class DtMenuPathSelector;
43  class DtToolbarPathSelector;
44 
47  {
48  Q_OBJECT
49 
50  public:
51  //CTOR
52  DtScriptedTaskVariableDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
53 
54  //DTOR
56 
58  virtual void init(const DtScriptedTaskMetaData&);
59 
61  virtual void accept(DtScriptedTaskMetaData&);
62 
64  virtual void setReadOnly(bool);
65 
66  const std::vector<DtScriptedTaskVariable>& variables() const;
67 
70  virtual std::string generateCommentBlock() const;
71 
72  static std::string generateCommentBlock(makVrv::DtDe& de, const std::vector<DtScriptedTaskVariable>&, bool isSetBlock);
73 
75  virtual void setScriptId(const std::string&);
76 
77  virtual void setIsSet(bool b);
78  bool isSet() const;
79 
80  virtual void setAdding(bool);
81  bool adding() const;
82 
84  virtual void setUseUiDesigner(bool);
85  virtual bool useUiDesigner() const;
86 
87  virtual const std::string& uiLayout() const;
88 
90  virtual void setUiLayout(const std::string&);
91 
92  virtual void setDescription(const std::string&);
93 
95  virtual void receivedUiLayout(DtSimMessage*);
96 
98  virtual void requestUiLayout();
99 
100  boost::signals2::signal<void ()> signal_variablesUpdatedFromDesigner;
101  boost::signals2::signal<void ()> signal_receivedUiLayout;
102 
103  protected:
104  virtual void onUiLayoutEditingComplete(const std::string& scriptId);
105  virtual void onUiLayoutSaved(const std::string& scriptId, const std::string&, const std::vector<DtScriptedTaskVariable>&);
106 
107  protected slots:
108  virtual void onMoveUp();
109  virtual void onMoveDown();
110  virtual void onShowTaskParameterComments();
111  virtual void copyCommentsToClipboard();
112  virtual void useUiDesignerChanged();
113  virtual void onEditDesignerCode();
114 
115  protected:
116  virtual void setupVariables();
117  virtual int variableIndexFrom(int row) const;
118  virtual void onItemSelected();
119  virtual void onAdd();
120  virtual void onUpdate();
121  virtual void onDelete();
122  virtual void moveItemFrom(int from, int to);
123 
124  public:
128 
129  QHBoxLayout* myUiDesignerLayout;
132 
133  protected:
134  std::vector<DtScriptedTaskVariable> myVariables;
136  std::string myScriptId;
137  bool myIsSet;
138  std::string myUiLayout;
140  std::string myDescription;
141  bool myAdding;
143  };
144 
148  {
149  public:
151  virtual ~DtParameterNameValidator();
152 
154  virtual State validate(QString &, int &) const;
155  };
156 
159  {
160  Q_OBJECT
161 
162  public:
163  DtScriptedTaskVariableDialog(makVrv::DtDe&, QWidget*, const Qt::WindowFlags& flags = 0);
164  virtual ~DtScriptedTaskVariableDialog();
165 
166  virtual void init(const DtString& module, const DtScriptedTaskVariable&);
167 
168  virtual DtScriptedTaskVariable scriptedTaskVariable() const;
169 
171  virtual void view();
172 
173  protected:
174  virtual void accept();
175 
176  protected slots:
177  virtual void parameterTypeChanged();
178  virtual void parameterNameChanged();
179 
180  public:
181  Ui_DtScriptedTaskVariableDialogUi myUiImpl;
182 
183  protected:
190  };
191 
194  {
195  Q_OBJECT
196 
197  public:
198  //CTOR
199  DtScriptedTaskMenuLocationsDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
200 
201  //DTOR
203 
205  virtual void init(const DtScriptedTaskMetaData&);
206 
208  virtual void accept(DtScriptedTaskMetaData&);
209 
211  virtual void setReadOnly(bool);
212 
214  virtual void setMenuText(const QString&);
215 
217  virtual bool processing() const;
218 
220  virtual void setupForSets();
221 
223  virtual void setupForTasks();
224 
226  boost::signals2::signal<void ()> signal_processing;
227 
229  boost::signals2::signal<void ()> signal_done;
230 
231  protected:
233  virtual QString selectMenuPath(const QString& curPath = "");
234 
235  virtual bool wouldCreateCircularDependency(const std::string&) const;
236  virtual void addScriptedTaskMenuLocation(const std::string& scriptedTaskId, const std::string&, DtSubMenuConfiguration&) const;
237 
238  protected slots:
239  virtual void showOnTaskMenuChanged();
240  virtual void showOnSetMenuChanged();
241  virtual void onUpdate();
242 
243  public:
252  QWidget* myMenuCanvas;
253 
254  protected:
255  std::vector<std::string> myMenuPaths;
259  bool myIsSet;
260  };
261 
264  {
265  Q_OBJECT
266 
267  public:
268  //CTOR
269  DtScriptedTaskToolbarLocationsDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
270 
271  //DTOR
273 
275  virtual void init(const DtScriptedTaskMetaData&);
276 
278  virtual void accept(DtScriptedTaskMetaData&);
279 
281  virtual void setReadOnly(bool);
282 
284  virtual bool processing() const;
285 
286  virtual std::string selectToolbarPath();
287 
288  virtual void setupForSets();
289  virtual void setupForTasks();
290 
292  boost::signals2::signal<void ()> signal_processing;
293 
295  boost::signals2::signal<void ()> signal_done;
296 
297  protected slots:
298  virtual void showOnTaskToolbarChanged();
299  virtual void showOnSetToolbarChanged();
300  virtual void onUpdate();
301 
302  public:
304  QWidget* myToolbarCanvas;
310 
311  protected:
315  bool myIsSet;
316  };
317 
320  {
321  Q_OBJECT
322 
323  public:
324  //CTOR
325  DtScriptedTaskReactiveTaskDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
326 
327  //DTOR
329 
331  virtual void init(const DtScriptedTaskMetaData&);
332 
334  virtual void accept(DtScriptedTaskMetaData&);
335 
337  virtual void setReadOnly(bool);
338 
340  virtual bool processing() const;
341 
343  virtual void setActionCategories(const std::set<std::string>&);
344 
346  virtual void setEntityTypes(const std::vector<DtEntityType>&);
347 
349  virtual std::string displayStringFor(const DtEntityType&) const;
350 
352  boost::signals2::signal<void ()> signal_processing;
353 
355  boost::signals2::signal<void ()> signal_done;
356 
357  protected slots:
358  virtual void onDisplayScriptedTaskPriorities();
359 
360  public:
362  QIntValidator* myValidator;
366  QHBoxLayout* myPriorityLayout;
367 
368  protected:
371  std::string myScriptId;
372  std::set<std::string> myActionCategories;
373  std::vector<DtEntityType> myEntityTypes;
374  };
375 }
QLabel * myToolbarLocation
Definition: scriptedTaskDataWidgets.h:305
DtMenuPathSelector * myTaskMenuPathSelector
Definition: scriptedTaskDataWidgets.h:244
Reactive task data information.
Definition: scriptedTaskDataWidgets.h:319
bool myProcessing
Definition: scriptedTaskDataWidgets.h:314
boost::signals2::signal< void()> signal_done
Signal sent when done processing.
Definition: scriptedTaskDataWidgets.h:229
bool myAdding
Definition: scriptedTaskDataWidgets.h:141
Variable data entry.
Definition: scriptedTaskDataWidgets.h:46
QLabel * myToolbarLabel
Definition: scriptedTaskDataWidgets.h:306
DtMenuPathSelector * mySetMenuPathSelector
Definition: scriptedTaskDataWidgets.h:245
bool myProcessing
Definition: scriptedTaskDataWidgets.h:258
Menu locations.
Definition: scriptedTaskDataWidgets.h:193
QHBoxLayout * myUiDesignerLayout
Definition: scriptedTaskDataWidgets.h:129
DtToolbarPathSelector * mySetToolbarPathSelector
Definition: scriptedTaskDataWidgets.h:309
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
int myUiLayoutRequestId
Definition: scriptedTaskDataWidgets.h:142
std::vector< DtEntityType > myEntityTypes
Definition: scriptedTaskDataWidgets.h:373
boost::signals2::signal< void()> signal_processing
Signal sent when this dialog is processing (add/update)
Definition: scriptedTaskDataWidgets.h:352
DtScriptedTaskMetaData myScriptedTaskMetaData
Definition: scriptedTaskDataWidgets.h:246
QPushButton * myUpdate
Definition: scriptedTaskDataWidgets.h:251
QHBoxLayout * myPriorityLayout
Definition: scriptedTaskDataWidgets.h:366
QCheckBox * myShowOnRightClickTitle
Definition: scriptedTaskDataWidgets.h:248
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:256
std::string myScriptId
Definition: scriptedTaskDataWidgets.h:136
QWidget * myToolbarCanvas
Definition: scriptedTaskDataWidgets.h:304
std::vector< std::string > myMenuPaths
Definition: scriptedTaskDataWidgets.h:255
Subclass for additional functionality needed by VRF.
Definition: subMenuConfiguration.h:73
Dialog that will allow the selection of a new menu path and creation of sub-menu paths.
Definition: menuPathSelectors.h:41
QPushButton * myUpdate
Definition: scriptedTaskDataWidgets.h:307
QCheckBox * myTitle
Definition: scriptedTaskDataWidgets.h:247
boost::signals2::signal< void()> signal_processing
Signal sent when this dialog is processing (add/update)
Definition: scriptedTaskDataWidgets.h:226
DtString myModule
Definition: scriptedTaskDataWidgets.h:189
QWidget * myMenuCanvas
Definition: scriptedTaskDataWidgets.h:252
Class for editing scripted task variables.
Definition: scriptedTaskDataWidgets.h:158
std::string myScriptId
Definition: scriptedTaskDataWidgets.h:371
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:313
QPushButton * myMoveDown
Definition: scriptedTaskDataWidgets.h:127
QPushButton * myDisplayScriptedTaskPriorities
Definition: scriptedTaskDataWidgets.h:365
bool myProcessing
Definition: scriptedTaskDataWidgets.h:370
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:184
boost::signals2::signal< void()> signal_variablesUpdatedFromDesigner
Definition: scriptedTaskDataWidgets.h:100
File: simMsg.h.
Definition: simMessage.h:35
Toolbar locations.
Definition: scriptedTaskDataWidgets.h:263
Definition: asyncJobServer.h:36
QCheckBox * myEnabled
Definition: scriptedTaskDataWidgets.h:364
makVrv::DtSignalConnectionManager myConnections
Definition: scriptedTaskDataWidgets.h:139
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:369
std::set< std::string > myActionCategories
Definition: scriptedTaskDataWidgets.h:372
A class for keeping track of meta data for variables of scripted tasks.
Definition: scriptedTaskVariable.h:31
QLineEdit * myPriority
Definition: scriptedTaskDataWidgets.h:361
boost::signals2::signal< void()> signal_receivedUiLayout
Definition: scriptedTaskDataWidgets.h:101
QPushButton * myShowTaskParameterComments
Definition: scriptedTaskDataWidgets.h:125
QPushButton * myEditUiLayout
Definition: scriptedTaskDataWidgets.h:131
QLabel * myPriorityLabel
Definition: scriptedTaskDataWidgets.h:363
bool myIsSet
Definition: scriptedTaskDataWidgets.h:259
std::string myDescription
Definition: scriptedTaskDataWidgets.h:140
Series of classes that will provide entry for multiple elements of a similar kind (variables...
Definition: scriptedTaskDataWidget.h:27
DtString myModule
Definition: scriptedTaskDataWidgets.h:135
std::vector< DtScriptedTaskVariable > myVariables
Definition: scriptedTaskDataWidgets.h:134
DtTaskSetVariableWidgetExtensionInterface * myParameterExtension
Definition: scriptedTaskDataWidgets.h:186
Base class to provide boost signal/slot management.
Dialog that will allow the selection of a new toolbar path.
Definition: menuPathSelectors.h:136
QIntValidator * myValidator
Definition: scriptedTaskDataWidgets.h:362
bool myReadOnly
Definition: scriptedTaskDataWidgets.h:188
Ui_DtScriptedTaskVariableDialogUi myUiImpl
Definition: scriptedTaskDataWidgets.h:181
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
bool myIsSet
Definition: scriptedTaskDataWidgets.h:315
QCheckBox * myUseUiDesigner
Definition: scriptedTaskDataWidgets.h:130
DtScriptedTaskVariable myScriptedTaskVariable
Definition: scriptedTaskDataWidgets.h:187
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
std::string myUiLayout
Definition: scriptedTaskDataWidgets.h:138
QLabel * myMenuLocation
Definition: scriptedTaskDataWidgets.h:249
boost::signals2::signal< void()> signal_processing
Signal sent when this dialog is processing (add/update)
Definition: scriptedTaskDataWidgets.h:292
DtScriptedTaskMetaData myScriptedTaskMetaData
Definition: scriptedTaskDataWidgets.h:312
bool myIsSet
Definition: scriptedTaskDataWidgets.h:137
bool myResetBeforeUpdate
Definition: scriptedTaskDataWidgets.h:257
Definition: scriptedTaskMetaData.h:48
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:83
DtToolbarPathSelector * myTaskToolbarPathSelector
Definition: scriptedTaskDataWidgets.h:308
boost::signals2::signal< void()> signal_done
Signal sent when done processing.
Definition: scriptedTaskDataWidgets.h:355
boost::signals2::signal< void()> signal_done
Signal sent when done processing.
Definition: scriptedTaskDataWidgets.h:295
DtParameterNameValidator myParameterNameValidator
Definition: scriptedTaskDataWidgets.h:185
QPushButton * myMoveUp
Definition: scriptedTaskDataWidgets.h:126
QLabel * myMenuLabel
Definition: scriptedTaskDataWidgets.h:250
QCheckBox * myTitle
Definition: scriptedTaskDataWidgets.h:303
Validator for validating parameter names – cannot begin with a number and cannot contain spaces or no...
Definition: scriptedTaskDataWidgets.h:147

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)