![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: enumerationSelectionWidget.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtEnumerationSelectionWidget_H_ 00013 #define DtEnumerationSelectionWidget_H_ 00014 00015 #include "vrfGuiCommon/ui_enumerationSelectionUI.h" 00016 #include "tmqt/disDictionary.h" 00017 #include <vrfExtProtocol/rangedObjType.h> 00018 00019 #include <QtGui/QLineEdit> 00020 #include <QtGui/QComboBox> 00021 #include <QtGui/QValidator> 00022 00023 class DtRangedObjectType; 00024 class DtObjectType; 00025 00026 #include "vrfGuiCommon/vrfGuiCommonDefines.h" 00027 class DT_DLL_vrfGuiCommon DtEnumerationSelectionWidget : public QWidget 00028 { 00029 00030 Q_OBJECT 00031 00032 public: 00033 00035 DtEnumerationSelectionWidget(QWidget* parent = NULL, const Qt::WindowFlags& flags = 0); 00036 00038 virtual ~DtEnumerationSelectionWidget(); 00039 00043 virtual bool init(DtDisDictionary* disDictionary, 00044 bool showEnumInText = false); 00045 00046 virtual void setObjectType(const DtRangedObjectType&); 00047 virtual void objectType(DtRangedObjectType&) const; 00048 virtual void objectType(DtObjectType&) const; 00049 00050 virtual void setKindEnabled(bool); 00051 00052 void setOnlyValidKind(int); 00053 int onlyValidKind() const; 00054 00055 void setAllowRange(bool); 00056 bool allowRange() const; 00057 00058 void setAllowWildcard(bool v); 00059 bool allowWildCard() const; 00060 00061 static DtEnumerationSelectionWidget* create(QWidget* parent = NULL); 00062 00063 protected: 00064 virtual QString addEntry(int id, const char* str, QComboBox* combo); 00065 virtual void setupCombo(QComboBox*, QLineEdit*); 00066 virtual void setComboValue(QComboBox*, const QString&); 00067 00068 protected: 00069 virtual void setComboValue(QComboBox* box, int iIndex, const DtRangedObjectType&); 00070 virtual void comboChangedWithReset(QComboBox* box, const QString&); 00071 virtual void comboChanged(QComboBox*, const QString&); 00072 00073 signals: 00074 void typeChanged(const DtRangedObjectType&); 00075 00076 public slots: 00077 virtual void comboChanged(int); 00078 virtual void enumerationChanged(const QString&); 00079 00080 private: 00082 DtEnumerationSelectionWidget(const DtEnumerationSelectionWidget& orig); 00083 00085 DtEnumerationSelectionWidget& operator=(const DtEnumerationSelectionWidget& rhs); 00086 00087 public: 00088 Ui::EnumerationSelectionUI myUiImpl; 00089 00090 protected: 00091 QHash<QComboBox*, QLineEdit*> myComboMappings; 00092 QHash<int, QComboBox*> myComboIndex; 00093 DtRangedObjectType myObjectType; 00094 DtDisDictionary* myDisDictionary; 00095 int myOnlyValidKind; 00096 QIntValidator myValidator; 00097 bool myAllowRange; 00098 bool myShowEnumInText; 00099 bool myAllowWildCard; 00100 }; 00101 00102 inline void DtEnumerationSelectionWidget::setOnlyValidKind(int i) 00103 { 00104 DtRangedObjectType o; 00105 myOnlyValidKind = i; 00106 objectType(o); 00107 setObjectType(o); 00108 } 00109 00110 inline int DtEnumerationSelectionWidget::onlyValidKind() const 00111 { 00112 return myOnlyValidKind; 00113 } 00114 00115 inline bool DtEnumerationSelectionWidget::allowRange() const 00116 { 00117 return myAllowRange; 00118 } 00119 00120 #endif