source: trunk/src/widgets/qdialogbuttons_p.h@ 106

Last change on this file since 106 was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 3.6 KB
Line 
1/****************************************************************************
2** $Id: qdialogbuttons_p.h 2 2005-11-16 15:49:26Z dmik $
3**
4** Definition of QDialogButtons class.
5**
6** Copyright (C) 2003 Trolltech AS. All rights reserved.
7**
8** This file is part of the widgets module of the Qt GUI Toolkit.
9**
10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file.
13**
14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file.
18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software.
22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30**
31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you.
33**
34**********************************************************************/
35
36#ifndef QDIALOGBUTTONS_P_H
37#define QDIALOGBUTTONS_P_H
38
39#ifndef QT_H
40#ifndef QT_H
41#include "qwidget.h"
42#endif // QT_H
43#endif
44
45#ifndef QT_NO_DIALOGBUTTONS
46struct QDialogButtonsPrivate;
47
48class
49QDialogButtons : public QWidget
50{
51 Q_OBJECT
52public:
53 enum Button { None=0, Accept=0x01, Reject=0x02, Help=0x04, Apply=0x08, All=0x10, Abort=0x20, Retry=0x40, Ignore=0x80 };
54#ifndef QT_NO_DIALOG
55 QDialogButtons(QDialog *parent, bool autoConnect = TRUE, Q_UINT32 buttons = Accept | Reject,
56 Orientation orient = Horizontal, const char *name = NULL);
57#endif // QT_NO_DIALOG
58 QDialogButtons(QWidget *parent, Q_UINT32 buttons = Accept | Reject,
59 Orientation orient = Horizontal, const char *name = NULL);
60 ~QDialogButtons();
61
62 void setQuestionMode(bool);
63 bool questionMode() const;
64
65 void setButtonEnabled(Button button, bool enabled);
66 bool isButtonEnabled(Button) const;
67
68 inline void showButton(Button b) { setButtonVisible(b, TRUE) ; }
69 inline void hideButton(Button b) { setButtonVisible(b, FALSE); }
70 virtual void setButtonVisible(Button, bool visible);
71 bool isButtonVisible(Button) const;
72
73 void addWidget(QWidget *);
74
75 virtual void setDefaultButton(Button);
76 Button defaultButton() const;
77
78 virtual void setButtonText(Button, const QString &);
79 QString buttonText(Button) const;
80
81 void setOrientation(Orientation);
82 Orientation orientation() const;
83
84 virtual QSize sizeHint(Button) const;
85 QSize minimumSizeHint() const;
86 QSize sizeHint() const;
87
88protected:
89 void layoutButtons();
90 virtual QWidget *createButton(Button);
91
92 void showEvent(QShowEvent *);
93 void resizeEvent(QResizeEvent *);
94 void styleChanged(QStyle &);
95
96private slots:
97 void handleClicked();
98
99signals:
100 void clicked(Button);
101 void acceptClicked();
102 void rejectClicked();
103 void helpClicked();
104 void applyClicked();
105 void allClicked();
106 void retryClicked();
107 void ignoreClicked();
108 void abortClicked();
109
110private:
111 QDialogButtonsPrivate *d;
112 void init(Q_UINT32, Orientation);
113};
114#endif //QT_NO_DIALOGBUTTONS
115#endif //QDIALOGBUTTONS_P_H
Note: See TracBrowser for help on using the repository browser.