![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtSelectInstanceWidget.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvUtil/signalslib.h> 00015 #include <vrvCoreQt/vrvCoreQt.h> 00016 #include <QtGui/QWidget> 00017 00018 class QComboBox; 00019 class QLabel; 00020 class QPushButton; 00021 class QStringList; 00022 class QFrame; 00023 class QVBoxLayout; 00024 class QHBoxLayout; 00025 class QSpacerItem; 00026 00027 namespace makVrv 00028 { 00031 class DT_DLL_VRVCOREQT DtSelectInstanceWidget : public QWidget 00032 { 00033 Q_OBJECT; 00034 public: 00036 explicit DtSelectInstanceWidget(DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0); 00037 00039 virtual ~DtSelectInstanceWidget(); 00040 00042 void setSupportsRenaming(bool supportsRenaming); 00043 00046 void setRenamingEnabled( bool enabled ); 00047 00049 void setSupportsAdding(bool supportsAdding); 00050 00053 void setAddingEnabled( bool enabled ); 00054 00056 void setSupportsDeleting(bool supportsDeleting); 00057 00060 void setDeletingEnabled( bool enabled ); 00061 00063 void getInstanceNames(QStringList& list) const; 00064 00066 virtual int count() const; 00067 00070 virtual int currentIndex() const; 00071 00074 virtual QString currentName() const; 00075 00078 virtual int findInstanceIndex(const QString& instanceName); 00079 00081 virtual void clearInstances(); 00082 00084 virtual QString instanceName(int) const; 00085 00086 public slots: 00087 00089 virtual void setInstanceLabel(const QString& labelText ); 00090 00092 virtual void setInstanceIcon(const QString& instanceName, QIcon& icon, 00093 bool clearOtherIcons); 00094 00096 virtual void setInstanceNames(const QStringList& instanceNames); 00097 00100 virtual void setCurrentIndex(int i); 00101 00105 virtual void setCurrentInstanceName(const QString& instanceName); 00106 00111 virtual void addInstance(QString name, int index = -1); 00112 00113 00119 virtual void removeInstance(int i); 00120 00122 virtual void setShowSeparator(bool); 00123 00124 public: 00125 boost::signal<void (int, const std::string&)> signal_currentInstanceChanged; 00126 boost::signal<void ()> signal_renameInstanceRequested; 00127 boost::signal<void ()> signal_newInstanceRequested; 00128 boost::signal<void ()> signal_deleteInstanceRequested; 00129 00130 signals: 00131 00132 void currentIndexChanged(int i); 00133 void instanceNamesChanged(); 00134 00135 void renameInstanceRequested(); 00136 void newInstanceRequested(); 00137 void deleteInstanceRequested(); 00138 00139 protected slots: 00140 00141 void on_myNextButton_clicked(); 00142 void on_myPreviousButton_clicked(); 00143 void on_myRenameInstanceButton_clicked(); 00144 void on_myNewInstanceButton_clicked(); 00145 void on_myDeleteInstanceButton_clicked(); 00146 void on_myInstanceBox_currentIndexChanged(int); 00147 00148 protected: 00149 void updateButtons(); 00150 00151 void setupGui(); 00152 00153 protected: 00154 00155 DtDe& myDe; 00156 QVBoxLayout* myMainLayout; 00157 QHBoxLayout* myButtonLayout; 00158 QLabel* myInstanceLabel; 00159 QPushButton* myNextButton; 00160 QPushButton* myPreviousButton; 00161 QComboBox* myInstanceBox; 00162 QPushButton* myRenameInstanceButton; 00163 QPushButton* myNewInstanceButton; 00164 QPushButton* myDeleteInstanceButton; 00165 bool myRenamingEnabled; 00166 bool myAddingEnabled; 00167 bool myDeletingEnabled; 00168 QFrame* mySeparator; 00169 00170 QSpacerItem* myTopSpacer; 00171 QSpacerItem* myBottomSpacer; 00172 int myBufferSpace; 00173 }; 00174 }