![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 #include <vrvUtil/DtUnicode.h> 00016 00017 namespace makVrv 00018 { 00019 class DtVisualizerAttributeEditorInterface; 00020 00022 class DT_DLL_VRVCOREQT DtElementEditorInterface 00023 { 00024 public: 00025 00027 DtElementEditorInterface(); 00028 00030 virtual ~DtElementEditorInterface(); 00031 00032 virtual void changeElementsStart() = 0; 00033 virtual void addElement(const DtUnicode& name) = 0; 00034 virtual void addElement(const DtUnicode& name, 00035 const DtUnicode& parent) = 0; 00036 virtual void removeElement(const DtUnicode& name) = 0; 00037 virtual void changeElementsStop() = 0; 00038 virtual void clearElements() = 0; 00039 virtual void selectElement(const DtUnicode& name) = 0; 00040 00041 virtual void setModelSets(const std::vector<DtUnicode>& modelSets) = 0; 00042 virtual void setCurrentModelSet(int index) = 0; 00043 00044 virtual void changeDefinitionStart() = 0; 00045 virtual void clearDefinitions() = 0; 00046 virtual void addDefinition(int index, const DtUnicode& name, 00047 bool inherited) = 0; 00048 virtual void removeDefinition(int index) = 0; 00049 virtual void changeDefinitionStop() = 0; 00050 00051 virtual void changeAttributeStart() = 0; 00052 virtual void addAttribute(int defIndex, const std::string& name, 00053 const DtUnicode& value, bool inherited) = 0; 00054 virtual void updateAttribute(int defIndex, const std::string& name, 00055 const DtUnicode& value) = 0; 00056 virtual void removeAttribute(int defIndex, const std::string& name) = 0; 00057 virtual void changeAttributeStop() = 0; 00058 virtual void selectAttribute(int defIndex, const std::string& name) = 0; 00059 virtual void setAttributeDescription(const DtUnicode& desc) = 0; 00060 virtual void createAttributeEditor(int defIndex, const std::string& name, 00061 const std::string& attrClass) = 0; 00062 virtual void destroyAttributeEditor(int defIndex, 00063 const std::string& name) = 0; 00064 00069 virtual std::string chooseNewVisualizerDefinitionType() = 0; 00070 00071 virtual int chooseNewAttributeName(const std::vector< std::pair< std::string, DtUnicode> >& nameTypePairs) = 0; 00072 00074 virtual void setRemoveElementEnabled( bool b ) = 0; 00075 00077 virtual void setAddVisualDefEnabled( bool b ) = 0; 00078 00080 virtual void setRemoveVisualDefEnabled( bool b ) = 0; 00081 00083 virtual void setAddAttributeEnabled( bool b ) = 0; 00084 00086 virtual void setRemoveAttributeEnabled( bool b ) = 0; 00087 00089 virtual void showAddedElements(std::vector<DtUnicode>& addedNames, 00090 std::vector<DtUnicode>& skippedNames) = 0; 00091 00092 boost::signal<void (const DtUnicode&)> signal_addElement; 00093 boost::signal<void ()> signal_removeElement; 00094 boost::signal<void (const DtUnicode&, const DtUnicode&)> signal_renameElement; 00095 boost::signal<void (const DtUnicode&)> signal_elementSelected; 00096 boost::signal<void (const DtUnicode&)> signal_elementDeselected; 00097 boost::signal<void ()> signal_noElementSelected; 00098 00099 boost::signal<void (int index)> signal_modelSetChanged; 00100 00101 boost::signal<void (int index)> signal_visualizerDefSelected; 00102 boost::signal<void (int index)> signal_visualizerDefDeselected; 00103 boost::signal<void (int index, const std::string&)> signal_attributeSelected; 00104 boost::signal<void (int index, const std::string&)> signal_attributeDeselected; 00105 boost::signal<void ()> signal_noVisualizerOrAttributeSelected; 00106 00107 boost::signal<void ()> signal_addVisualizer; 00108 boost::signal<void (int index)> signal_removeVisualizer; 00109 00110 boost::signal<void (int index)> signal_addAttribute; 00111 boost::signal<void (int index, const std::string&)> signal_removeAttribute; 00112 boost::signal<void (int index, const std::string&)> signal_removeLocalAttribute; 00113 00114 boost::signal<void (int index, const std::string&, 00115 DtVisualizerAttributeEditorInterface* iface)> signal_attributeEditorCreated; 00116 }; 00117 } 00118