Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages   Examples  

qdbtcombocell.h

00001 #ifndef _QDBTCOMBOCELL_H
00002 #define _QDBTCOMBOCELL_H
00003 
00004 #include <qrect.h>
00005 
00006 #include <qdbt/qdbtglobal.h>
00007 #include "qdbtintcell.h"
00008 
00009 class QPainter;
00010 class QString;
00011 class QStringList;
00012 class QdbtComboEditor;
00013 class QdbtBaseTabular;
00014 
00015 class QDBT_EXPORT QdbtComboCell : public QdbtIntCell
00016 {
00017 public:
00018   QdbtComboCell();
00019   QdbtComboCell( const QdbtComboCell & );
00020   QdbtComboCell( int value, int align = Qt::AlignLeft );
00021   virtual ~QdbtComboCell();
00022   
00023   virtual QString text() const;
00024   
00025   virtual int widthHint( const QFontMetrics &fm ) const;
00026   virtual int heightHint( const QFontMetrics &fm ) const;
00027   
00028   enum paintModifiers
00029   {
00030     NO_MODIF       = 0x0000,
00031     SUPRESS_BORDER = 0x0001
00032   };
00033 
00034 protected:
00035   virtual QWidget *editor( QdbtBaseTabular * ) const;
00036   virtual void paint( QPainter *p, QdbtBaseTabular *t, const QRect & r,
00037                       bool selected, bool editing = FALSE );
00038   virtual void paintFocus( QPainter *p, QdbtBaseTabular *t, const QRect & r,
00039                            bool, bool = FALSE );
00040   virtual QRect getTextArea() const;
00041   virtual QRect getEditArea( int width ) const;
00042   virtual QdbtBaseCell *clone( QdbtBaseTabular * ) const;
00043   
00044   virtual bool beginEdit( QdbtBaseTabular *, int row, int col,
00045                           const QRect cellGeometry ) const;
00046   virtual bool acceptEdit( QdbtBaseTabular *, int row, int col );
00047   virtual bool cancelEdit( QdbtBaseTabular *, int row, int col );
00048   virtual bool mouseEvent( QdbtBaseTabular *, int row, int col,
00049                            QMouseEvent *e, const QRect cellGeometry );
00050   virtual bool keyEvent( QdbtBaseTabular *, int row, int col,
00051                          QKeyEvent *e, const QRect cellGeometry );
00052   
00053   virtual QStringList contentOfPopupMenu() const;
00054 
00055   void paintMethod( QPainter *p, QdbtBaseTabular *t, const QRect & r,
00056                     bool selected, bool editing = FALSE,
00057                     int modif = NO_MODIF );
00058   void paintFocusMethod( QPainter *p, QdbtBaseTabular *t, const QRect & r,
00059                          bool, bool = FALSE, int modif = NO_MODIF );
00060 
00061 private:
00062   QRect   tr;
00063 };
00064 
00065 class QDBT_EXPORT QdbtBorderlessComboCell : public QdbtComboCell
00066 {
00067 public:
00068   QdbtBorderlessComboCell();
00069   QdbtBorderlessComboCell( const QdbtBorderlessComboCell & );
00070   QdbtBorderlessComboCell( int value, int align = Qt::AlignLeft );
00071   virtual ~QdbtBorderlessComboCell();
00072 
00073   virtual int heightHint( const QFontMetrics &fm ) const;
00074   
00075 protected:
00076   virtual QdbtBaseCell *clone( QdbtBaseTabular * ) const;
00077   virtual void paint( QPainter *p, QdbtBaseTabular *t, const QRect & r,
00078                       bool selected, bool editing = FALSE );
00079   virtual void paintFocus( QPainter *p, QdbtBaseTabular *t, const QRect & r,
00080                            bool, bool = FALSE );
00081   
00082 };
00083 
00084 
00085 #endif

Generated on Mon Apr 22 12:21:53 2002 for QdbtTabular by doxygen1.2.15-20020421