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
43 
45  virtual void setLabel(const std::string&);
46  virtual void setLabel(const QString&);
47  virtual QString label() const;
48 
50  virtual void setToolTip(const QString&);
51 
53  virtual void setRange(double bottom, double top);
54 
56  virtual void setDefaultValue(const std::string&);
57 
59  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
60 
63  virtual void setVariableData(const std::string&);
64 
66  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
67 
69  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
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;
88 
89  virtual void setIndent(int);
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(const QDomElement&, const DtScriptedTaskVariableLayoutConverter&) const
104  {
105  return "";
106  }
107 
108  virtual std::string scriptedTaskVariableName() const;
109 
110  signals:
113  void validityUpdated();
114 
115  protected:
116  virtual void updateComboBoxes();
117 
119  virtual void slot_receivedModes(const DtUUID& entity, int emitterId);
120 
122  virtual void resetDialog(bool resetModesOnly = false);
123 
124  protected slots:
125  virtual void updateModesForEmitterSelection();
126 
127  public:
128  QGridLayout* myContentLayout;
136  QVBoxLayout* myMainLayout;
137  QWidget* myCanvas;
138 
139  protected:
140  std::vector<DtUUID> myCurrSelected;
141  std::map<DtUUID, std::vector<makVrv::DtSimEntry*> > myAwaitingEmitters;
143  QString myDefaultValue;
147  };
148 }
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
std::map< DtUUID, std::vector< makVrv::DtSimEntry * > > myAwaitingEmitters
Definition: emitterModesSelectionEntryWidget.h:141
QWidget * myCanvas
Definition: emitterModesSelectionEntryWidget.h:137
CreationFlags
Definition: taskSetVariableWidget.h:119
QComboBox * myModesCombo
Definition: emitterModesSelectionEntryWidget.h:133
makVrv::DtSignalConnectionManager myConnections
Definition: emitterModesSelectionEntryWidget.h:142
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:132
std::vector< DtUUID > myCurrSelected
Definition: emitterModesSelectionEntryWidget.h:140
Definition: readerWriter.h:85
Contains the DtUUID class declaration.
QLineEdit * myEmitterLineEdit
Definition: emitterModesSelectionEntryWidget.h:131
DtEmitterModesRequestor::EmitterModes myEmitterModes
Definition: emitterModesSelectionEntryWidget.h:146
QString myDefaultValue
Definition: emitterModesSelectionEntryWidget.h:143
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:116
CreationFlags myCreationFlags
Definition: emitterModesSelectionEntryWidget.h:144
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:130
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:129
QLabel * myGroupBox
Definition: emitterModesSelectionEntryWidget.h:135
static std::string designerGroup()
Definition: emitterModesSelectionEntryWidget.h:76
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:103
const char int mode
Definition: ioapi.h:38
std::map< int, EmitterInfo > EmitterModes
Definition: emitterModesRequestor.h:81
QLineEdit * myModesLineEdit
Definition: emitterModesSelectionEntryWidget.h:134
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:72
QVBoxLayout * myMainLayout
Definition: emitterModesSelectionEntryWidget.h:136
makVrv::DtDe & myDe
Definition: emitterModesSelectionEntryWidget.h:145
static makVrv::DtUnicode codeVariableType()
Definition: emitterModesSelectionEntryWidget.h:71
QGridLayout * myContentLayout
Definition: emitterModesSelectionEntryWidget.h:128

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)