VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
enumerationSelectionWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
7 
9 
11 #include <vrfutil/enumDictionary.h>
12 
13 #include <QtGui/QValidator>
14 #include <QtWidgets/QWidget>
15 #include <QtWidgets/QDialog>
16 
17 class QGridLayout;
18 class QHBoxLayout;
19 class QVBoxLayout;
20 class QPushButton;
21 class QComboBox;
22 class QLineEdit;
23 class QLabel;
24 class QCheckBox;
25 class QTreeWidget;
26 class QDialogButtonBox;
27 class QToolButton;
28 
29 namespace makVrv
30 {
31  class DtDe;
32 }
33 
34 namespace makVrf
35 {
36  class DtEnumerationSelectionWidgetLogic;
37 
39  {
40  Q_OBJECT
41 
42  public:
43  DtFindEnumerationDialog(DtEnumDictionary* dict, QWidget* parent = 0);
44 
45  virtual ~DtFindEnumerationDialog();
46 
47  virtual DtEntityType result() const;
48 
49  public slots:
50 
51  virtual void searchTextUpdated(const QString&);
52  virtual void resultSelected();
53 
54  protected:
55 
56  virtual const QString& moreMatchesText() const;
57 
58  protected:
59 
60  QVBoxLayout* myLayout;
63  QDialogButtonBox* myButtons;
65  };
66 
69  {
70  Q_OBJECT
71 
72  public:
73 
75  DtEnumerationSelectionWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
76 
79 
80  int kind() const
81  {
82  return mySisoKind;
83  }
84 
85  void setKind(int, bool doFilterUpdate = true);
86 
87  int domain() const
88  {
89  return mySisoDomain;
90  }
91 
92  void setDomain(int, bool doFilterUpdate = true);
93 
94  int category() const
95  {
96  return mySisoCategory;
97  }
98 
99  void setCategory(int, bool doFilterUpdate = true);
100 
101  int subCategory() const
102  {
103  return mySisoSubcategory;
104  }
105 
106  void setSubCategory(int, bool doFilterUpdate = true);
107 
108  int country() const
109  {
110  return mySisoCountry;
111  }
112 
113  void setCountry(int, bool doFilterUpdate = true);
114 
115  int specific() const
116  {
117  return mySisoSpecific;
118  }
119 
120  void setSpecific(int, bool doFilterUpdate = true);
121 
122  int extra() const
123  {
124  return mySisoExtra;
125  }
126 
127  void setExtra(int, bool doFilterUpdate = true);
128 
129  virtual void moveItemsDownOneRow();
130 
131  virtual void setEnabled(bool);
132 
133  void setCombo(QComboBox*, int);
134 
136  virtual bool init(DtEnumDictionary* disDictionary, int showKindsOnlyLessThan = -1, bool allowWildcards = true);
137 
139  virtual void setKindEnabled(bool);
140 
144  virtual void setMatchingTypeEnabled(bool);
145  virtual bool matchingTypeEnabled() const;
146 
150  virtual void setMatchingType(const DtObjectType&);
151  virtual DtObjectType matchingType() const;
152 
153  virtual QSize sizeHint() const;
154  virtual QSize minimumSizeHint() const;
155 
156  public:
157  virtual void setObjectType(const DtObjectType&);
158  virtual DtObjectType objectType() const;
159 
160  virtual void setEntityType(const DtEntityType&);
161  virtual DtEntityType entityType() const;
162 
163  signals:
164  void typeChanged(const DtObjectType&);
165  void typeChangedWithMatchingType(const DtObjectType&, const DtObjectType&);
166 
167  public slots:
168  virtual void updateFilters();
169  virtual void entityTypeChanged();
170  virtual void findEntityType();
171  virtual void foundEntityType();
172 
173  protected slots:
174  virtual void changed();
175  virtual void advancedModeChanged();
176 
177  protected:
178  virtual bool eventFilter(QObject*, QEvent*);
179  virtual void makeConnections(bool);
180  virtual int customize(QComboBox*, int);
181  virtual bool sizeToParent() const;
182 
183  virtual int populateFilter(QComboBox* filter, DtEnumDictionary::EnumMap& list,
184  bool loadFullList = true, bool addAll = true);
185 
186  private:
189 
190  public:
191  QGridLayout* myGridLayout;
192 
214 
222 
227 
228  QHBoxLayout* myMatchingTypeLayout;
232  QVBoxLayout* myAdvancedLayout;
234 
236 
237  protected:
246 
247  static unsigned theSourceFileRole;
248  };
249 
252  {
253  Q_OBJECT
254  public:
255  DtEnumerationSelectionDialog(makVrv::DtDe&, QWidget* parent = 0, const Qt::WindowFlags& flag = 0);
256 
257  virtual ~DtEnumerationSelectionDialog();
258 
259  virtual void setEntityType(const DtEntityType&);
260  virtual DtEntityType entityType() const;
261 
262  virtual void setObjectType(const DtObjectType&);
263  virtual DtObjectType objectType() const;
264 
265  virtual void setMatchingType(const DtObjectType&);
266  virtual DtObjectType matchingType() const;
267 
268  virtual void setMatchingTypeEnabled(bool);
269  virtual bool matchingTypeEnabled() const;
270 
271  protected:
273  };
274 }
DtEnumDictionary * myDictionary
Definition: enumerationSelectionWidget.h:64
QComboBox * myKind
Definition: enumerationSelectionWidget.h:194
bool myAllowWildcards
Definition: enumerationSelectionWidget.h:242
QLineEdit * myEntityType
Definition: enumerationSelectionWidget.h:223
int mySisoCategory
Definition: enumerationSelectionWidget.h:218
int domain() const
Definition: enumerationSelectionWidget.h:87
QVBoxLayout * myAdvancedLayout
Definition: enumerationSelectionWidget.h:232
QLabel * myCountryLabel
Definition: enumerationSelectionWidget.h:205
Definition: enumerationSelectionWidget.h:38
int myShowKindsOnlyLessThan
Definition: enumerationSelectionWidget.h:241
QCheckBox * myKindMatches
Definition: enumerationSelectionWidget.h:195
QComboBox * myExtra
Definition: enumerationSelectionWidget.h:212
QComboBox * myCountry
Definition: enumerationSelectionWidget.h:206
int subCategory() const
Definition: enumerationSelectionWidget.h:101
QLabel * myDomainLabel
Definition: enumerationSelectionWidget.h:196
Maintains a list of enumerations read in from files. The dictionary supports two different types of e...
Definition: enumDictionary.h:98
QComboBox * myCategory
Definition: enumerationSelectionWidget.h:200
Dialog that will allow user to select enumerations.
Definition: enumerationSelectionWidget.h:251
bool mySizeToParent
Definition: enumerationSelectionWidget.h:245
int country() const
Definition: enumerationSelectionWidget.h:108
bool myFiltersInitialized
Definition: enumerationSelectionWidget.h:243
DtEnumDictionary * myDisDictionary
Definition: enumerationSelectionWidget.h:238
QCheckBox * myCategoryMatches
Definition: enumerationSelectionWidget.h:201
QCheckBox * myCountryMatches
Definition: enumerationSelectionWidget.h:207
QLabel * mySpecificLabel
Definition: enumerationSelectionWidget.h:208
QLabel * myCategoryLabel
Definition: enumerationSelectionWidget.h:199
QLabel * myKindLabel
Definition: enumerationSelectionWidget.h:193
makVrv::DtDe & myDe
Definition: enumerationSelectionWidget.h:244
QLineEdit * mySearchText
Definition: enumerationSelectionWidget.h:61
DtEnumerationSelectionWidget * myEnumerationWidget
Definition: enumerationSelectionWidget.h:272
QCheckBox * myExtraMatches
Definition: enumerationSelectionWidget.h:213
Definition: objectType.h:27
int mySisoCountry
Definition: enumerationSelectionWidget.h:217
QLabel * mySubcategoryLabel
Definition: enumerationSelectionWidget.h:202
QGridLayout * myGridLayout
Definition: enumerationSelectionWidget.h:191
QLabel * myMatchingTypeLabel
Definition: enumerationSelectionWidget.h:229
QToolButton * myFindEntityTypeButton
Definition: enumerationSelectionWidget.h:226
QHBoxLayout * myMatchingTypeLayout
Definition: enumerationSelectionWidget.h:228
static unsigned theSourceFileRole
Definition: enumerationSelectionWidget.h:247
QComboBox * myDomain
Definition: enumerationSelectionWidget.h:197
int mySisoDomain
Definition: enumerationSelectionWidget.h:216
QLabel * myEntityTypeLabel
Definition: enumerationSelectionWidget.h:225
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
QDialogButtonBox * myButtons
Definition: enumerationSelectionWidget.h:63
int mySisoSubcategory
Definition: enumerationSelectionWidget.h:219
int extra() const
Definition: enumerationSelectionWidget.h:122
int mySisoExtra
Definition: enumerationSelectionWidget.h:221
QTreeWidget * myResults
Definition: enumerationSelectionWidget.h:62
int kind() const
Definition: enumerationSelectionWidget.h:80
QComboBox * mySpecific
Definition: enumerationSelectionWidget.h:209
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
QToolButton * myAdvancedMode
Definition: enumerationSelectionWidget.h:230
bool myBlockEntityTypeChange
Definition: enumerationSelectionWidget.h:239
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
int category() const
Definition: enumerationSelectionWidget.h:94
int mySisoKind
Definition: enumerationSelectionWidget.h:215
int specific() const
Definition: enumerationSelectionWidget.h:115
QWidget * myAdvancedCanvas
Definition: enumerationSelectionWidget.h:231
std::map< int, DtEnumInfo > EnumMap
Definition: enumDictionary.h:116
QVBoxLayout * myLayout
Definition: enumerationSelectionWidget.h:60
QLabel * myAdvacedDescription
Definition: enumerationSelectionWidget.h:233
QCheckBox * mySubcategoryMatches
Definition: enumerationSelectionWidget.h:204
int mySisoSpecific
Definition: enumerationSelectionWidget.h:220
QLabel * myExtraLabel
Definition: enumerationSelectionWidget.h:211
QComboBox * mySubcategory
Definition: enumerationSelectionWidget.h:203
bool myMatchingTypeEnabled
Definition: enumerationSelectionWidget.h:240
DtFindEnumerationDialog * myFindEnumDialog
Definition: enumerationSelectionWidget.h:235
QLineEdit * myMatchingType
Definition: enumerationSelectionWidget.h:224
QCheckBox * mySpecificMatches
Definition: enumerationSelectionWidget.h:210
Widget that will allow the user to select enumerations from pulldowns.
Definition: enumerationSelectionWidget.h:68
QCheckBox * myDomainMatches
Definition: enumerationSelectionWidget.h:198

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)