![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtPersistenceToolbarInterface.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 00016 class QTreeWidgetItem; 00017 class QWidget; 00018 class QString; 00019 00020 namespace makVrv 00021 { 00022 class DtVisualDefinitionItemCreator; 00023 class DtVisualDefinition; 00024 class DtVisualAttributeInterface; 00025 00028 class DT_DLL_VRVCOREQT DtElementDefinitionEditorInterface 00029 { 00030 public: 00032 enum ButtonFlags 00033 { 00034 ElementDefinitionAdd = 0x00000001, 00035 ElementDefinitionRemove = 0x00000002, 00036 ElementDefinitionMoveUp = 0x00000004, 00037 ElementDefinitionMoveDown = 0x00000008, 00038 ElementDefinitionMoveLeft = 0x00000010, 00039 ElementDefinitionMoveRight = 0x00000020, 00040 ElementDefinitionCopy = 0x00000040, 00041 ElementDefinitionPaste = 0x00000080, 00042 ElementDefinitionRename = 0x00000100, 00043 AllElementDefinitionButtons = 00044 ElementDefinitionAdd | ElementDefinitionRemove | 00045 ElementDefinitionMoveUp | ElementDefinitionMoveDown | 00046 ElementDefinitionMoveLeft | ElementDefinitionMoveRight | 00047 ElementDefinitionPaste | ElementDefinitionCopy | ElementDefinitionRename, 00048 00049 VisualDefinitionAdd = 0x00000100, 00050 VisualDefinitionRemove = 0x00000200, 00051 VisualDefinitionAddAttribute = 0x00000400, 00052 VisualDefinitionRemoveAttribute= 0x00000800, 00053 VisualDefinitionRevert = 0x00001000, 00054 AllVisualDefinitionButtons = 00055 VisualDefinitionAdd | VisualDefinitionRemove | VisualDefinitionRevert | 00056 VisualDefinitionAddAttribute | VisualDefinitionRemoveAttribute 00057 }; 00058 00059 public: 00061 virtual ~DtElementDefinitionEditorInterface(); 00062 00064 virtual void clearModelSets() = 0; 00065 00067 virtual void addModelSet(const std::string&, int id) = 0; 00068 00070 virtual int modelSet() const = 0; 00071 00073 virtual void clearElementDefinitions() = 0; 00074 00076 virtual void addPath(const std::string& path) = 0; 00077 00079 virtual void selectPath(const std::string& path) = 0; 00080 00082 virtual std::string selectedPath() const = 0; 00083 00085 virtual void setEnabled(ButtonFlags, bool) = 0; 00086 00088 virtual QTreeWidgetItem* selectedElementDefinitionTreeWidgetItem() const = 0; 00089 00091 virtual QTreeWidgetItem* selectedVisualDefinitionTreeWidgetItem() const = 0; 00092 00094 virtual QTreeWidgetItem* elementDefinitionTreeWidgetRootItem() const = 0; 00095 00097 virtual void removePath(const std::string& path) = 0; 00098 00100 virtual void clearElementDefinitionSelection() = 0; 00101 00103 virtual void movePathTo(const std::string& oldPath, const std::string& newPath) = 0; 00104 00106 virtual void reposition(const std::string& from, const std::string& after) = 0; 00107 00109 virtual std::string title() const = 0; 00110 00112 virtual void clearVisualDefinitions() = 0; 00113 00115 virtual void addVisualDefinition(const std::string& vis, const DtVisualDefinition&, 00116 const std::string& screenName, bool isInherited) = 0; 00117 00120 virtual void addVisualAttribute(const std::string& visualDefinition, const std::string& attribute, 00121 const DtVisualAttributeInterface* attr, bool isInherited) = 0; 00122 00124 virtual void removeVisualDefinition(const std::string& path, const std::string& vis) = 0; 00125 00127 virtual void removeVisualAttribute(const std::string& path, const std::string& vis, const std::string& attr) = 0; 00128 00130 virtual QWidget* widget() = 0; 00131 00133 virtual void selectVisualDefinition(const std::string& vis) = 0; 00134 00136 virtual void selectVisualAttribute(const std::string& vis, const std::string& attr) = 0; 00137 00139 virtual void registerItemCreator(int createByType, const std::string& type, DtVisualDefinitionItemCreator*) = 0; 00140 00142 virtual int buttonFlags() const = 0; 00143 00145 virtual void editSelectedItem(int col = 0) = 0; 00146 00148 virtual void setPathModified(const std::string& path, bool modified) = 0; 00149 00151 virtual void pathsCleaned() = 0; 00152 00154 virtual void setModifiedPaths(const std::map<std::string, bool>&) = 0; 00155 00157 virtual void setHelpText(const std::string&) = 0; 00158 00160 virtual void setElementDefinitionEditorLabel(const QString& t) = 0; 00161 00163 virtual void setDeleteButtonToolTip(const QString& s) = 0; 00164 00166 virtual void sort() = 0; 00167 00169 virtual void setPathValid(const std::string& path, bool) = 0; 00170 00172 virtual void setVisualDefinitionValid(const std::string& visDef, bool) = 0; 00173 00175 virtual void setVisualDefinitionErrors(const std::string&) = 0; 00176 00178 virtual void appendVisualDefinitionError(const std::string& visDef, const std::string&, bool reset = false) = 0; 00179 00182 virtual void clearVisualDefinitionErrorsFor(const std::string& visDef) = 0; 00183 00185 virtual void setupVisualDefinitionErrors() = 0; 00186 00188 virtual void setElementDefinitionErrors(const std::string&) = 0; 00189 00191 virtual void appendElementDefinitionError(const std::string& visDef, const std::string&, bool reset = false) = 0; 00192 00195 virtual void clearElementDefinitionErrorsFor(const std::string& visDef) = 0; 00196 00198 virtual void setupElementDefinitionErrors() = 0; 00199 00201 virtual void setCanRemove(bool) = 0; 00202 00203 public: 00204 boost::signal<void ()> signal_elementDefinitionSelectionChanged; 00205 boost::signal<void ()> signal_visualDefinitionSelectionChanged; 00206 boost::signal<void ()> signal_addElementDefinition; 00207 boost::signal<void (const std::string& path)> signal_removeElementDefinition; 00208 boost::signal<void (const std::string& path)> signal_addVisualDefinition; 00209 boost::signal<void (const std::string& path, const std::string& def)> signal_removeVisualDefinition; 00210 boost::signal<void (const std::string& path, const std::string& def, const std::string& attr)> signal_removeVisualAttribute; 00211 boost::signal<void (const std::string& path, const std::string& def)> signal_addVisualAttribute; 00212 boost::signal<void ()> signal_moveUp; 00213 boost::signal<void (QTreeWidgetItem*, int)> signal_visualAttributeSelected; 00214 boost::signal<void ()> signal_moveDown; 00215 boost::signal<void ()> signal_moveLeft; 00216 boost::signal<void ()> signal_moveRight; 00217 boost::signal<void ()> signal_copyElement; 00218 boost::signal<void ()> signal_pasteElement; 00219 boost::signal<void ()> signal_backupClipboard; 00220 boost::signal<void ()> signal_restoreClipboard; 00221 boost::signal<void (const std::string& path)> signal_copyElementDefinition; 00222 boost::signal<void (const std::string& from, const std::string& to)> signal_copyElementDefinitionPath; 00223 boost::signal<void (const std::string& path)> signal_pasteElementDefinition; 00224 boost::signal<void (const std::string& oldPath, const std::string& newPath)> signal_elementDefinitionNameChanged; 00225 boost::signal<void (const std::string& oldPath, const std::string& newPath)> signal_movePathTo; 00226 boost::signal<void (const std::string& from, const std::string& top)> signal_reparent; 00227 boost::signal<void (int)> signal_displayModelSet; 00228 boost::signal<void (const std::string& attribute)> signal_createNew; 00229 }; 00230 }