VR-Forces 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)
14 #include <vrfutil/rwUUID.h>
16 #endif
17 
18 class QStringList;
19 class QGridLayout;
20 class QComboBox;
21 class QLabel;
22 class QGroupBox;
23 class QVBoxLayout;
24 class QLineEdit;
25 
26 namespace makVrf
27 {
28  class DtEmitterModesRequestor;
29 
34  {
35  Q_OBJECT
36  Q_PROPERTY(QString label READ label WRITE setLabel)
37 
38  public:
39  DtEmitterModesSelectionEntryWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
40 
41  //DTOR
42  virtual ~DtEmitterModesSelectionEntryWidget() override;
43 
45  virtual void setLabel(const std::string&) override;
46  virtual void setLabel(const QString&) override;
47  virtual QString label() const;
48 
50  virtual void setToolTip(const QString&) override;
51 
53  virtual void setRange(double bottom, double top) override;
54 
56  virtual void setDefaultValue(const std::string&) override;
57 
59  virtual void setupFrom(const std::set<makVrv::DtUniqueID>& data) override;
60 
63  virtual void setVariableData(const std::string&) override;
64 
66  virtual DtReaderWriter* createBoundVariable(const std::string& variableName) override;
67 
69  virtual void setupFromBoundVariable(const DtReaderWriter* variableName) override;
70 
72  {
73  return makVrv::DtUnicode::tr("String (mode)");
74  }
75 
76  static std::string designerGroup()
77  {
78  return tr("VR-Forces Emitter Manipulation").toUtf8().constData();
79  }
80 
82  virtual void getEmitterIdAndMode(int& id, DtString& mode);
83 
85  virtual void setEmitterIdAndMode(int id, const DtString& mode);
86 
87  virtual bool isValid() const override;
88 
89  virtual void setIndent(int) override;
90 
93  virtual void getUpdatedModes(std::vector<DtUUID>&);
94 
96  virtual const std::vector<DtUUID>& selectedNames() const;
97 
98  protected:
100  virtual DtEmitterModesRequestor& emitterModesRequestor() = 0;
101 
103  virtual std::string variableDataFromUiDesigner(
104  const QDomElement&, const DtScriptedTaskVariableLayoutConverter&) const override
105  {
106  return "";
107  }
108 
109  virtual std::string scriptedTaskVariableName() const override;
110 
111  signals:
114  void validityUpdated();
115 
116  protected:
117  virtual void updateComboBoxes();
118 
120  virtual void slot_receivedModes(const DtUUID& entity, int emitterId);
121 
123  virtual void resetDialog(bool resetModesOnly = false);
124 
125  protected slots:
126  virtual void updateModesForEmitterSelection();
127 
128  public:
129  QGridLayout* myContentLayout;
137  QVBoxLayout* myMainLayout;
138  QWidget* myCanvas;
139 
140  protected:
141  std::vector<DtUUID> myCurrSelected;
142  std::map<DtUUID, std::set<makVrv::DtUniqueID>> myAwaitingEmitters;
144  QString myDefaultValue;
148  };
149 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
QWidget * myCanvas
Definition: emitterModesSelectionEntryWidget.h:138
CreationFlags
Definition: taskSetVariableWidget.h:118
QComboBox * myModesCombo
Definition: emitterModesSelectionEntryWidget.h:134
makVrv::DtSignalConnectionManager myConnections
Definition: emitterModesSelectionEntryWidget.h:143
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:133
std::vector< DtUUID > myCurrSelected
Definition: emitterModesSelectionEntryWidget.h:141
Definition: readerWriter.h:85
Contains the DtUUID class declaration.
QLineEdit * myEmitterLineEdit
Definition: emitterModesSelectionEntryWidget.h:132
virtual std::string variableDataFromUiDesigner(const QDomElement &, const DtScriptedTaskVariableLayoutConverter &) const override
Given the Ui designer properties create a string that will represent the variable data for those prop...
Definition: emitterModesSelectionEntryWidget.h:103
DtEmitterModesRequestor::EmitterModes myEmitterModes
Definition: emitterModesSelectionEntryWidget.h:147
QString myDefaultValue
Definition: emitterModesSelectionEntryWidget.h:144
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:145
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:35
QComboBox * myEmitterIdCombo
Definition: emitterModesSelectionEntryWidget.h:131
This is a base class that is used by other classes to show emitters and modes that they are currently...
Definition: emitterModesSelectionEntryWidget.h:33
QLabel * myEmitterLabel
Definition: emitterModesSelectionEntryWidget.h:130
QLabel * myGroupBox
Definition: emitterModesSelectionEntryWidget.h:136
static std::string designerGroup()
Definition: emitterModesSelectionEntryWidget.h:76
Base class to provide boost signal/slot management.
const char int mode
Definition: ioapi.h:38
std::map< int, EmitterInfo > EmitterModes
Definition: emitterModesRequestor.h:79
QLineEdit * myModesLineEdit
Definition: emitterModesSelectionEntryWidget.h:135
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
QVBoxLayout * myMainLayout
Definition: emitterModesSelectionEntryWidget.h:137
std::map< DtUUID, std::set< makVrv::DtUniqueID > > myAwaitingEmitters
Definition: emitterModesSelectionEntryWidget.h:142
makVrv::DtDe & myDe
Definition: emitterModesSelectionEntryWidget.h:146
static makVrv::DtUnicode codeVariableType()
Definition: emitterModesSelectionEntryWidget.h:71
QGridLayout * myContentLayout
Definition: emitterModesSelectionEntryWidget.h:129

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)