source: trunk/doc/src/examples/tabdialog.qdoc@ 1168

Last change on this file since 1168 was 846, checked in by Dmitry A. Kuminov, 14 years ago

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

File size: 4.7 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4** All rights reserved.
5** Contact: Nokia Corporation ([email protected])
6**
7** This file is part of the documentation of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:FDL$
10** Commercial Usage
11** Licensees holding valid Qt Commercial licenses may use this file in
12** accordance with the Qt Commercial License Agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in a
14** written agreement between you and Nokia.
15**
16** GNU Free Documentation License
17** Alternatively, this file may be used under the terms of the GNU Free
18** Documentation License version 1.3 as published by the Free Software
19** Foundation and appearing in the file included in the packaging of this
20** file.
21**
22** If you have questions regarding the use of this file, please contact
23** Nokia at [email protected].
24** $QT_END_LICENSE$
25**
26****************************************************************************/
27
28/*!
29 \example dialogs/tabdialog
30 \title Tab Dialog Example
31
32 The Tab Dialog example shows how to construct a tab dialog using the
33 QTabWidget class.
34
35 Dialogs provide an efficient way for the application to communicate
36 with the user, but complex dialogs suffer from the problem that they
37 often take up too much screen area. By using a number of tabs in a
38 dialog, information can be split into different categories, while
39 remaining accessible.
40
41 \image tabdialog-example.png
42
43 The Tab Dialog example consists of a single \c TabDialog class that
44 provides three tabs, each containing information about a particular
45 file, and two standard push buttons that are used to accept or reject
46 the contents of the dialog.
47
48 \section1 TabDialog Class Definition
49
50 The \c TabDialog class is a subclass of QDialog that displays a
51 QTabWidget and two standard dialog buttons. The class definition
52 only contain the class constructor and a private data member for
53 the QTabWidget:
54
55 \snippet examples/dialogs/tabdialog/tabdialog.h 3
56
57 In the example, the widget will be used as a top-level window, but
58 we define the constructor so that it can take a parent widget. This
59 allows the dialog to be centered on top of an application's main
60 window.
61
62 \section1 TabDialog Class Implementation
63
64 The constructor calls the QDialog constructor and creates a QFileInfo
65 object for the specified filename.
66
67 \snippet examples/dialogs/tabdialog/tabdialog.cpp 0
68
69 The tab widget is populated with three custom widgets that each
70 contain information about the file. We construct each of these
71 without a parent widget because the tab widget will reparent
72 them as they are added to it.
73
74 We create two standard push buttons, and connect each of them to
75 the appropriate slots in the dialog:
76
77 \snippet examples/dialogs/tabdialog/tabdialog.cpp 1
78 \snippet examples/dialogs/tabdialog/tabdialog.cpp 3
79
80 We arrange the tab widget above the buttons in the dialog:
81
82 \snippet examples/dialogs/tabdialog/tabdialog.cpp 4
83
84 Finally, we set the dialog's title:
85
86 \snippet examples/dialogs/tabdialog/tabdialog.cpp 5
87
88 Each of the tabs are subclassed from QWidget, and only provide
89 constructors.
90
91 \section1 GeneralTab Class Definition
92
93 The GeneralTab widget definition is simple because we are only interested
94 in displaying the contents of a widget within a tab:
95
96 \snippet examples/dialogs/tabdialog/tabdialog.h 0
97
98 \section1 GeneralTab Class Implementation
99
100 The GeneralTab widget simply displays some information about the file
101 passed by the TabDialog. Various widgets for this purpose, and these
102 are arranged within a vertical layout:
103
104 \snippet examples/dialogs/tabdialog/tabdialog.cpp 6
105
106 \section1 PermissionsTab Class Definition
107
108 Like the GeneralTab, the PermissionsTab is just used as a placeholder
109 widget for its children:
110
111 \snippet examples/dialogs/tabdialog/tabdialog.h 1
112
113 \section1 PermissionsTab Class Implementation
114
115 The PermissionsTab shows information about the file's access information,
116 displaying details of the file permissions and owner in widgets that are
117 arranged in nested layouts:
118
119 \snippet examples/dialogs/tabdialog/tabdialog.cpp 7
120
121 \section1 ApplicationsTab Class Definition
122
123 The ApplicationsTab is another placeholder widget that is mostly
124 cosmetic:
125
126 \snippet examples/dialogs/tabdialog/tabdialog.h 2
127
128 \section1 ApplicationsTab Class Implementation
129
130 The ApplicationsTab does not show any useful information, but could be
131 used as a template for a more complicated example:
132
133 \snippet examples/dialogs/tabdialog/tabdialog.cpp 8
134*/
Note: See TracBrowser for help on using the repository browser.