kexi
kexidbcheckbox.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KexiDBCheckBox_H
00022 #define KexiDBCheckBox_H
00023
00024 #include "kexiformdataiteminterface.h"
00025 #include <qcheckbox.h>
00026
00028 class KEXIFORMUTILS_EXPORT KexiDBCheckBox : public QCheckBox, public KexiFormDataItemInterface
00029 {
00030 Q_OBJECT
00031 Q_PROPERTY(QString dataSource READ dataSource WRITE setDataSource DESIGNABLE true)
00032 Q_PROPERTY(QCString dataSourceMimeType READ dataSourceMimeType WRITE setDataSourceMimeType DESIGNABLE true)
00033 Q_OVERRIDE( Tristate tristate READ isTristate WRITE setTristate )
00034 Q_ENUMS( Tristate )
00035
00036 public:
00037 KexiDBCheckBox(const QString &text, QWidget *parent, const char *name=0);
00038 virtual ~KexiDBCheckBox();
00039
00040 inline QString dataSource() const { return KexiFormDataItemInterface::dataSource(); }
00041 inline QCString dataSourceMimeType() const { return KexiFormDataItemInterface::dataSourceMimeType(); }
00042 virtual QVariant value();
00043 virtual void setInvalidState( const QString& displayText );
00044
00047 virtual bool valueIsNull();
00048
00053 virtual bool valueIsEmpty();
00054
00056 virtual bool isReadOnly() const;
00057
00059 virtual QWidget* widget();
00060
00061 virtual bool cursorAtStart();
00062 virtual bool cursorAtEnd();
00063 virtual void clear();
00064
00065 virtual void setEnabled(bool enabled);
00066
00067 enum Tristate { TristateDefault, TristateOn, TristateOff };
00068
00069 void setTristate(Tristate tristate);
00070 Tristate isTristate() const;
00071
00073 virtual void setDisplayDefaultValue(QWidget* widget, bool displayDefaultValue);
00074
00075 public slots:
00076 void setDataSource(const QString &ds);
00077 inline void setDataSourceMimeType(const QCString &ds) { KexiFormDataItemInterface::setDataSourceMimeType(ds); }
00078 void slotStateChanged(int state);
00079
00081 virtual void setReadOnly( bool readOnly );
00082
00083 protected:
00084 virtual void setValueInternal(const QVariant& add, bool removeOld);
00085
00088 bool isTristateInternal() const;
00089
00091 void updateTristate();
00092
00093 private:
00094 bool m_invalidState : 1;
00095 bool m_tristateChanged : 1;
00096 Tristate m_tristate;
00097 };
00098
00099 #endif
|