VR-Forces 5.0.3 Developer's Guide
 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 
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 QToolButton;
34 class QCheckBox;
35 class DtSimMessage;
36 class QHBoxLayout;
37 
38 namespace makVrf
39 {
40  class DtDesignerEditor;
41  class DtTaskSetVariableWidgetInterface;
42  class DtTaskSetVariableWidgetExtensionInterface;
43  class DtConfigurableMenuAssembler;
44  class DtMenuPathSelector;
45  class DtToolbarPathSelector;
46 
49  {
50  Q_OBJECT
51 
52  public:
53  //CTOR
54  DtScriptedTaskVariableDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
55 
56  //DTOR
58 
60  virtual void init(const DtScriptedTaskMetaData&);
61 
63  virtual void accept(DtScriptedTaskMetaData&);
64 
66  virtual void setReadOnly(bool);
67 
68  const std::vector<DtScriptedTaskVariable>& variables() const;
69 
72  virtual std::string generateCommentBlock() const;
73 
74  static std::string generateCommentBlock(makVrv::DtDe& de, const std::vector<DtScriptedTaskVariable>&, bool isSetBlock);
75 
77  virtual void setScriptId(const std::string&);
78 
79  virtual void setIsSet(bool b);
80  bool isSet() const;
81 
82  virtual void setAdding(bool);
83  bool adding() const;
84 
86  virtual void setUseUiDesigner(bool);
87  virtual bool useUiDesigner() const;
88 
89  virtual const std::string& uiLayout() const;
90 
92  virtual void setUiLayout(const std::string&);
93 
94  virtual void setDescription(const std::string&);
95 
97  virtual void receivedUiLayout(DtSimMessage*);
98 
100  virtual void requestUiLayout();
101 
102  boost::signals2::signal<void ()> signal_variablesUpdatedFromDesigner;
103  boost::signals2::signal<void ()> signal_receivedUiLayout;
104 
105  protected:
106  virtual void onUiLayoutEditingComplete(const std::string& scriptId);
107  virtual void onUiLayoutSaved(const std::string& scriptId, const std::string&, const std::vector<DtScriptedTaskVariable>&);
108 
109  protected slots:
110  virtual void onMoveUp();
111  virtual void onMoveDown();
112  virtual void onShowTaskParameterComments();
113  virtual void copyCommentsToClipboard();
114  virtual void useUiDesignerChanged();
115  virtual void onEditDesignerCode();
116 
117  protected:
118  virtual void setupVariables();
119  virtual int variableIndexFrom(int row) const;
120  virtual void onItemSelected();
121  virtual void onAdd();
122  virtual void onUpdate();
123  virtual void onDelete();
124  virtual void moveItemFrom(int from, int to);
125 
126  public:
130 
131  QHBoxLayout* myUiDesignerLayout;
134 
135  protected:
136  std::vector<DtScriptedTaskVariable> myVariables;
138  std::string myScriptId;
139  bool myIsSet;
140  std::string myUiLayout;
142  std::string myDescription;
143  bool myAdding;
145  };
146 
150  {
151  public:
153  virtual ~DtParameterNameValidator();
154 
156  virtual State validate(QString &, int &) const;
157  };
158 
161  {
162  Q_OBJECT
163 
164  public:
165  DtScriptedTaskVariableDialog(makVrv::DtDe&, QWidget*, const Qt::WindowFlags& flags = 0);
166  virtual ~DtScriptedTaskVariableDialog();
167 
168  virtual void init(const DtString& module, const DtScriptedTaskVariable&);
169 
170  virtual DtScriptedTaskVariable scriptedTaskVariable() const;
171 
173  virtual void view();
174 
175  protected:
176  virtual void accept();
177 
178  protected slots:
179  virtual void parameterTypeChanged();
180  virtual void parameterNameChanged();
181 
182  public:
183  Ui_DtScriptedTaskVariableDialogUi myUiImpl;
184 
185  protected:
192  };
193 
196  {
197  Q_OBJECT
198 
199  public:
200  //CTOR
201  DtScriptedTaskMenuLocationsDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
202 
203  //DTOR
205 
207  virtual void init(const DtScriptedTaskMetaData&);
208 
210  virtual void accept(DtScriptedTaskMetaData&);
211 
213  virtual void setReadOnly(bool);
214 
216  virtual void setMenuText(const QString&);
217 
219  virtual bool processing() const;
220 
222  virtual void setupForSets();
223 
225  virtual void setupForTasks();
226 
228  boost::signals2::signal<void ()> signal_processing;
229 
231  boost::signals2::signal<void ()> signal_done;
232 
233  protected:
235  virtual QString selectMenuPath(const QString& curPath = "");
236 
237  virtual bool wouldCreateCircularDependency(const std::string&) const;
238  virtual void addScriptedTaskMenuLocation(const std::string& scriptedTaskId, const std::string&, DtSubMenuConfiguration&) const;
239 
240  protected slots:
241  virtual void showOnTaskMenuChanged();
242  virtual void showOnSetMenuChanged();
243  virtual void onUpdate();
244 
245  public:
254  QWidget* myMenuCanvas;
255 
262 
263  protected:
264  std::vector<std::string> myMenuPaths;
268  bool myIsSet;
269  };
270 
273  {
274  Q_OBJECT
275 
276  public:
277  //CTOR
278  DtScriptedTaskToolbarLocationsDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
279 
280  //DTOR
282 
284  virtual void init(const DtScriptedTaskMetaData&);
285 
287  virtual void accept(DtScriptedTaskMetaData&);
288 
290  virtual void setReadOnly(bool);
291 
293  virtual bool processing() const;
294 
295  virtual std::string selectToolbarPath();
296 
297  virtual void setupForSets();
298  virtual void setupForTasks();
299 
301  boost::signals2::signal<void ()> signal_processing;
302 
304  boost::signals2::signal<void ()> signal_done;
305 
306  protected slots:
307  virtual void showOnTaskToolbarChanged();
308  virtual void showOnSetToolbarChanged();
309  virtual void onUpdate();
310 
311  public:
313  QWidget* myToolbarCanvas;
319 
320  protected:
324  bool myIsSet;
325  };
326 
329  {
330  Q_OBJECT
331 
332  public:
333  //CTOR
334  DtScriptedTaskReactiveTaskDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
335 
336  //DTOR
338 
340  virtual void init(const DtScriptedTaskMetaData&);
341 
343  virtual void accept(DtScriptedTaskMetaData&);
344 
346  virtual void setReadOnly(bool);
347 
349  virtual bool processing() const;
350 
352  virtual void setActionCategories(const std::set<std::string>&);
353 
355  virtual void setEntityTypes(const std::vector<DtEntityType>&);
356 
358  virtual std::string displayStringFor(const DtEntityType&) const;
359 
361  boost::signals2::signal<void ()> signal_processing;
362 
364  boost::signals2::signal<void ()> signal_done;
365 
366  protected slots:
367  virtual void onDisplayScriptedTaskPriorities();
368 
369  public:
371  QIntValidator* myValidator;
375  QHBoxLayout* myPriorityLayout;
376 
377  protected:
380  std::string myScriptId;
381  std::set<std::string> myActionCategories;
382  std::vector<DtEntityType> myEntityTypes;
383  };
384 }
QLabel * myToolbarLocation
Definition: scriptedTaskDataWidgets.h:314
DtMenuPathSelector * myTaskMenuPathSelector
Definition: scriptedTaskDataWidgets.h:246
Reactive task data information.
Definition: scriptedTaskDataWidgets.h:328
bool myProcessing
Definition: scriptedTaskDataWidgets.h:323
boost::signals2::signal< void()> signal_done
Signal sent when done processing.
Definition: scriptedTaskDataWidgets.h:231
bool myAdding
Definition: scriptedTaskDataWidgets.h:143
Variable data entry.
Definition: scriptedTaskDataWidgets.h:48
QLabel * myToolbarLabel
Definition: scriptedTaskDataWidgets.h:315
DtMenuPathSelector * mySetMenuPathSelector
Definition: scriptedTaskDataWidgets.h:247
bool myProcessing
Definition: scriptedTaskDataWidgets.h:267
Menu locations.
Definition: scriptedTaskDataWidgets.h:195
QHBoxLayout * myUiDesignerLayout
Definition: scriptedTaskDataWidgets.h:131
DtToolbarPathSelector * mySetToolbarPathSelector
Definition: scriptedTaskDataWidgets.h:318
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
int myUiLayoutRequestId
Definition: scriptedTaskDataWidgets.h:144
QComboBox * myCommandLevels
Definition: scriptedTaskDataWidgets.h:258
std::vector< DtEntityType > myEntityTypes
Definition: scriptedTaskDataWidgets.h:382
boost::signals2::signal< void()> signal_processing
Signal sent when this dialog is processing (add/update)
Definition: scriptedTaskDataWidgets.h:361
DtScriptedTaskMetaData myScriptedTaskMetaData
Definition: scriptedTaskDataWidgets.h:248
QHBoxLayout * myPriorityLayout
Definition: scriptedTaskDataWidgets.h:375
QCheckBox * myShowOnRightClickTitle
Definition: scriptedTaskDataWidgets.h:250
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:265
std::string myScriptId
Definition: scriptedTaskDataWidgets.h:138
QWidget * myToolbarCanvas
Definition: scriptedTaskDataWidgets.h:313
std::vector< std::string > myMenuPaths
Definition: scriptedTaskDataWidgets.h:264
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
QCheckBox * myTitle
Definition: scriptedTaskDataWidgets.h:249
boost::signals2::signal< void()> signal_processing
Signal sent when this dialog is processing (add/update)
Definition: scriptedTaskDataWidgets.h:228
DtString myModule
Definition: scriptedTaskDataWidgets.h:191
QWidget * myMenuCanvas
Definition: scriptedTaskDataWidgets.h:254
Class for editing scripted task variables.
Definition: scriptedTaskDataWidgets.h:160
std::string myScriptId
Definition: scriptedTaskDataWidgets.h:380
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:322
QPushButton * myDisplayScriptedTaskPriorities
Definition: scriptedTaskDataWidgets.h:374
QWidget * myCommandLevelsCanvas
Definition: scriptedTaskDataWidgets.h:256
bool myProcessing
Definition: scriptedTaskDataWidgets.h:379
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:186
boost::signals2::signal< void()> signal_variablesUpdatedFromDesigner
Definition: scriptedTaskDataWidgets.h:102
File: simMsg.h.
Definition: simMessage.h:35
Toolbar locations.
Definition: scriptedTaskDataWidgets.h:272
Definition: asyncJobServer.h:36
QCheckBox * myEnabled
Definition: scriptedTaskDataWidgets.h:373
makVrv::DtSignalConnectionManager myConnections
Definition: scriptedTaskDataWidgets.h:141
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:378
std::set< std::string > myActionCategories
Definition: scriptedTaskDataWidgets.h:381
A class for keeping track of meta data for variables of scripted tasks. The information is currently ...
Definition: scriptedTaskVariable.h:34
QLineEdit * myPriority
Definition: scriptedTaskDataWidgets.h:370
boost::signals2::signal< void()> signal_receivedUiLayout
Definition: scriptedTaskDataWidgets.h:103
QToolButton * myMoveUp
Definition: scriptedTaskDataWidgets.h:128
QLabel * myPriorityLabel
Definition: scriptedTaskDataWidgets.h:372
QToolButton * myUpdate
Definition: scriptedTaskDataWidgets.h:316
bool myIsSet
Definition: scriptedTaskDataWidgets.h:268
std::string myDescription
Definition: scriptedTaskDataWidgets.h:142
Series of classes that will provide entry for multiple elements of a similar kind (variables...
Definition: scriptedTaskDataWidget.h:28
DtString myModule
Definition: scriptedTaskDataWidgets.h:137
QToolButton * myEditUiLayout
Definition: scriptedTaskDataWidgets.h:133
std::vector< DtScriptedTaskVariable > myVariables
Definition: scriptedTaskDataWidgets.h:136
DtTaskSetVariableWidgetExtensionInterface * myParameterExtension
Definition: scriptedTaskDataWidgets.h:188
Base class to provide boost signal/slot management.
QToolButton * myShowTaskParameterComments
Definition: scriptedTaskDataWidgets.h:127
QLabel * myCommandLevelLabel
Definition: scriptedTaskDataWidgets.h:257
Dialog that will allow the selection of a new toolbar path.
Definition: menuPathSelectors.h:136
QIntValidator * myValidator
Definition: scriptedTaskDataWidgets.h:371
bool myReadOnly
Definition: scriptedTaskDataWidgets.h:190
Ui_DtScriptedTaskVariableDialogUi myUiImpl
Definition: scriptedTaskDataWidgets.h:183
QToolButton * myMoveDown
Definition: scriptedTaskDataWidgets.h:129
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
bool myIsSet
Definition: scriptedTaskDataWidgets.h:324
QCheckBox * myUseUiDesigner
Definition: scriptedTaskDataWidgets.h:132
DtScriptedTaskVariable myScriptedTaskVariable
Definition: scriptedTaskDataWidgets.h:189
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
std::string myUiLayout
Definition: scriptedTaskDataWidgets.h:140
QLabel * myMenuLocation
Definition: scriptedTaskDataWidgets.h:251
boost::signals2::signal< void()> signal_processing
Signal sent when this dialog is processing (add/update)
Definition: scriptedTaskDataWidgets.h:301
QToolButton * myUpdate
Definition: scriptedTaskDataWidgets.h:253
DtScriptedTaskMetaData myScriptedTaskMetaData
Definition: scriptedTaskDataWidgets.h:321
bool myIsSet
Definition: scriptedTaskDataWidgets.h:139
bool myResetBeforeUpdate
Definition: scriptedTaskDataWidgets.h:266
class DtScriptedTaskMetaData
Definition: scriptedTaskMetaData.h:56
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:83
QWidget * myIsMagicCommandCanvas
Definition: scriptedTaskDataWidgets.h:259
DtToolbarPathSelector * myTaskToolbarPathSelector
Definition: scriptedTaskDataWidgets.h:317
boost::signals2::signal< void()> signal_done
Signal sent when done processing.
Definition: scriptedTaskDataWidgets.h:364
QLabel * myIsMagicCommandLabel
Definition: scriptedTaskDataWidgets.h:260
boost::signals2::signal< void()> signal_done
Signal sent when done processing.
Definition: scriptedTaskDataWidgets.h:304
DtParameterNameValidator myParameterNameValidator
Definition: scriptedTaskDataWidgets.h:187
QLabel * myMenuLabel
Definition: scriptedTaskDataWidgets.h:252
QCheckBox * myTitle
Definition: scriptedTaskDataWidgets.h:312
Validator for validating parameter names – cannot begin with a number and cannot contain spaces or no...
Definition: scriptedTaskDataWidgets.h:149
QComboBox * myIsMagicCommand
Definition: scriptedTaskDataWidgets.h:261

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)