]> SALOME platform Git repositories - modules/gui.git/blob - src/Qtx/QtxTable.h
Salome HOME
644c8a2e4a7a8d9f0e657e3e33aa6b73cc02b4fb
[modules/gui.git] / src / Qtx / QtxTable.h
1 // File:      QtxTable.h
2 // Author:    Sergey TELKOV
3
4 #ifndef QTX_TABLE_H
5 #define QTX_TABLE_H
6
7 #include "Qtx.h"
8
9 #include <qtable.h>
10
11 #ifndef QT_NO_TABLE
12
13 class QHeader;
14
15 class QTX_EXPORT QtxTable : public QTable
16 {
17   Q_OBJECT
18
19   class HeaderEditor;
20
21 public:
22   QtxTable( QWidget* = 0, const char* = 0 );
23   QtxTable( int, int, QWidget* = 0, const char* = 0 );
24   virtual ~QtxTable();
25
26   bool             headerEditable( Orientation ) const;
27
28   bool             editHeader( Orientation, const int );
29   void             endEditHeader( const bool = true );
30
31   virtual bool     eventFilter( QObject*, QEvent* );
32
33 signals:
34   void             headerEdited( QHeader*, int );
35   void             headerEdited( Orientation, int );
36
37 public slots:
38   virtual void     setHeaderEditable( Orientation, bool );
39
40 protected:
41   virtual bool     beginHeaderEdit( Orientation, const int );
42   virtual void     endHeaderEdit( const bool = true );
43   bool             isHeaderEditing() const;
44   virtual QWidget* createHeaderEditor( QHeader*, const int, const bool = true );
45   virtual void     setHeaderContentFromEditor( QHeader*, const int, QWidget* );
46
47   QHeader*         header( Orientation o ) const;
48
49 private:
50   void             beginHeaderEdit( Orientation, const QPoint& );
51   QRect            headerSectionRect( QHeader*, const int ) const;
52
53 private:
54   QWidget*         myHeaderEditor;
55   QHeader*         myEditedHeader;
56   int              myEditedSection;
57   QMap<int, bool>  myHeaderEditable;
58 };
59
60 #endif
61
62 #endif