VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
visualMetaDataSelectionWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #if !defined(Q_MOC_RUN)
15 #endif
16 
17 class QLabel;
18 class QComboBox;
19 class QScrollArea;
20 class QWidget;
21 class QGridLayout;
22 class QHBoxLayout;
23 class QSpacerItem;
24 
25 namespace makVrf
26 {
27  class DtCountrySelectionEntryWidget;
28 
31  {
32  Q_OBJECT
33 
34  public:
35  typedef std::pair<DtString, DtString> Marking;
36  typedef std::vector<Marking> Markings;
37 
38  struct Combo
39  {
40  Combo() : label(0), combo(0), widget(0), layout(0) {};
41  Combo(const Combo& orig) : label(orig.label), combo(orig.combo), widget(orig.widget), layout(orig.layout) {};
42 
43  QHBoxLayout* layout;
47  };
48 
49  public:
50  DtVisualMetaDataSelectionWidget(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0, const CreationFlags& cflags = NormalMode);
51 
52  //DTOR
54 
56  {
57  return makVrv::DtUnicode::tr("String Attribute List (key/value pair)");
58  }
59 
60  static std::string designerGroup()
61  {
62  return tr("VR-Forces Visual Meta Data Manipulation").toUtf8().constData();
63  }
64 
65  static std::string headerFile()
66  {
67  return tr("<vrfGuiDataEntryWidgets/visualMetaDataSelectionWidget.h>").toUtf8().constData();
68  }
69 
70  static std::string variableName()
71  {
72  return tr("metadata").toUtf8().constData();
73  }
74 
76  virtual void setRange(double bottom, double top);
77 
79  virtual void setDefaultValue(const std::string&);
80 
82  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& data);
83  virtual void setupFrom(const std::vector<DtEntityType>& data);
84 
86  virtual DtReaderWriter* createBoundVariable(const std::string& variableName);
87 
89  virtual void setupFromBoundVariable(const DtReaderWriter* variableName);
90 
92  virtual void addWidget(const std::string&, QWidget*, int col);
93 
95  virtual DtString selectedMarking(const std::string&) const;
96 
98  virtual void selectMarking(const std::string&, const std::string&);
99 
102  virtual Markings markings(const std::string&) const;
103 
105  virtual Combo combo(int row) const;
106 
107  virtual void clear();
108 
111  virtual void setVariableData(const QString& s);
112  virtual void setVariantMode(bool);
113  bool variantMode() const
114  {
115  return myVariantMode;
116  }
117 
118  virtual void setVisualMarking(const std::string& linkageName, const std::string& value, bool updateSubvariants = true);
119 
120  virtual void setCacheMarkingSelections(bool b);
122  {
123  return myCacheMarkingSelections;
124  }
125 
126  virtual void setBlockSelectionUpdate(bool);
127  bool blockSelectionUpdate() const
128  {
129  return myBlockSelectionUpdate;
130  }
131 
132  protected:
133  virtual bool isValid() const;
134  virtual Combo createMetaDataEntryLine(const std::string& linkage,
135  const DtVisualMetaDataManager::Marking& marking, int indent = 0);
136  virtual void addComboToLayout(Combo&, int indent = 0);
137  virtual bool allowDataMarkingToBeDisplayed(const DtVisualMetaDataManager::Marking& marking) const;
138  virtual void createVariantModeLayout(const std::vector<DtEntityType>&);
139  virtual void comboActivated(QComboBox*);
140  virtual void updateSubvariants(const std::string& linkageName, const std::string& value);
141 
144  virtual void updateLinkageSelection(const std::string& linkage, const std::string& marking);
145 
146  virtual QString configNameValue(const std::string& linkage, const std::string& configName) const;
147 
148  virtual std::string codeFromConfigName(const std::string& linkage, const std::string& config) const;
149  virtual DtTaskSetVariableWidgetExtensionInterface* parameterContents(QWidget* parent, const Qt::WindowFlags& flags) const;
150 
151  signals:
152  void markingChanged(QComboBox*, const QString&, const QString&);
153 
154  protected slots:
155  virtual void comboActivated();
156 
157  public:
159 
160  typedef std::map<std::string, Combo> Combos;
162 
163  QGridLayout* myComboLayout;
164  QWidget* myInsideWidget;
165  QVBoxLayout* myMainLayout;
166  QScrollArea* myScrollArea;
167 
168  protected:
170  {
171  QString displayName;
172  std::string configName;
173  std::string pattern;
174  };
175 
176  typedef std::map<int, ConfigStruct> MarkingToConfigStruct;
177  typedef std::map<std::string, MarkingToConfigStruct> LinkageMarkings;
179 
180  std::vector<makVrv::DtUniqueID> myCurrentIds;
181  std::vector<DtEntityType> myCurrentEntityTypes;
182  struct Variant
183  {
185  std::vector<DtVisualMetaDataManager::Marking> subvariants;
186  };
187 
188  std::map<std::string, Variant> mySubvariantMap;
189 
191  {
192  std::string marking;
193  std::map<std::string, std::string> subvariantMarkings;
194  };
195 
196  typedef std::map<std::string, SubvariantSelections> VariantSelections;
198 
202  };
203 
205 }
LinkageMarkings myLinkageMarkings
Definition: visualMetaDataSelectionWidget.h:178
QLabel * myNoDataAvailableLabel
Definition: visualMetaDataSelectionWidget.h:158
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::string pattern
Definition: visualMetaDataSelectionWidget.h:173
VariantSelections myVariantSelections
Definition: visualMetaDataSelectionWidget.h:197
CreationFlags
Definition: taskSetVariableWidget.h:118
static std::string headerFile()
Definition: visualMetaDataSelectionWidget.h:65
std::map< std::string, Combo > Combos
Definition: visualMetaDataSelectionWidget.h:160
bool myCacheMarkingSelections
Definition: visualMetaDataSelectionWidget.h:200
QWidget * myInsideWidget
Definition: visualMetaDataSelectionWidget.h:164
Definition: visualMetaDataSelectionWidget.h:169
std::map< std::string, MarkingToConfigStruct > LinkageMarkings
Definition: visualMetaDataSelectionWidget.h:177
QString displayName
Definition: visualMetaDataSelectionWidget.h:171
Definition: readerWriter.h:85
bool blockSelectionUpdate() const
Definition: visualMetaDataSelectionWidget.h:127
DtVisualMetaDataManager::Marking variant
Definition: visualMetaDataSelectionWidget.h:184
std::map< int, ConfigStruct > MarkingToConfigStruct
Definition: visualMetaDataSelectionWidget.h:176
static std::string variableName()
Definition: visualMetaDataSelectionWidget.h:70
Widget for selecting radar emitter.
Definition: visualMetaDataSelectionWidget.h:30
static std::string designerGroup()
Definition: visualMetaDataSelectionWidget.h:60
Definition: visualMetaDataSelectionWidget.h:38
DtTaskSetVariableWidgetCreator< DtVisualMetaDataSelectionWidget > DtVisualMetaDataSelectionWidgetCreator
Definition: visualMetaDataSelectionWidget.h:204
Basic implementation that has a label at the top.
Definition: taskSetVariableWidget.h:228
QLabel * label
Definition: visualMetaDataSelectionWidget.h:44
std::map< std::string, Variant > mySubvariantMap
Definition: visualMetaDataSelectionWidget.h:188
std::vector< makVrv::DtUniqueID > myCurrentIds
Definition: visualMetaDataSelectionWidget.h:180
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
Definition: taskSetVariableWidget.h:419
DtCountrySelectionEntryWidget * widget
Definition: visualMetaDataSelectionWidget.h:46
static makVrv::DtUnicode codeVariableType()
Definition: visualMetaDataSelectionWidget.h:55
#define DT_DLL_VRFGUIDATAENTRYWIDGETS
Definition: vrfGuiDataEntryWidgets.h:22
bool myBlockSelectionUpdate
Definition: visualMetaDataSelectionWidget.h:201
std::vector< Marking > Markings
Pair is display name and internal name.
Definition: visualMetaDataSelectionWidget.h:36
QVBoxLayout * myMainLayout
Definition: visualMetaDataSelectionWidget.h:165
std::map< std::string, std::string > subvariantMarkings
Definition: visualMetaDataSelectionWidget.h:193
QGridLayout * myComboLayout
Definition: visualMetaDataSelectionWidget.h:163
Definition: visualMetaDataSelectionWidget.h:182
Combo()
Definition: visualMetaDataSelectionWidget.h:40
bool cacheMarkingSelections() const
Definition: visualMetaDataSelectionWidget.h:121
Definition: visualMetaDataSelectionWidget.h:190
bool myVariantMode
Definition: visualMetaDataSelectionWidget.h:199
IMGUI_API bool Combo(const char *label, int *current_item, const char *const items[], int items_count, int popup_max_height_in_items=-1)
std::map< std::string, SubvariantSelections > VariantSelections
Definition: visualMetaDataSelectionWidget.h:196
std::string configName
Definition: visualMetaDataSelectionWidget.h:172
Definition: visualMetaDataManager.h:47
QComboBox * combo
Definition: visualMetaDataSelectionWidget.h:45
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
std::vector< DtVisualMetaDataManager::Marking > subvariants
Definition: visualMetaDataSelectionWidget.h:185
bool variantMode() const
Definition: visualMetaDataSelectionWidget.h:113
std::vector< DtEntityType > myCurrentEntityTypes
Definition: visualMetaDataSelectionWidget.h:181
Widget that allows the selection of a country.
Definition: countrySelectionEntryWidget.h:39
Extension interface for contents for definition of variables in the scripted task meta data variable ...
Definition: taskSetVariableWidget.h:83
std::pair< DtString, DtString > Marking
Definition: visualMetaDataSelectionWidget.h:35
std::string marking
Definition: visualMetaDataSelectionWidget.h:192
QScrollArea * myScrollArea
Definition: visualMetaDataSelectionWidget.h:166
Combos myCombos
Definition: visualMetaDataSelectionWidget.h:161

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)