VR-Forces 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
57  virtual ~DtScriptedTaskVariableDataWidget() override;
58 
60  virtual void init(const DtScriptedTaskMetaData&) override;
61 
63  virtual void accept(DtScriptedTaskMetaData&) override;
64 
66  virtual void setReadOnly(bool) override;
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() override;
121  virtual void onAdd() override;
122  virtual void onUpdate() override;
123  virtual void onDelete() override;
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() override;
154 
156  virtual State validate(QString&, int&) const override;
157  };
158 
161  {
162  Q_OBJECT
163 
164  public:
165  DtScriptedTaskVariableDialog(makVrv::DtDe&, QWidget*, const Qt::WindowFlags& flags = 0);
166  virtual ~DtScriptedTaskVariableDialog() override;
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() override;
177  virtual void showEvent(QShowEvent* e) override;
178 
179  protected slots:
180  virtual void parameterTypeChanged();
181  virtual void parameterNameChanged();
182 
183  public:
184  Ui_DtScriptedTaskVariableDialogUi myUiImpl;
185 
186  protected:
193  };
194 
197  {
198  Q_OBJECT
199 
200  public:
201  //CTOR
202  DtScriptedTaskMenuLocationsDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
203 
204  //DTOR
205  virtual ~DtScriptedTaskMenuLocationsDataWidget() override;
206 
208  virtual void init(const DtScriptedTaskMetaData&);
209 
211  virtual void accept(DtScriptedTaskMetaData&);
212 
214  virtual void setReadOnly(bool);
215 
217  virtual void setMenuText(const QString&);
218 
220  virtual bool processing() const;
221 
223  virtual void setupForSets();
224 
226  virtual void setupForTasks();
227 
229  boost::signals2::signal<void ()> signal_processing;
230 
232  boost::signals2::signal<void ()> signal_done;
233 
234  protected:
236  virtual QString selectMenuPath(const QString& curPath = "");
237 
238  virtual bool wouldCreateCircularDependency(const std::string&) const;
239  virtual void addScriptedTaskMenuLocation(const std::string& scriptedTaskId, const std::string&, DtSubMenuConfiguration&) const;
240 
241  protected slots:
242  virtual void showOnTaskMenuChanged();
243  virtual void showOnSetMenuChanged();
244  virtual void onUpdate();
245 
246  public:
256  QWidget* myMenuCanvas;
257 
264 
265  protected:
266  std::vector<std::string> myMenuPaths;
270  bool myIsSet;
271  };
272 
275  {
276  Q_OBJECT
277 
278  public:
279  //CTOR
280  DtScriptedTaskToolbarLocationsDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
281 
282  //DTOR
283  virtual ~DtScriptedTaskToolbarLocationsDataWidget() override;
284 
286  virtual void init(const DtScriptedTaskMetaData&);
287 
289  virtual void accept(DtScriptedTaskMetaData&);
290 
292  virtual void setReadOnly(bool);
293 
295  virtual bool processing() const;
296 
297  virtual std::string selectToolbarPath();
298 
299  virtual void setupForSets();
300  virtual void setupForTasks();
301 
303  boost::signals2::signal<void ()> signal_processing;
304 
306  boost::signals2::signal<void ()> signal_done;
307 
308  protected slots:
309  virtual void showOnTaskToolbarChanged();
310  virtual void showOnSetToolbarChanged();
311  virtual void onUpdate();
312 
313  public:
315  QWidget* myToolbarCanvas;
321 
322  protected:
326  bool myIsSet;
327  };
328 
331  {
332  Q_OBJECT
333 
334  public:
335  //CTOR
336  DtScriptedTaskReactiveTaskDataWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
337 
338  //DTOR
339  virtual ~DtScriptedTaskReactiveTaskDataWidget() override;
340 
342  virtual void init(const DtScriptedTaskMetaData&);
343 
345  virtual void accept(DtScriptedTaskMetaData&);
346 
348  virtual void setReadOnly(bool);
349 
351  virtual bool processing() const;
352 
354  virtual void setActionCategories(const std::set<std::string>&);
355 
357  virtual void setEntityTypes(const std::vector<DtEntityType>&);
358 
360  virtual std::string displayStringFor(const DtEntityType&) const;
361 
363  boost::signals2::signal<void ()> signal_processing;
364 
366  boost::signals2::signal<void ()> signal_done;
367 
368  protected slots:
369  virtual void onDisplayScriptedTaskPriorities();
370 
371  public:
373  QIntValidator* myValidator;
377  QHBoxLayout* myPriorityLayout;
378 
379  protected:
382  std::string myScriptId;
383  std::set<std::string> myActionCategories;
384  std::vector<DtEntityType> myEntityTypes;
385  };
386 }
QLabel * myToolbarLocation
Definition: scriptedTaskDataWidgets.h:316
DtMenuPathSelector * myTaskMenuPathSelector
Definition: scriptedTaskDataWidgets.h:247
Reactive task data information.
Definition: scriptedTaskDataWidgets.h:330
bool myProcessing
Definition: scriptedTaskDataWidgets.h:325
boost::signals2::signal< void()> signal_done
Signal sent when done processing.
Definition: scriptedTaskDataWidgets.h:232
bool myAdding
Definition: scriptedTaskDataWidgets.h:143
Variable data entry.
Definition: scriptedTaskDataWidgets.h:48
QLabel * myToolbarLabel
Definition: scriptedTaskDataWidgets.h:317
DtMenuPathSelector * mySetMenuPathSelector
Definition: scriptedTaskDataWidgets.h:248
bool myProcessing
Definition: scriptedTaskDataWidgets.h:269
Menu locations.
Definition: scriptedTaskDataWidgets.h:196
QHBoxLayout * myUiDesignerLayout
Definition: scriptedTaskDataWidgets.h:131
DtToolbarPathSelector * mySetToolbarPathSelector
Definition: scriptedTaskDataWidgets.h:320
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
int myUiLayoutRequestId
Definition: scriptedTaskDataWidgets.h:144
QComboBox * myCommandLevels
Definition: scriptedTaskDataWidgets.h:260
std::vector< DtEntityType > myEntityTypes
Definition: scriptedTaskDataWidgets.h:384
boost::signals2::signal< void()> signal_processing
Signal sent when this dialog is processing (add/update)
Definition: scriptedTaskDataWidgets.h:363
DtScriptedTaskMetaData myScriptedTaskMetaData
Definition: scriptedTaskDataWidgets.h:249
QHBoxLayout * myPriorityLayout
Definition: scriptedTaskDataWidgets.h:377
QCheckBox * myShowOnRightClickTitle
Definition: scriptedTaskDataWidgets.h:251
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:267
std::string myScriptId
Definition: scriptedTaskDataWidgets.h:138
QWidget * myToolbarCanvas
Definition: scriptedTaskDataWidgets.h:315
std::vector< std::string > myMenuPaths
Definition: scriptedTaskDataWidgets.h:266
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:250
boost::signals2::signal< void()> signal_processing
Signal sent when this dialog is processing (add/update)
Definition: scriptedTaskDataWidgets.h:229
DtString myModule
Definition: scriptedTaskDataWidgets.h:192
QWidget * myMenuCanvas
Definition: scriptedTaskDataWidgets.h:256
Class for editing scripted task variables.
Definition: scriptedTaskDataWidgets.h:160
std::string myScriptId
Definition: scriptedTaskDataWidgets.h:382
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:324
QPushButton * myDisplayScriptedTaskPriorities
Definition: scriptedTaskDataWidgets.h:376
QWidget * myCommandLevelsCanvas
Definition: scriptedTaskDataWidgets.h:258
bool myProcessing
Definition: scriptedTaskDataWidgets.h:381
makVrv::DtDe & myDe
Definition: scriptedTaskDataWidgets.h:187
boost::signals2::signal< void()> signal_variablesUpdatedFromDesigner
Definition: scriptedTaskDataWidgets.h:102
File: simMsg.h.
Definition: simMessage.h:35
Toolbar locations.
Definition: scriptedTaskDataWidgets.h:274
Definition: asyncJobServer.h:36
QCheckBox * myEnabled
Definition: scriptedTaskDataWidgets.h:375
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:380
std::set< std::string > myActionCategories
Definition: scriptedTaskDataWidgets.h:383
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:372
boost::signals2::signal< void()> signal_receivedUiLayout
Definition: scriptedTaskDataWidgets.h:103
QToolButton * myMoveUp
Definition: scriptedTaskDataWidgets.h:128
QLabel * myPriorityLabel
Definition: scriptedTaskDataWidgets.h:374
QToolButton * myUpdate
Definition: scriptedTaskDataWidgets.h:318
bool myIsSet
Definition: scriptedTaskDataWidgets.h:270
QCheckBox * mySupportsOneClick
Definition: scriptedTaskDataWidgets.h:252
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:189
Base class to provide boost signal/slot management.
QToolButton * myShowTaskParameterComments
Definition: scriptedTaskDataWidgets.h:127
QLabel * myCommandLevelLabel
Definition: scriptedTaskDataWidgets.h:259
Dialog that will allow the selection of a new toolbar path.
Definition: menuPathSelectors.h:136
QIntValidator * myValidator
Definition: scriptedTaskDataWidgets.h:373
bool myReadOnly
Definition: scriptedTaskDataWidgets.h:191
Ui_DtScriptedTaskVariableDialogUi myUiImpl
Definition: scriptedTaskDataWidgets.h:184
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:326
QCheckBox * myUseUiDesigner
Definition: scriptedTaskDataWidgets.h:132
DtScriptedTaskVariable myScriptedTaskVariable
Definition: scriptedTaskDataWidgets.h:190
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:76
std::string myUiLayout
Definition: scriptedTaskDataWidgets.h:140
QLabel * myMenuLocation
Definition: scriptedTaskDataWidgets.h:253
boost::signals2::signal< void()> signal_processing
Signal sent when this dialog is processing (add/update)
Definition: scriptedTaskDataWidgets.h:303
QToolButton * myUpdate
Definition: scriptedTaskDataWidgets.h:255
DtScriptedTaskMetaData myScriptedTaskMetaData
Definition: scriptedTaskDataWidgets.h:323
bool myIsSet
Definition: scriptedTaskDataWidgets.h:139
bool myResetBeforeUpdate
Definition: scriptedTaskDataWidgets.h:268
class DtScriptedTaskMetaData
Definition: scriptedTaskMetaData.h:58
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:83
QWidget * myIsMagicCommandCanvas
Definition: scriptedTaskDataWidgets.h:261
DtToolbarPathSelector * myTaskToolbarPathSelector
Definition: scriptedTaskDataWidgets.h:319
boost::signals2::signal< void()> signal_done
Signal sent when done processing.
Definition: scriptedTaskDataWidgets.h:366
QLabel * myIsMagicCommandLabel
Definition: scriptedTaskDataWidgets.h:262
boost::signals2::signal< void()> signal_done
Signal sent when done processing.
Definition: scriptedTaskDataWidgets.h:306
DtParameterNameValidator myParameterNameValidator
Definition: scriptedTaskDataWidgets.h:188
QLabel * myMenuLabel
Definition: scriptedTaskDataWidgets.h:254
QCheckBox * myTitle
Definition: scriptedTaskDataWidgets.h:314
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:263

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)