19 #include <QtWidgets/QWidget>
20 #include <QtCore/QList>
21 #include <QtCore/QMap>
22 #include <boost/bind.hpp>
23 #include <boost/signals.hpp>
37 class DtElementEditorLogic;
38 class DtPersistenceControlsInterface;
39 class DtDeselectableTreeWidget;
53 DtDe& de, QWidget* parent,
60 virtual void activate();
63 virtual void deactivate();
66 virtual void changeElementsStart();
67 virtual void addElement(
const DtUnicode& name,
bool valid,
bool bold =
false);
68 virtual void addElement(
const DtUnicode& name,
const DtUnicode& parentName,
bool valid,
bool bold =
false);
69 virtual void removeElement(
const DtUnicode& name);
70 virtual void changeElementsStop();
71 virtual void clearElements();
72 virtual void selectElement(
const DtUnicode& name);
74 virtual void setModelSets(
const std::vector<DtUnicode>& modelSets);
75 virtual void setCurrentModelSet(
int index);
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();
83 virtual void changeAttributeStart();
84 virtual void addAttribute(
int defIndex,
const std::string& name,
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,
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 bool wasAttributeEditorValueModified(
int defIndex,
const std::string& name);
99 virtual std::string chooseNewVisualizerDefinitionType();
100 virtual int chooseNewAttributeName(
const std::vector< std::pair< std::string, DtUnicode> >& nameTypePairs);
103 virtual void setRemoveElementEnabled(
bool b );
106 virtual void setAddVisualDefEnabled(
bool b );
109 virtual void setRemoveVisualDefEnabled(
bool b );
112 virtual void setAddAttributeEnabled(
bool b );
115 virtual void setRemoveAttributeEnabled(
bool b );
118 virtual void showAddedElements(std::vector<DtUnicode>& addedNames,
119 std::vector<DtUnicode>& skippedNames);
122 virtual std::vector<std::string> selectedInstancesNames();
139 virtual void expandItem(
const DtUnicode& name);
142 virtual void checkIfModified();
152 QString nameOfSelectedElement()
const;
155 int indexOfSelectedVisualizer();
159 QString nameOfSelectedAttribute()
const;
162 virtual bool isEmpty();
172 void slot_addElementDefinition();
173 void slot_removeElementDefinition();
174 void slot_renameElementDefinition();
176 void slot_addVisualizerDef();
177 void slot_removeVisualizerDef();
179 void slot_addAttribute();
180 void slot_removeAttribute();
181 void slot_removeOverrideAttribute();
183 void slot_modelSetChanged(
int index);
184 void destroyEditors();