00001 #ifndef _QDBTINTCELL_H 00002 #define _QDBTINTCELL_H 00003 00004 #include <qstring.h> 00005 #include <qrect.h> 00006 00007 #include <qdbt/qdbtglobal.h> 00008 #include "qdbtbasecell.h" 00009 00010 class QPainter; 00011 class QdbtBaseTabular; 00012 00013 class QDBT_EXPORT QdbtIntCell : public QdbtBaseCell 00014 { 00015 public: 00016 00017 QdbtIntCell(); 00018 QdbtIntCell( const QdbtIntCell & ); 00019 QdbtIntCell( int value, int align = Qt::AlignLeft, bool edit = FALSE ); 00020 virtual ~QdbtIntCell(); 00021 00022 void setValue( int value ) 00023 { 00024 _value = value; 00025 } 00026 int value() const 00027 { 00028 return _value; 00029 } 00030 00031 virtual QString text() const 00032 { 00033 return QString::number( _value ); 00034 } 00035 00036 void setAlignment( int alignment ) 00037 { 00038 align = alignment; 00039 } 00040 int alignment() const 00041 { 00042 return align; 00043 } 00044 00045 virtual int widthHint( const QFontMetrics &fm ) const; 00046 virtual int heightHint( const QFontMetrics &fm ) const; 00047 00048 protected: 00049 virtual QWidget *editor( QdbtBaseTabular * ) const; 00050 virtual void paint( QPainter *p, QdbtBaseTabular *t, const QRect & r, 00051 bool selected, bool editing = FALSE ); 00052 virtual QRect getTextArea() const; 00053 virtual QRect getEditArea( int width ) const; 00054 virtual QdbtBaseCell *clone( QdbtBaseTabular * ) const; 00055 00056 virtual bool beginEdit( QdbtBaseTabular *, int row, int col, 00057 const QRect cellGeometry ) const; 00058 virtual bool acceptEdit( QdbtBaseTabular *, int row, int col ); 00059 virtual bool cancelEdit( QdbtBaseTabular *, int row, int col ); 00060 00061 private: 00062 int _value; 00063 00064 QRect tr; 00065 int align; 00066 }; 00067 00068 #endif