VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
newTacticalGraphicEntryWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 
17 #include <matrix/vlVector.h>
18 
20 #include <QtWidgets/QWidget>
21 #include <QtWidgets/QBoxLayout>
22 #include <QtWidgets/QPushButton>
23 #include <QtWidgets/QLabel>
24 #include <QtWidgets/QLineEdit>
25 
26 #include <QtDesigner/QExtensionFactory>
27 #include <QtDesigner/QDesignerTaskMenuExtension>
28 
29 class DtEntityType;
30 class QToolButton;
31 
32 namespace makVrf
33 {
34  class DtNewTacticalGraphicEntryWidgetLogic;
35 
37  {
38  Q_OBJECT
39  Q_PROPERTY(QString entityType READ variableData WRITE setVariableData)
40 
41  public:
42 
44  {
47  DtObjectBeingDefined
48  };
49 
52  QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
53 
55  virtual ~DtNewTacticalGraphicEntryWidget() override;
56 
59  void init();
60 
62  virtual void setObjectDefined(DtObjectDefinitionState state);
63 
65  virtual DtObjectDefinitionState objectDefined() const;
66 
69  virtual DtReaderWriter* createBoundVariable(const std::string& variableName) override;
70 
72  virtual void setupFromBoundVariable(const DtReaderWriter* variableName) override;
73 
76  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(
77  QWidget* parent, const Qt::WindowFlags& flags = 0) const override;
78 
81  virtual bool isValid() const override;
82 
84  virtual void setEntityTypeToCreate(const DtEntityType&);
85 
88  virtual const DtEntityType& entityTypeCreated() const;
89 
91  static bool canBeUsedAsWidget()
92  {
93  return true;
94  }
95 
97  {
98  return makVrv::DtUnicode::tr("List of Location3Ds");
99  }
100 
101  static std::string designerGroup()
102  {
103  return tr("VR-Forces Object Creation").toUtf8().constData();
104  }
105 
106  static std::string headerFile()
107  {
108  return tr("<vrfGuiCoreQt/newTacticalGraphicEntryWidget.h>").toUtf8().constData();
109  }
110 
111  static std::string variableName()
112  {
113  return tr("tacticalGraphic").toUtf8().constData();
114  }
115 
117  static void initializeForQtDesignerExtension(makVrv::DtDe&, QDesignerFormEditorInterface*);
118 
121  virtual void setVariableData(const QString&) override;
122 
123  virtual void setButtonTexts(const std::string& objectDefinedText, const std::string& objectBeingDefinedText, const std::string& objectNotDefinedText);
124  virtual void setStatusTexts(const std::string& objectDefinedText, const std::string& objectBeingDefinedText, const std::string& objectNotDefinedText);
125 
126  virtual void setVertices(const std::vector<DtVector>& positions);
127 
129  boost::signals2::signal<void()> signal_statusChanged;
130 
131  protected:
134  virtual DtNewTacticalGraphicEntryWidgetLogic* createLogic();
135 
137  virtual void setupGui();
138 
140  virtual void setupConnections();
141 
143  virtual void setRange(double top, double bottom) override;
144 
146  virtual void setDefaultValue(const std::string&) override;
147 
149  virtual void closeEvent(QCloseEvent* event) override;
150 
152  virtual void hideEvent(QHideEvent* event) override;
153 
154  virtual std::string variableDataFromUiDesigner(
155  const QDomElement& element, const DtScriptedTaskVariableLayoutConverter& converter) const override;
156 
157  protected slots:
158 
159  virtual void slot_onDefineButtonClicked();
160 
161  public:
162  QWidget* myWidget;
163  QHBoxLayout* myLayout;
166 
167  protected:
171 
175 
178  };
179 
183  {
184  Q_OBJECT
185 
186  public:
187  DtNewTacticalGraphicEntryVariableWidgetExtension(makVrv::DtDe&, QWidget* w, const Qt::WindowFlags& f = 0);
188 
190 
191  virtual int setFrom(const DtScriptedTaskVariable&, QGridLayout* parentLayout, int startRow) override;
192  virtual void setTo(DtScriptedTaskVariable&) const override;
193 
194  virtual void setReadOnly(bool) override;
195 
196  protected slots:
197  virtual void onSelectEntityType();
198 
199  public:
200  QHBoxLayout* myLayout;
204  };
205 
207  {
208  public:
211 
213  }
214 
215  virtual DtTaskSetVariableWidgetInterface* create(makVrv::DtDe& de, QWidget* parent,
216  const Qt::WindowFlags& flags = 0,
219  {
221  new DtNewTacticalGraphicEntryWidget(de, parent, flags, cflags);
222  w->init();
223  return w;
224  }
225 
227  virtual bool canBeUsedAsWidget() const override {
229  }
230 
231  virtual makVrv::DtUnicode codeVariableType() const override
232  {
234  }
235 
236  virtual std::string className() const override
237  {
238  return DtNewTacticalGraphicEntryWidget::staticMetaObject.className();
239  }
240 
241  virtual std::string designerGroup() const override {
243  }
244 
245  virtual std::string headerFile() const override {
247  }
248 
249  virtual bool includeInDesigner() const override {
250  return true;
251  }
252 
253  virtual std::string variableName() const override {
255  }
256 
259  virtual void initializeForQtDesignerExtension(makVrv::DtDe& de, QDesignerFormEditorInterface* core) override
260  {
262  }
263  };
264 
267  {
268  Q_OBJECT
269 
270  public:
271  explicit DtNewTacticalGraphicEntryWidgetMenuFactory(makVrv::DtDe&, QExtensionManager *parent = 0);
272 
273  protected:
274  virtual QObject * createExtension(QObject* object, const QString& iid, QObject* parent) const override;
275 
276  protected:
278  };
279 
281  {
282  Q_OBJECT
283  Q_INTERFACES(QDesignerTaskMenuExtension)
284 
285  public:
287 
288  virtual QAction * preferredEditAction() const override;
289  virtual QList<QAction *> taskActions() const override;
290 
291  protected slots:
292  virtual void editState();
293 
294  protected:
298  };
299 }
virtual makVrv::DtUnicode codeVariableType() const override
Definition: newTacticalGraphicEntryWidget.h:231
DtObjectDefinitionState myObjectDefinitionState
Definition: newTacticalGraphicEntryWidget.h:176
virtual std::string designerGroup() const override
The designer group that this is going into.
Definition: newTacticalGraphicEntryWidget.h:241
QToolButton * myEntityTypeEditButton
Definition: newTacticalGraphicEntryWidget.h:203
DtNewTacticalGraphicEntryWidgetLogic * myLogic
Definition: newTacticalGraphicEntryWidget.h:177
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::string myButtonObjectNotDefinedText
Definition: newTacticalGraphicEntryWidget.h:170
std::string myButtonObjectBeingDefinedText
Definition: newTacticalGraphicEntryWidget.h:169
CreationFlags
Definition: taskSetVariableWidget.h:118
makVrv::DtDe & myDe
Definition: newTacticalGraphicEntryWidget.h:277
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
DtObjectDefinitionState
Definition: newTacticalGraphicEntryWidget.h:43
virtual std::string headerFile() const override
The header file to include when generating code.
Definition: newTacticalGraphicEntryWidget.h:245
Definition: newTacticalGraphicEntryWidget.h:45
Definition: newTacticalGraphicEntryWidget.h:280
This class will parse the UI file for known scripted task variable types and pull out specified scrip...
Definition: scriptedTaskVariableLayoutConverter.h:32
Definition: taskSetVariableWidget.h:120
Definition: readerWriter.h:85
static makVrv::DtUnicode codeVariableType()
Definition: newTacticalGraphicEntryWidget.h:96
void init()
Creates the object, sets up the GUI, and sets up the signal/slot connections for this widget...
QWidget * myWidget
Definition: newTacticalGraphicEntryWidget.h:162
QHBoxLayout * myLayout
Definition: newTacticalGraphicEntryWidget.h:200
DtNewTacticalGraphicEntryWidgetCreator()
Definition: newTacticalGraphicEntryWidget.h:209
boost::signals2::signal< void()> signal_statusChanged
Signals.
Definition: newTacticalGraphicEntryWidget.h:129
QPushButton * myDefineButton
Definition: newTacticalGraphicEntryWidget.h:164
static std::string headerFile()
Definition: newTacticalGraphicEntryWidget.h:106
QLineEdit * myEntityType
Definition: newTacticalGraphicEntryWidget.h:202
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:231
std::string myButtonObjectDefinedText
Definition: newTacticalGraphicEntryWidget.h:168
static DtUnicode tr(const char *ascii)
Ascii translation function, used to be compatible with Qt&#39;s translation tools. This will simply call ...
Definition: DtUnicode.h:92
static std::string variableName()
Definition: newTacticalGraphicEntryWidget.h:111
static bool canBeUsedAsWidget()
Whether or not this shows up as a usable variable widget.
Definition: newTacticalGraphicEntryWidget.h:91
Definition: newTacticalGraphicEntryWidget.h:46
std::string myStatusObjectNotDefinedText
Definition: newTacticalGraphicEntryWidget.h:174
QLabel * myLabel
Definition: newTacticalGraphicEntryWidget.h:201
Definition: newTacticalGraphicEntryWidget.h:36
This class will define the interface needed for being a task set variable that can be used in task di...
Definition: taskSetVariableWidget.h:115
virtual std::string variableName() const override
The default variable nameto initially assign to this object.
Definition: newTacticalGraphicEntryWidget.h:253
static std::string designerGroup()
Definition: newTacticalGraphicEntryWidget.h:101
A class for keeping track of meta data for variables of scripted tasks. The information is currently ...
Definition: scriptedTaskVariable.h:34
QLabel * myStatusLabel
Definition: newTacticalGraphicEntryWidget.h:165
virtual void initializeForQtDesignerExtension(makVrv::DtDe &de, QDesignerFormEditorInterface *core) override
Called when initializing widget for potential Qt Designer plugin usage. Please refer to Qt documentat...
Definition: newTacticalGraphicEntryWidget.h:259
Private to this class.
Definition: newTacticalGraphicEntryWidgetLogic.h:35
QAction * myEditStateAction
Definition: newTacticalGraphicEntryWidget.h:295
virtual bool includeInDesigner() const override
Include this class in the designer plugin.
Definition: newTacticalGraphicEntryWidget.h:249
Definition: newTacticalGraphicEntryWidget.h:206
virtual DtTaskSetVariableWidgetInterface * create(makVrv::DtDe &de, QWidget *parent, const Qt::WindowFlags &flags=0, const DtTaskSetVariableWidgetInterface::CreationFlags &cflags=DtTaskSetVariableWidgetInterface::NormalMode) override
Definition: newTacticalGraphicEntryWidget.h:215
std::string myStatusObjectBeingDefinedText
Definition: newTacticalGraphicEntryWidget.h:173
QHBoxLayout * myLayout
Definition: newTacticalGraphicEntryWidget.h:163
Qt designer extensions.
Definition: newTacticalGraphicEntryWidget.h:266
makVrv::DtDe & myDe
Definition: newTacticalGraphicEntryWidget.h:297
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Creator class to be used when creating instances of task/set variables.
Definition: taskSetVariableWidget.h:378
virtual bool canBeUsedAsWidget() const override
Whether or not this shows up as a usable variable widget.
Definition: newTacticalGraphicEntryWidget.h:227
std::string myStatusObjectDefinedText
Definition: newTacticalGraphicEntryWidget.h:172
Definition: translator.h:58
DtNewTacticalGraphicEntryWidget * myWidget
Definition: newTacticalGraphicEntryWidget.h:296
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
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:83
Extension widget which allows the entity type of the tactical graphic to be created.
Definition: newTacticalGraphicEntryWidget.h:182
virtual ~DtNewTacticalGraphicEntryWidgetCreator() override
Definition: newTacticalGraphicEntryWidget.h:212
virtual std::string className() const override
Definition: newTacticalGraphicEntryWidget.h:236
static void initializeForQtDesignerExtension(makVrv::DtDe &, QDesignerFormEditorInterface *)
Add custom menu item to task menu to be able to edit the entity type created by this object...

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)