VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtElementEditorWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
16 #include <vrvUtil/signalslib.h>
17 #include <vrvUtil/DtUnicode.h>
18 
19 #include <QtGui/QWidget>
20 #include <QtCore/QList>
21 #include <QtCore/QMap>
22 #include <boost/bind.hpp>
23 #include <boost/signals.hpp>
24 
25 class QComboBox;
26 class QHBoxLayout;
27 class QLabel;
28 class QPushButton;
29 class QSplitter;
30 class QTreeWidget;
31 class QTreeWidgetItem;
32 class QVBoxLayout;
33 class QTextEdit;
34 
35 namespace makVrv
36 {
37  class DtElementEditorLogic;
38  class DtPersistenceControlsInterface;
39 
44  {
45  Q_OBJECT
46  public:
47 
52  DtDe& de, QWidget* parent,
53  DtPersistenceControlsInterface* persistenceToolbar);
54 
57 
59  virtual void activate();
60 
62  virtual void deactivate();
63 
65 
66  virtual void changeElementsStart();
67  virtual void addElement(const DtUnicode& name, bool valid);
68  virtual void addElement(const DtUnicode& name, const DtUnicode& parentName, bool valid);
69  virtual void removeElement(const DtUnicode& name);
70  virtual void changeElementsStop();
71  virtual void clearElements();
72  virtual void selectElement(const DtUnicode& name);
73 
74  virtual void setModelSets(const std::vector<DtUnicode>& modelSets);
75  virtual void setCurrentModelSet(int index);
76 
77  virtual void changeDefinitionStart();
78  virtual void clearDefinitions();
79  virtual void addDefinition(int index, const DtUnicode& name, bool inherited);
80  virtual void removeDefinition(int index);
81  virtual void changeDefinitionStop();
82 
83  virtual void changeAttributeStart();
84  virtual void addAttribute(int defIndex, const std::string& name,
85  const DtUnicode& value, bool inherited);
86  virtual void removeAttribute(int defIndex, const std::string& name);
87  virtual void changeAttributeStop();
88  virtual void selectAttribute(int defIndex, const std::string& name);
89  virtual void updateAttribute(int defIndex, const std::string& name,
90  const DtUnicode& value);
91 
92  QTreeWidgetItem* findAttributeItem( int defIndex, const std::string& name);
93  virtual void setAttributeDescription(const DtUnicode& desc);
94  virtual void createAttributeEditor(int defIndex, const std::string& name,
95  const std::string& attrClass);
96  virtual void destroyAttributeEditor(int defIndex, const std::string& name);
97 
98  virtual std::string chooseNewVisualizerDefinitionType();
99  virtual int chooseNewAttributeName(const std::vector< std::pair< std::string, DtUnicode> >& nameTypePairs);
100 
102  virtual void setRemoveElementEnabled( bool b );
103 
105  virtual void setAddVisualDefEnabled( bool b );
106 
108  virtual void setRemoveVisualDefEnabled( bool b );
109 
111  virtual void setAddAttributeEnabled( bool b );
112 
114  virtual void setRemoveAttributeEnabled( bool b );
115 
117  virtual void showAddedElements(std::vector<DtUnicode>& addedNames,
118  std::vector<DtUnicode>& skippedNames);
119 
121 
122  protected:
123 
124  void setupGui();
125 
128  QString nameOfSelectedElement() const;
129 
130  //Utility function.
131  int indexOfSelectedVisualizer();
132 
135  QString nameOfSelectedAttribute() const;
136 
137  public slots:
138 
139  void slot_currentElementItemChanged ( QTreeWidgetItem * current,
140  QTreeWidgetItem * previous );
141 
142  void slot_currentVisualizerDefItemChanged ( QTreeWidgetItem * current,
143  QTreeWidgetItem * previous );
144 
145  void slot_addElementDefinition();
146  void slot_removeElementDefinition();
147  void slot_renameElementDefinition();
148 
149  void slot_addVisualizerDef();
150  void slot_removeVisualizerDef();
151 
152  void slot_addAttribute();
153  void slot_removeAttribute();
154  void slot_removeOverrideAttribute();
155 
156  void slot_modelSetChanged(int index);
157  void destroyEditors();
158 
159  protected:
160 
165  QMap<QString,QTreeWidgetItem*> myCacheMap;
166 
170 
171  QVBoxLayout* myMainLayout;
172  QSplitter* mySplitter;
174  QVBoxLayout* myLeftWidgetLayout;
176  QVBoxLayout* myRightWidgetLayout;
177 
180 
181  QHBoxLayout* myElementButtonLayout;
185 
193 
194  QHBoxLayout* myModelSetLayout;
199 
201  };
202 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)