Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef QTXTABLE_H
00027 #define QTXTABLE_H
00028
00029 #include "Qtx.h"
00030
00031 #include <qtable.h>
00032
00033 #ifndef QT_NO_TABLE
00034
00035 class QHeader;
00036
00037 class QTX_EXPORT QtxTable : public QTable
00038 {
00039 Q_OBJECT
00040
00041 class HeaderEditor;
00042
00043 public:
00044 QtxTable( QWidget* = 0, const char* = 0 );
00045 QtxTable( int, int, QWidget* = 0, const char* = 0 );
00046 virtual ~QtxTable();
00047
00048 bool headerEditable( Orientation ) const;
00049
00050 bool editHeader( Orientation, const int );
00051 void endEditHeader( const bool = true );
00052
00053 virtual bool eventFilter( QObject*, QEvent* );
00054
00055 signals:
00056 void headerEdited( QHeader*, int );
00057 void headerEdited( Orientation, int );
00058
00059 public slots:
00060 virtual void hide();
00061 virtual void setHeaderEditable( Orientation, bool );
00062
00063 private slots:
00064 void onScrollBarMoved( int );
00065 void onHeaderSizeChange( int, int, int );
00066
00067 protected:
00068 virtual void resizeEvent( QResizeEvent* );
00069
00070 virtual bool beginHeaderEdit( Orientation, const int );
00071 virtual void endHeaderEdit( const bool = true );
00072 bool isHeaderEditing() const;
00073 virtual QWidget* createHeaderEditor( QHeader*, const int, const bool = true );
00074 virtual void setHeaderContentFromEditor( QHeader*, const int, QWidget* );
00075
00076 QHeader* header( Orientation o ) const;
00077
00078 private:
00079 void updateHeaderEditor();
00080 void beginHeaderEdit( Orientation, const QPoint& );
00081 QRect headerSectionRect( QHeader*, const int ) const;
00082
00083 private:
00084 QWidget* myHeaderEditor;
00085 QHeader* myEditedHeader;
00086 int myEditedSection;
00087 QMap<int, bool> myHeaderEditable;
00088 };
00089
00090 #endif
00091
00092 #endif // QTXTABLE_H