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
00043 class KEXIFORMUTILS_EXPORT KexiDBLabel : public QLabel, protected KexiDBTextWidgetInterface, public KexiFormDataItemInterface {
00044 Q_OBJECT
00045 Q_PROPERTY( QString dataSource READ dataSource WRITE setDataSource DESIGNABLE true )
00046 Q_PROPERTY( QCString dataSourceMimeType READ dataSourceMimeType WRITE setDataSourceMimeType DESIGNABLE true )
00047 Q_PROPERTY( bool shadowEnabled READ shadowEnabled WRITE setShadowEnabled DESIGNABLE true )
00048 Q_OVERRIDE( QPixmap pixmap DESIGNABLE false )
00049 Q_OVERRIDE( bool scaledContents DESIGNABLE false )
00050
00051 Q_PROPERTY( QColor frameColor READ frameColor WRITE setFrameColor DESIGNABLE true )
00052
00053 public:
00054 KexiDBLabel( QWidget *parent, const char *name = 0, WFlags f = 0 );
00055 KexiDBLabel( const QString& text, QWidget *parent, const char *name = 0, WFlags f = 0 );
00056 virtual ~KexiDBLabel();
00057
00058 inline QString dataSource() const { return KexiFormDataItemInterface::dataSource(); }
00059 inline QCString dataSourceMimeType() const { return KexiFormDataItemInterface::dataSourceMimeType(); }
00060
00061 virtual QVariant value();
00062
00063 bool shadowEnabled() const;
00064
00065 virtual void setInvalidState( const QString& displayText );
00066
00067 virtual bool valueIsNull();
00068
00069 virtual bool valueIsEmpty();
00070
00072 virtual bool isReadOnly() const;
00073
00074 virtual QWidget* widget();
00075
00077 virtual bool cursorAtStart();
00078
00080 virtual bool cursorAtEnd();
00081
00082 virtual void clear();
00083
00085 virtual bool setProperty ( const char * name, const QVariant & value );
00086
00087 virtual const QColor& frameColor() const;
00088
00089
00090
00091 public slots:
00093 inline void setDataSource( const QString &ds ) { KexiFormDataItemInterface::setDataSource( ds ); }
00094
00095 inline void setDataSourceMimeType(const QCString &ds) { KexiFormDataItemInterface::setDataSourceMimeType(ds); }
00096
00097 virtual void setText( const QString& text );
00098
00101 void setShadowEnabled( bool state );
00102
00103 virtual void setPalette( const QPalette &pal );
00104
00105 virtual void setFrameColor(const QColor& color);
00106
00107
00108
00109 protected slots:
00110 void updatePixmap();
00111
00112 protected:
00113 void init();
00114 virtual void setColumnInfo(KexiDB::QueryColumnInfo* cinfo);
00115 virtual void paintEvent( QPaintEvent* );
00116 virtual void resizeEvent( QResizeEvent* e );
00117
00119 virtual void setValueInternal( const QVariant& add, bool removeOld );
00120
00121 virtual void fontChange( const QFont& font );
00122 virtual void styleChange( QStyle& style );
00123 virtual void enabledChange( bool enabled );
00124
00125 virtual void paletteChange( const QPalette& oldPal );
00126 virtual void frameChanged();
00127 virtual void showEvent( QShowEvent* e );
00128
00131 virtual void drawFrame( QPainter * );
00132
00133 void updatePixmapLater();
00134
00135 class Private;
00136 Private *d;
00137 };
00138
00139 #endif
|