2 // Author: Sergey TELKOV
11 #include <qvaluelist.h>
18 #pragma warning( disable:4251 )
21 class QTX_EXPORT QtxDialog : public QDialog
29 typedef enum { Position, Expand, Uniform } PlacePolicy;
30 typedef enum { TopArea, BottomArea, LeftArea, RightArea } ButtonArea;
31 typedef enum { Left, Right, Center, Top = Left, Bottom = Right } ButtonPosition;
33 typedef enum { None = 0x00000000,
41 OKCancel = OK | Cancel,
43 Standard = OK | Cancel | Help,
44 All = Standard | YesNo | Apply | Close } ButtonFlags;
46 typedef enum { Accept = 0x000001,
48 AlignOnce = 0x000004 } DialogFlags;
51 QtxDialog( QWidget* = 0, const char* = 0, bool = false,
52 bool = false, const int = Standard, WFlags = 0 );
55 void setDialogFlags( const int );
56 void clearDialogFlags( const int );
57 bool testDialogFlags( const int ) const;
59 void setButtonFlags( const int );
60 void clearButtonFlags( const int );
61 bool testButtonFlags( const int ) const;
63 int buttonPosition( const int ) const;
64 void setButtonPosition( const int, const int = -1 );
65 void setPlacePosition( const int, const int );
67 int placePolicy( const int ) const;
68 void setPlacePolicy( const int, const int );
69 void setButtonPlace( const int, const int );
71 QString buttonText( const int );
72 void setButtonText( const int, const QString& text );
74 void setButtonFocus( const int );
75 bool hasButtonFocus( const int ) const;
77 bool isButtonEnabled( const int ) const;
78 void setButtonEnabled( const bool, const int );
80 bool isBorderEnabled( const int ) const;
81 void setBorderEnabled( const bool, const int );
83 void removeButton( const int );
84 int insertButton( const QString&, const int = BottomArea );
86 QValueList<int> userButtonIds() const;
87 QButton* userButton( const int ) const;
92 uint setAlignment( uint align );
93 static void setUnits( QLabel*, const QString& );
96 void dlgButton( int );
97 void dlgParamChanged();
112 virtual void accept();
113 virtual void reject();
119 void onSizeGripDestroyed();
120 void onDestroyed( QObject* );
123 typedef QMap<int, QButton*> ButtonMap;
126 QFrame* mainFrame() const;
128 virtual bool acceptData() const;
129 virtual bool rejectData() const;
131 virtual QButton* createButton( QWidget* );
133 QButton* button( const int ) const;
134 ButtonMap buttons( const int = All ) const;
135 int buttonId( const QButton* ) const;
136 int buttonPosition( QButton* ) const;
138 virtual void showEvent( QShowEvent* );
139 virtual void hideEvent( QHideEvent* );
140 virtual void closeEvent( QCloseEvent* );
141 virtual void childEvent( QChildEvent* );
142 virtual void keyPressEvent( QKeyEvent* );
145 void adjustButtons();
149 typedef QMap<int, Area*> AreaMap;
150 typedef QMap<int, int> PositionMap;
157 PositionMap myPosition;
160 const QObject* mySender;
168 #pragma warning( default:4251 )