VR-Forces 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>
18 #include <QtGui/QValidator>
19 
20 namespace makVrf
21 {
22  class DtEntityMapperKey;
23 };
24 
25 class QComboBox;
26 class QLineEdit;
28 class QLabel;
29 class QPushButton;
30 
31 namespace makVrf
32 {
33  class DtEntityMapperKey;
34 }
35 
37 {
38  Q_OBJECT
39 
40 public:
41  DtNewEntityDialog(makVrv::DtDe&, QWidget* parent, const Qt::WindowFlags& f = 0, bool isInheriting = false);
42 
43  virtual bool init(bool categorySelection = true, int onlyForKind = -1);
44 
45  virtual QString parameterType() const;
46  virtual DtEntityType objectType() const;
47 
48  virtual QString name() const;
49 
50  static DtNewEntityDialog* create(QWidget* p = NULL);
51 
52  virtual void setEntityType(const DtEntityType&);
53 
54  virtual QString category() const;
55 
56  virtual DtRwNLengthStringVector categories() const;
57 
58  virtual DtEntityType templateType() const;
59 
60  virtual void updateTakeVisualsFrom();
61 
62  virtual makVrv::DtUnicode elementDefinition() const;
63 
64  virtual void setCanSelectVisuals(bool b);
65 
66 protected:
67  virtual void accept() override;
68 
69 protected slots:
70  virtual void categoryChanged();
71  virtual DtEntityType objectTypeSelected() const;
72  virtual void updateTemplates();
73  virtual void templateChanged();
74  virtual void updateEntityType(const makVrf::DtEntityMapperKey&);
75 
76 public:
90 
91 protected:
93  DtEntityType myTemplateMatch;
97 };
98 
101 {
102 public:
105 
107  virtual ~DtNewEntityDialogCreator() override;
108 
110  static DtNewEntityDialogCreator& instance(makVrv::DtDe&);
111 
113  static void registerInstance(makVrv::DtDe&, DtNewEntityDialogCreator*);
114 
116  virtual DtNewEntityDialog* create(QWidget* parent, bool isInheriting = false);
117 
118 protected:
120 };
121 
122 //custom version of the enumeration widget so that inheriting entities in derived smss can be created with identical object types
124 {
125  Q_OBJECT
126 
127 public:
128  //CTOR
129  DtNewInheritingEntityEnumerationWidget(makVrv::DtDe&, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
130 
131 public slots:
132  virtual void canSetEnumeration(const DtEntityType&) override;
133 };
QLabel * myDescriptionLabel
Definition: newEntityDialog.h:77
Definition: entityMapperKey.h:19
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:87
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:88
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
bool myIsInheriting
Definition: newEntityDialog.h:96
QComboBox * myTemplates
Definition: newEntityDialog.h:82
QLabel * myTemplatesLabel
Definition: newEntityDialog.h:81
QLabel * myEntityTypeLabel
Definition: newEntityDialog.h:85
QLabel * myCategoriesLabel
Definition: newEntityDialog.h:80
QComboBox * myCategories
Definition: newEntityDialog.h:79
makVrv::DtDe & myDe
Definition: newEntityDialog.h:119
QLabel * myNameLabel
Definition: newEntityDialog.h:84
Contains makVrv::DtVirtualBaseClass class.
QPushButton * myOKButton
Definition: newEntityDialog.h:89
int myLastKind
Definition: newEntityDialog.h:94
Definition: newEntityDialog.h:123
QLabel * myDescription
Definition: newEntityDialog.h:78
QLineEdit * myName
Definition: newEntityDialog.h:83
Creator for the list.
Definition: newEntityDialog.h:100
Definition: newEntityDialog.h:36
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: enumerationWidget.h:24
virtual void canSetEnumeration(const DtEntityType &)
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
DtEntityType myTemplateMatch
Definition: newEntityDialog.h:93
DtEnumerationWidget * myEntityType
Definition: newEntityDialog.h:86
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
makVrv::DtDe & myDe
Definition: newEntityDialog.h:92
bool myCanSelectVisuals
Definition: newEntityDialog.h:95

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)