kexi
kexidblabel.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KEXIDBLABEL_H
00022 #define KEXIDBLABEL_H
00023
00024 #include <qimage.h>
00025 #include <qlabel.h>
00026
00027 #include <kpixmap.h>
00028
00029 #include "../kexiformdataiteminterface.h"
00030 #include "../kexidbtextwidgetinterface.h"
00031 #include <widget/utils/kexidisplayutils.h>
00032
00033 class QPainter;
00034 class QTimer;
00035 class KexiDBInternalLabel;
00036
00038
00042 class KEXIFORMUTILS_EXPORT KexiDBLabel : public QLabel, protected KexiDBTextWidgetInterface, public KexiFormDataItemInterface {
00043 Q_OBJECT
00044 Q_PROPERTY( QString dataSource READ dataSource WRITE setDataSource DESIGNABLE true )
00045 Q_PROPERTY( QCString dataSourceMimeType READ dataSourceMimeType WRITE setDataSourceMimeType DESIGNABLE true )
00046 Q_PROPERTY( bool shadowEnabled READ shadowEnabled WRITE setShadowEnabled DESIGNABLE true )
00047 Q_OVERRIDE( QPixmap pixmap DESIGNABLE false )
00048 Q_OVERRIDE( bool scaledContents DESIGNABLE false )
00049
00050 Q_PROPERTY( QColor frameColor READ frameColor WRITE setFrameColor DESIGNABLE true )
00051
00052 public:
00053 KexiDBLabel( QWidget *parent, const char *name = 0, WFlags f = 0 );
00054 KexiDBLabel( const QString& text, QWidget *parent, const char *name = 0, WFlags f = 0 );
00055 virtual ~KexiDBLabel();
00056
00057 inline QString dataSource() const { return KexiFormDataItemInterface::dataSource(); }
00058 inline QCString dataSourceMimeType() const { return KexiFormDataItemInterface::dataSourceMimeType(); }
00059
00060 virtual QVariant value();
00061
00062 bool shadowEnabled() const;
00063
00064 virtual void setInvalidState( const QString& displayText );
00065
00066 virtual bool valueIsNull();
00067
00068 virtual bool valueIsEmpty();
00069
00071 virtual bool isReadOnly() const;
00072
00073 virtual QWidget* widget();
00074
00076 virtual bool cursorAtStart();
00077
00079 virtual bool cursorAtEnd();
00080
00081 virtual void clear();
00082
00084 virtual bool setProperty ( const char * name, const QVariant & value );
00085
00086 virtual const QColor& frameColor() const;
00087
00088
00089
00090 public slots:
00092 inline void setDataSource( const QString &ds ) { KexiFormDataItemInterface::setDataSource( ds ); }
00093
00094 inline void setDataSourceMimeType(const QCString &ds) { KexiFormDataItemInterface::setDataSourceMimeType(ds); }
00095
00096 virtual void setText( const QString& text );
00097
00100 void setShadowEnabled( bool state );
00101
00102 virtual void setPalette( const QPalette &pal );
00103
00104 virtual void setFrameColor(const QColor& color);
00105
00106
00107
00108 protected slots:
00110 virtual void setReadOnly( bool readOnly );
00111 void updatePixmap();
00112
00113 protected:
00114 void init();
00115 virtual void setColumnInfo(KexiDB::QueryColumnInfo* cinfo);
00116 virtual void paintEvent( QPaintEvent* );
00117 virtual void resizeEvent( QResizeEvent* e );
00118
00120 virtual void setValueInternal( const QVariant& add, bool removeOld );
00121
00122 virtual void fontChange( const QFont& font );
00123 virtual void styleChange( QStyle& style );
00124 virtual void enabledChange( bool enabled );
00125
00126 virtual void paletteChange( const QPalette& oldPal );
00127 virtual void frameChanged();
00128 virtual void showEvent( QShowEvent* e );
00129
00132 virtual void drawFrame( QPainter * );
00133
00134 void updatePixmapLater();
00135
00136 class Private;
00137 Private *d;
00138 };
00139
00140 #endif
|