![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtMapEditorWidget.h,v $ $Revision: 1.14 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtMapEditorWidget_H_ 00014 #define DtMapEditorWidget_H_ 00015 00016 #include <vrvCoreQt/vrvCoreQt.h> 00017 #include <QtGui/QWidget> 00018 #include <vrvCoreQt/DtMapEditorInterface.h> 00019 00020 #include <map> 00021 00022 class QHBoxLayout; 00023 class QLabel; 00024 class QLineEdit; 00025 class QPushButton; 00026 class QTreeWidget; 00027 class QTreeWidgetItem; 00028 class QVBoxLayout; 00029 class QAction; 00030 class QMenu; 00031 00032 namespace makVrv 00033 { 00034 class DtDe; 00035 class DtContextTreeWidget; 00036 00039 class DT_DLL_VRVCOREQT DtMapEditorWidget : public QWidget, public DtMapEditorInterface 00040 { 00041 Q_OBJECT; 00042 public: 00044 DtMapEditorWidget(DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0); 00045 00047 virtual ~DtMapEditorWidget(); 00048 00050 virtual void setColumnTitles( QString keyTitle,QStringList valueTitles); 00051 00053 virtual void setPossibleValues(QStringList values,int column); 00054 00056 const QStringList& possibleValues(int column); 00057 00060 virtual void setValue(const std::string& key, const std::string& value, int index = 1, 00061 DtCustomTreeWidgetEditor::EditorType defaultEditor = DtCustomTreeWidgetEditor::DefaultEditor); 00062 00064 virtual void deleteValue(const std::string& key); 00065 00067 virtual void clearValues(); 00068 00070 virtual void renameKey(const std::string& oldkey, const std::string& newkey); 00071 00073 virtual void selectValue(const std::string& key); 00074 00076 virtual void unableToRenameParameter(const std::string& oldName); 00077 00079 virtual void setKeyVisible(bool visible); 00080 00082 virtual void setLabelText(const std::string&); 00083 00084 virtual void setUseSpacer(bool); 00085 00087 virtual void sortValues(); 00088 00089 protected slots: 00090 00091 virtual void on_myTreeWidget_itemActivated(QTreeWidgetItem * item, int column); 00092 virtual void on_myTreeWidget_itemDoubleClicked(QTreeWidgetItem * item, int column); 00093 virtual void on_myTreeWidget_itemClicked(QTreeWidgetItem * item, int column); 00094 virtual void on_myTreeWidget_itemChanged(QTreeWidgetItem * item, int column); 00095 virtual void on_myTreeWidget_itemSelectionChanged(); 00096 virtual void on_myAddButton_clicked(); 00097 virtual void on_myDeleteButton_clicked(); 00098 virtual void on_myRenameButton_clicked(); 00099 virtual void on_addKey(QAction* action); 00100 00101 void editParameterName( QString nameInData ); 00102 00103 protected: 00104 QString askForNewName(QString initial, const QString& title); 00105 00106 void setupGui(); 00107 00108 QTreeWidgetItem* findItem( const std::string& key ); 00109 QString selectedInstanceName() const; 00110 00111 protected: 00112 00113 DtDe& myDe; 00114 QVBoxLayout* myMainLayout; 00115 QLabel* myLabel; 00116 QLabel* mySpacer; 00117 QHBoxLayout* myButtonLayout; 00118 DtContextTreeWidget* myTreeWidget; 00119 QPushButton* myAddButton; 00120 QPushButton* myDeleteButton; 00121 QPushButton* myRenameButton; 00122 QMenu* myMenu; 00123 00124 typedef std::map<std::string,QTreeWidgetItem*> FastTreeLoopkupMap; 00125 FastTreeLoopkupMap myFastItemLookup; 00126 00127 typedef std::map<int, QStringList> ComboValueMap; 00128 ComboValueMap myPossibleValues; 00129 00130 }; 00131 } 00132 00133 #endif 00134