VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtElementDefinitionEditorInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCoreQt/vrvCoreQt.h>
12 
13 class QTreeWidgetItem;
14 class QWidget;
15 class QString;
16 
17 namespace makVrv
18 {
19  class DtVisualDefinitionItemCreator;
20  class DtVisualDefinition;
21  class DtVisualAttributeInterface;
22  enum class DtModelSetId;
23 
27  {
28  public:
31  {
32  ElementDefinitionAdd = 0x00000001,
33  ElementDefinitionRemove = 0x00000002,
34  ElementDefinitionMoveUp = 0x00000004,
35  ElementDefinitionMoveDown = 0x00000008,
36  ElementDefinitionMoveLeft = 0x00000010,
37  ElementDefinitionMoveRight = 0x00000020,
38  ElementDefinitionCopy = 0x00000040,
39  ElementDefinitionPaste = 0x00000080,
40  ElementDefinitionRename = 0x00000100,
41  AllElementDefinitionButtons =
42  ElementDefinitionAdd | ElementDefinitionRemove |
43  ElementDefinitionMoveUp | ElementDefinitionMoveDown |
44  ElementDefinitionMoveLeft | ElementDefinitionMoveRight |
45  ElementDefinitionPaste | ElementDefinitionCopy | ElementDefinitionRename,
46 
47  VisualDefinitionAdd = 0x00000100,
48  VisualDefinitionRemove = 0x00000200,
49  VisualDefinitionAddAttribute = 0x00000400,
50  VisualDefinitionRemoveAttribute= 0x00000800,
51  VisualDefinitionRevert = 0x00001000,
52  AllVisualDefinitionButtons =
53  VisualDefinitionAdd | VisualDefinitionRemove | VisualDefinitionRevert |
54  VisualDefinitionAddAttribute | VisualDefinitionRemoveAttribute
55  };
56 
57  public:
60 
62  virtual void clearModelSets() = 0;
63 
65  virtual void addModelSet(const std::string&, int id) = 0;
66 
68  virtual DtModelSetId modelSet() const = 0;
69 
71  virtual void clearElementDefinitions() = 0;
72 
74  virtual void addPath(const std::string& path) = 0;
75 
77  virtual void selectPath(const std::string& path) = 0;
78 
80  virtual std::string selectedPath() const = 0;
81 
83  virtual void setEnabled(ButtonFlags, bool) = 0;
84 
86  virtual QTreeWidgetItem* selectedElementDefinitionTreeWidgetItem() const = 0;
87 
89  virtual QTreeWidgetItem* selectedVisualDefinitionTreeWidgetItem() const = 0;
90 
92  virtual QTreeWidgetItem* elementDefinitionTreeWidgetRootItem() const = 0;
93 
95  virtual void removePath(const std::string& path) = 0;
96 
98  virtual void clearElementDefinitionSelection() = 0;
99 
101  virtual void movePathTo(const std::string& oldPath, const std::string& newPath) = 0;
102 
104  virtual void reposition(const std::string& from, const std::string& after) = 0;
105 
107  virtual std::string title() const = 0;
108 
110  virtual void clearVisualDefinitions() = 0;
111 
113  virtual void addVisualDefinition(const std::string& vis, const DtVisualDefinition&,
114  const std::string& screenName, bool isInherited) = 0;
115 
118  virtual void addVisualAttribute(const std::string& visualDefinition, const std::string& attribute,
119  const DtVisualAttributeInterface* attr, bool isInherited) = 0;
120 
122  virtual void removeVisualDefinition(const std::string& path, const std::string& vis) = 0;
123 
125  virtual void removeVisualAttribute(const std::string& path, const std::string& vis, const std::string& attr) = 0;
126 
128  virtual QWidget* widget() = 0;
129 
131  virtual void selectVisualDefinition(const std::string& vis) = 0;
132 
134  virtual void selectVisualAttribute(const std::string& vis, const std::string& attr) = 0;
135 
137  virtual void registerItemCreator(int createByType, const std::string& type, DtVisualDefinitionItemCreator*) = 0;
138 
140  virtual int buttonFlags() const = 0;
141 
143  virtual void editSelectedItem(int col = 0) = 0;
144 
146  virtual void setPathModified(const std::string& path, bool modified) = 0;
147 
149  virtual void pathsCleaned() = 0;
150 
152  virtual void setModifiedPaths(const std::map<std::string, bool>&) = 0;
153 
155  virtual void setHelpText(const std::string&) = 0;
156 
158  virtual void setElementDefinitionEditorLabel(const QString& t) = 0;
159 
161  virtual void setDeleteButtonToolTip(const QString& s) = 0;
162 
164  virtual void sort() = 0;
165 
167  virtual void setPathValid(const std::string& path, bool) = 0;
168 
170  virtual void setVisualDefinitionValid(const std::string& visDef, bool) = 0;
171 
173  virtual void setVisualDefinitionErrors(const std::string&) = 0;
174 
176  virtual void appendVisualDefinitionError(const std::string& visDef, const std::string&, bool reset = false) = 0;
177 
180  virtual void clearVisualDefinitionErrorsFor(const std::string& visDef) = 0;
181 
183  virtual void setupVisualDefinitionErrors() = 0;
184 
186  virtual void setElementDefinitionErrors(const std::string&) = 0;
187 
189  virtual void appendElementDefinitionError(const std::string& visDef, const std::string&, bool reset = false) = 0;
190 
193  virtual void clearElementDefinitionErrorsFor(const std::string& visDef) = 0;
194 
196  virtual void setupElementDefinitionErrors() = 0;
197 
199  virtual void setCanRemove(bool) = 0;
200 
201  public:
202  boost::signalslib::signal<void ()> signal_elementDefinitionSelectionChanged;
203  boost::signalslib::signal<void ()> signal_visualDefinitionSelectionChanged;
204  boost::signalslib::signal<void ()> signal_addElementDefinition;
205  boost::signalslib::signal<void (const std::string& path)> signal_removeElementDefinition;
206  boost::signalslib::signal<void (const std::string& path)> signal_addVisualDefinition;
207  boost::signalslib::signal<void (const std::string& path, const std::string& def)> signal_removeVisualDefinition;
208  boost::signalslib::signal<void (const std::string& path, const std::string& def, const std::string& attr)> signal_removeVisualAttribute;
209  boost::signalslib::signal<void (const std::string& path, const std::string& def)> signal_addVisualAttribute;
210  boost::signalslib::signal<void ()> signal_moveUp;
211  boost::signalslib::signal<void (QTreeWidgetItem*, int)> signal_visualAttributeSelected;
212  boost::signalslib::signal<void ()> signal_moveDown;
213  boost::signalslib::signal<void ()> signal_moveLeft;
214  boost::signalslib::signal<void ()> signal_moveRight;
215  boost::signalslib::signal<void ()> signal_copyElement;
216  boost::signalslib::signal<void ()> signal_pasteElement;
217  boost::signalslib::signal<void ()> signal_backupClipboard;
218  boost::signalslib::signal<void ()> signal_restoreClipboard;
219  boost::signalslib::signal<void (const std::string& path)> signal_copyElementDefinition;
220  boost::signalslib::signal<void (const std::string& from, const std::string& to)> signal_copyElementDefinitionPath;
221  boost::signalslib::signal<void (const std::string& path)> signal_pasteElementDefinition;
222  boost::signalslib::signal<void (const std::string& oldPath, const std::string& newPath)> signal_elementDefinitionNameChanged;
223  boost::signalslib::signal<void (const std::string& oldPath, const std::string& newPath)> signal_movePathTo;
224  boost::signalslib::signal<void (const std::string& from, const std::string& top)> signal_reparent;
225  boost::signalslib::signal<void (int)> signal_displayModelSet;
226  boost::signalslib::signal<void (const std::string& attribute)> signal_createNew;
227  };
228 }
This is the interface for the element definition editor widget.
Definition: DtElementDefinitionEditorInterface.h:26
boost::signalslib::signal< void()> signal_addElementDefinition
Definition: DtElementDefinitionEditorInterface.h:204
boost::signalslib::signal< void(const std::string &path, const std::string &def, const std::string &attr)> signal_removeVisualAttribute
Definition: DtElementDefinitionEditorInterface.h:208
boost::signalslib::signal< void()> signal_backupClipboard
Definition: DtElementDefinitionEditorInterface.h:217
boost::signalslib::signal< void(const std::string &oldPath, const std::string &newPath)> signal_movePathTo
Definition: DtElementDefinitionEditorInterface.h:223
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
boost::signalslib::signal< void()> signal_copyElement
Definition: DtElementDefinitionEditorInterface.h:215
boost::signalslib::signal< void(const std::string &from, const std::string &to)> signal_copyElementDefinitionPath
Definition: DtElementDefinitionEditorInterface.h:220
boost::signalslib::signal< void()> signal_visualDefinitionSelectionChanged
Definition: DtElementDefinitionEditorInterface.h:203
boost::signalslib::signal< void(const std::string &path, const std::string &def)> signal_addVisualAttribute
Definition: DtElementDefinitionEditorInterface.h:209
boost::signalslib::signal< void(const std::string &attribute)> signal_createNew
Definition: DtElementDefinitionEditorInterface.h:226
boost::signalslib::signal< void()> signal_moveDown
Definition: DtElementDefinitionEditorInterface.h:212
boost::signalslib::signal< void()> signal_moveUp
Definition: DtElementDefinitionEditorInterface.h:210
boost::signalslib::signal< void(QTreeWidgetItem *, int)> signal_visualAttributeSelected
Definition: DtElementDefinitionEditorInterface.h:211
boost::signalslib::signal< void(const std::string &path)> signal_copyElementDefinition
Definition: DtElementDefinitionEditorInterface.h:219
boost::signalslib::signal< void(int)> signal_displayModelSet
Definition: DtElementDefinitionEditorInterface.h:225
boost::signalslib::signal< void()> signal_moveRight
Definition: DtElementDefinitionEditorInterface.h:214
boost::signalslib::signal< void()> signal_moveLeft
Definition: DtElementDefinitionEditorInterface.h:213
boost::signalslib::signal< void(const std::string &path)> signal_addVisualDefinition
Definition: DtElementDefinitionEditorInterface.h:206
boost::signalslib::signal< void(const std::string &path)> signal_pasteElementDefinition
Definition: DtElementDefinitionEditorInterface.h:221
boost::signalslib::signal< void(const std::string &oldPath, const std::string &newPath)> signal_elementDefinitionNameChanged
Definition: DtElementDefinitionEditorInterface.h:222
boost::signalslib::signal< void(const std::string &path)> signal_removeElementDefinition
Definition: DtElementDefinitionEditorInterface.h:205
boost::signalslib::signal< void()> signal_pasteElement
Definition: DtElementDefinitionEditorInterface.h:216
boost::signalslib::signal< void(const std::string &path, const std::string &def)> signal_removeVisualDefinition
Definition: DtElementDefinitionEditorInterface.h:207
DtModelSetId
Definition: DtModelSetEnums.h:19
boost::signalslib::signal< void()> signal_elementDefinitionSelectionChanged
Definition: DtElementDefinitionEditorInterface.h:202
boost::signalslib::signal< void(const std::string &from, const std::string &top)> signal_reparent
Definition: DtElementDefinitionEditorInterface.h:224
ButtonFlags
Flags to use when enabling/disabling buttons.
Definition: DtElementDefinitionEditorInterface.h:30
boost::signalslib::signal< void()> signal_restoreClipboard
Definition: DtElementDefinitionEditorInterface.h:218

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)