VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
newEntityDialog.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 #pragma once
9 
12 
15 #include <vrvUtil/DtUnicode.h>
16 
17 #include <QtWidgets/QDialog>
19 #include <QtGui/QValidator>
20 
21 namespace makVrf
22 {
23  class DtEntityMapperKey;
24 };
25 
26 class QComboBox;
27 class QLineEdit;
29 class QLabel;
30 class QPushButton;
31 
32 namespace makVrf
33 {
34  class DtEntityMapperKey;
35 }
36 
38 {
39  Q_OBJECT
40 
41 public:
42  DtNewEntityDialog(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& f = 0, bool isInheriting = false);
43 
44  virtual bool init(bool categorySelection = true, int onlyForKind = -1);
45 
46  virtual QString parameterType() const;
47  virtual DtObjectType objectType() const;
48 
49  virtual QString name() const;
50 
51  static DtNewEntityDialog* create(QWidget* p = NULL);
52 
53  virtual void setEntityType(const DtEntityType&);
54 
55  virtual QString category() const;
56 
57  virtual DtRwNLengthStringVector categories() const;
58 
59  virtual DtEntityType templateType() const;
60 
61  virtual void updateTakeVisualsFrom();
62 
63  virtual makVrv::DtUnicode elementDefinition() const;
64 
65  virtual void setCanSelectVisuals(bool b);
66 
67 protected:
68  virtual void accept();
69 
70 protected slots:
71  virtual void categoryChanged();
72  virtual DtObjectType objectTypeSelected() const;
73  virtual void updateTemplates();
74  virtual void templateChanged();
75  virtual void updateEntityType(const makVrf::DtEntityMapperKey&);
76 
77 public:
91 
92 protected:
94  DtEntityType myTemplateMatch;
98 };
99 
102 {
103 public:
106 
108  virtual ~DtNewEntityDialogCreator();
109 
111  static DtNewEntityDialogCreator& instance(makVrv::DtDe&);
112 
114  static void registerInstance(makVrv::DtDe&, DtNewEntityDialogCreator*);
115 
117  virtual DtNewEntityDialog* create(QWidget* parent, bool isInheriting = false);
118 
119 protected:
121 };
122 
123 //custom version of the enumeration widget so that inheriting entities in derived smss can be created with identical object types
125 {
126  Q_OBJECT
127 
128 public:
129  //CTOR
130  DtNewInheritingEntityEnumerationWidget(makVrv::DtDe&, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
131 
132 public slots:
133  virtual void canSetEnumeration(const DtObjectType&);
134 };
QLabel * myDescriptionLabel
Definition: newEntityDialog.h:78
Definition: entityMapperKey.h:23
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
QLabel * myTakeVisualsFromLabel
Definition: newEntityDialog.h:88
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
QComboBox * myTakeVisualsFrom
Definition: newEntityDialog.h:89
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
bool myIsInheriting
Definition: newEntityDialog.h:97
QComboBox * myTemplates
Definition: newEntityDialog.h:83
QLabel * myTemplatesLabel
Definition: newEntityDialog.h:82
QLabel * myEntityTypeLabel
Definition: newEntityDialog.h:86
virtual void canSetEnumeration(const DtObjectType &)
QLabel * myCategoriesLabel
Definition: newEntityDialog.h:81
Definition: objectType.h:27
QComboBox * myCategories
Definition: newEntityDialog.h:80
makVrv::DtDe & myDe
Definition: newEntityDialog.h:120
QLabel * myNameLabel
Definition: newEntityDialog.h:85
Contains makVrv::DtVirtualBaseClass class.
QPushButton * myOKButton
Definition: newEntityDialog.h:90
int myLastKind
Definition: newEntityDialog.h:95
Definition: newEntityDialog.h:124
QLabel * myDescription
Definition: newEntityDialog.h:79
QLineEdit * myName
Definition: newEntityDialog.h:84
Creator for the list.
Definition: newEntityDialog.h:101
Definition: newEntityDialog.h:37
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: enumerationWidget.h:24
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
DtEntityType myTemplateMatch
Definition: newEntityDialog.h:94
DtEnumerationWidget * myEntityType
Definition: newEntityDialog.h:87
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
makVrv::DtDe & myDe
Definition: newEntityDialog.h:93
bool myCanSelectVisuals
Definition: newEntityDialog.h:96

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)