VR-Forces 4.0.4 Class Documentation
include/vrfGuiCommon/enumerationSelectionWidget.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)