VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
emitterModesSelectionEntryWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
7 
8 #pragma once
9 
10 #if !defined(Q_MOC_RUN)
13 #include <vrfutil/rwUUID.h>
15 #endif
16 
17 class QStringList;
18 class QGridLayout;
19 class QComboBox;
20 class QLabel;
21 class QGroupBox;
22 class QVBoxLayout;
23 
24 namespace makVrf
25 {
26  class DtEmitterModesRequestor;
27 
32  {
33  Q_OBJECT
34  Q_PROPERTY(QString label READ label WRITE setLabel)
35 
36  public:
37  DtEmitterModesSelectionEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
38 
39  //DTOR
41 
43  virtual void setLabel(const std::string&);
44  virtual void setLabel(const QString&);
45  virtual QString label() const;
46 
48  virtual void setToolTip(const QString&);
49 
51  virtual void setRange(double bottom, double top);
52 
54  virtual void setDefaultValue(const std::string&);
55 
57  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
58 
61  virtual void setVariableData(const std::string&);
62 
64  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
65 
67  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
68 
70  {
71  return makVrv::DtUnicode::tr("String (mode)");
72  }
73 
74  static std::string designerGroup()
75  {
76  return tr("VR-Forces Emitter Manipulation").toUtf8().constData();
77  }
78 
80  virtual void getEmitterIdAndMode(int& id, DtString& mode);
81 
83  virtual void setEmitterIdAndMode(int id, const DtString& mode);
84 
85  virtual bool isValid() const;
86 
87  virtual void setIndent(int);
88 
91  virtual void getUpdatedModes(std::vector<DtUUID>&);
92 
94  virtual const std::vector<DtUUID>& selectedNames() const;
95 
96  protected:
98  virtual DtEmitterModesRequestor& emitterModesRequestor() = 0;
99 
101  virtual std::string variableDataFromUiDesigner(const QDomElement&, const DtScriptedTaskVariableLayoutConverter&) const
102  {
103  return "";
104  }
105 
106  virtual std::string scriptedTaskVariableName() const;
107 
108  signals:
111  void validityUpdated();
112 
113  protected:
114  virtual void updateComboBoxes();
115 
117  virtual void slot_receivedModes(const DtUUID& entity, int emitterId);
118 
120  virtual void resetDialog(bool resetModesOnly = false);
121 
122  protected slots:
123  virtual void updateModesForEmitterSelection();
124 
125  public:
126  QGridLayout* myContentLayout;
131  QGroupBox* myGroupBox;
132  QVBoxLayout* myMainLayout;
133  QWidget* myCanvas;
134  QVBoxLayout* myGroupBoxLayout;
135 
136  protected:
137  std::vector<DtUUID> myCurrSelected;
138  std::map<DtUUID, std::vector<makVrv::DtSimEntry*> > myAwaitingEmitters;
140  QString myDefaultValue;
143  };
144 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::map< DtUUID, std::vector< makVrv::DtSimEntry * > > myAwaitingEmitters
Definition: emitterModesSelectionEntryWidget.h:138
QWidget * myCanvas
Definition: emitterModesSelectionEntryWidget.h:133
CreationFlags
Definition: taskSetVariableWidget.h:118
QComboBox * myModesCombo
Definition: emitterModesSelectionEntryWidget.h:130
makVrv::DtSignalConnectionManager myConnections
Definition: emitterModesSelectionEntryWidget.h:139
This class will parse the UI file for known scripted task variable types and pull out specified scrip...
Definition: scriptedTaskVariableLayoutConverter.h:32
QLabel * myModeLabel
Definition: emitterModesSelectionEntryWidget.h:129
std::vector< DtUUID > myCurrSelected
Definition: emitterModesSelectionEntryWidget.h:137
QGroupBox * myGroupBox
Definition: emitterModesSelectionEntryWidget.h:131
Definition: readerWriter.h:85
Contains the DtUUID class declaration.
QString myDefaultValue
Definition: emitterModesSelectionEntryWidget.h:140
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
This class will define the interface needed for being a task set variable that can be used in task di...
Definition: taskSetVariableWidget.h:115
CreationFlags myCreationFlags
Definition: emitterModesSelectionEntryWidget.h:141
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
The class that is the interface between the GUI and the back-end.
Definition: emitterModesRequestor.h:37
QComboBox * myEmitterIdCombo
Definition: emitterModesSelectionEntryWidget.h:128
This is a base class that is used by other classes to show emitters and modes that they are currently...
Definition: emitterModesSelectionEntryWidget.h:31
QLabel * myEmitterLabel
Definition: emitterModesSelectionEntryWidget.h:127
static std::string designerGroup()
Definition: emitterModesSelectionEntryWidget.h:74
Base class to provide boost signal/slot management.
virtual std::string variableDataFromUiDesigner(const QDomElement &, const DtScriptedTaskVariableLayoutConverter &) const
Given the Ui designer properties create a string that will represent the variable data for those prop...
Definition: emitterModesSelectionEntryWidget.h:101
const char int mode
Definition: ioapi.h:38
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
QVBoxLayout * myMainLayout
Definition: emitterModesSelectionEntryWidget.h:132
makVrv::DtDe & myDe
Definition: emitterModesSelectionEntryWidget.h:142
static makVrv::DtUnicode codeVariableType()
Definition: emitterModesSelectionEntryWidget.h:69
QVBoxLayout * myGroupBoxLayout
Definition: emitterModesSelectionEntryWidget.h:134
QGridLayout * myContentLayout
Definition: emitterModesSelectionEntryWidget.h:126

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)