~oif-team/ubuntu/natty/qt4-x11/xi2.1

« back to all changes in this revision

Viewing changes to doc/html/widgets-windowflags-controllerwindow-cpp.html

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-08-24 04:09:09 UTC
  • Revision ID: james.westby@ubuntu.com-20050824040909-xmxe9jfr4a0w5671
Tags: upstream-4.0.0
ImportĀ upstreamĀ versionĀ 4.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="iso-8859-1"?>
 
2
<!DOCTYPE html
 
3
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
 
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
5
<head>
 
6
    <title>Qt 4.0: controllerwindow.cpp Example File (widgets/windowflags/controllerwindow.cpp)</title>
 
7
    <style>h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }
 
8
a:link { color: #004faf; text-decoration: none }
 
9
a:visited { color: #672967; text-decoration: none }
 
10
td.postheader { font-family: sans-serif }
 
11
tr.address { font-family: sans-serif }
 
12
body { background: #ffffff; color: black; }</style>
 
13
</head>
 
14
<body>
 
15
<table border="0" cellpadding="0" cellspacing="0" width="100%">
 
16
<tr>
 
17
<td align="left" valign="top" width="32"><img src="images/qt-logo.png" align="left" width="32" height="32" border="0" /></td>
 
18
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="mainclasses.html"><font color="#004faf">Main&nbsp;Classes</font></a>&nbsp;&middot; <a href="annotated.html"><font color="#004faf">Annotated</font></a>&nbsp;&middot; <a href="groups.html"><font color="#004faf">Grouped&nbsp;Classes</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">Functions</font></a></td>
 
19
<td align="right" valign="top" width="230"><img src="images/trolltech-logo.png" align="right" width="203" height="32" border="0" /></td></tr></table><h1 align="center">controllerwindow.cpp Example File<br /><small><small>widgets/windowflags/controllerwindow.cpp</small></small></h1>
 
20
<pre>&nbsp;   /****************************************************************************
 
21
    **
 
22
    ** Copyright (C) 2005-2005 Trolltech AS. All rights reserved.
 
23
    **
 
24
    ** This file is part of the documentation of the Qt Toolkit.
 
25
    **
 
26
    ** This file may be distributed under the terms of the Q Public License
 
27
** as defined by Trolltech AS of Norway and appearing in the file
 
28
** LICENSE.QPL included in the packaging of this file.
 
29
**
 
30
** This file may be distributed and/or modified under the terms of the
 
31
** GNU General Public License version 2 as published by the Free Software
 
32
** Foundation and appearing in the file LICENSE.GPL included in the
 
33
** packaging of this file.
 
34
**
 
35
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
 
36
**   information about Qt Commercial License Agreements.
 
37
** See http://www.trolltech.com/qpl/ for QPL licensing information.
 
38
** See http://www.trolltech.com/gpl/ for GPL licensing information.
 
39
**
 
40
** Contact info@trolltech.com if any conditions of this licensing are
 
41
** not clear to you.
 
42
    **
 
43
    ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 
44
    ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 
45
    **
 
46
    ****************************************************************************/
 
47
 
 
48
    #include &lt;QtGui&gt;
 
49
 
 
50
    #include &quot;controllerwindow.h&quot;
 
51
 
 
52
    ControllerWindow::ControllerWindow()
 
53
    {
 
54
        previewWindow = new PreviewWindow(this);
 
55
 
 
56
        createTypeGroupBox();
 
57
        createHintsGroupBox();
 
58
 
 
59
        quitButton = new QPushButton(tr(&quot;&amp;Quit&quot;));
 
60
        connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
 
61
 
 
62
        QHBoxLayout *bottomLayout = new QHBoxLayout;
 
63
        bottomLayout-&gt;addStretch();
 
64
        bottomLayout-&gt;addWidget(quitButton);
 
65
 
 
66
        QVBoxLayout *mainLayout = new QVBoxLayout;
 
67
        mainLayout-&gt;addWidget(typeGroupBox);
 
68
        mainLayout-&gt;addWidget(hintsGroupBox);
 
69
        mainLayout-&gt;addLayout(bottomLayout);
 
70
        setLayout(mainLayout);
 
71
 
 
72
        setWindowTitle(tr(&quot;Window Flags&quot;));
 
73
        updatePreview();
 
74
    }
 
75
 
 
76
    void ControllerWindow::updatePreview()
 
77
    {
 
78
        Qt::WindowFlags flags = 0;
 
79
 
 
80
        if (windowRadioButton-&gt;isChecked()) {
 
81
            flags = Qt::Window;
 
82
        } else if (dialogRadioButton-&gt;isChecked()) {
 
83
            flags = Qt::Dialog;
 
84
        } else if (sheetRadioButton-&gt;isChecked()) {
 
85
            flags = Qt::Sheet;
 
86
        } else if (drawerRadioButton-&gt;isChecked()) {
 
87
            flags = Qt::Drawer;
 
88
        } else if (popupRadioButton-&gt;isChecked()) {
 
89
            flags = Qt::Popup;
 
90
        } else if (toolRadioButton-&gt;isChecked()) {
 
91
            flags = Qt::Tool;
 
92
        } else if (toolTipRadioButton-&gt;isChecked()) {
 
93
            flags = Qt::ToolTip;
 
94
        } else if (splashScreenRadioButton-&gt;isChecked()) {
 
95
            flags = Qt::SplashScreen;
 
96
        }
 
97
 
 
98
        if (msWindowsFixedSizeDialogCheckBox-&gt;isChecked())
 
99
            flags |= Qt::MSWindowsFixedSizeDialogHint;
 
100
        if (x11BypassWindowManagerCheckBox-&gt;isChecked())
 
101
            flags |= Qt::X11BypassWindowManagerHint;
 
102
        if (framelessWindowCheckBox-&gt;isChecked())
 
103
            flags |= Qt::FramelessWindowHint;
 
104
        if (windowTitleCheckBox-&gt;isChecked())
 
105
            flags |= Qt::WindowTitleHint;
 
106
        if (windowSystemMenuCheckBox-&gt;isChecked())
 
107
            flags |= Qt::WindowSystemMenuHint;
 
108
        if (windowMinimizeButtonCheckBox-&gt;isChecked())
 
109
            flags |= Qt::WindowMinimizeButtonHint;
 
110
        if (windowMaximizeButtonCheckBox-&gt;isChecked())
 
111
            flags |= Qt::WindowMaximizeButtonHint;
 
112
        if (windowContextHelpButtonCheckBox-&gt;isChecked())
 
113
            flags |= Qt::WindowContextHelpButtonHint;
 
114
        if (windowShadeButtonCheckBox-&gt;isChecked())
 
115
            flags |= Qt::WindowShadeButtonHint;
 
116
        if (windowStaysOnTopCheckBox-&gt;isChecked())
 
117
            flags |= Qt::WindowStaysOnTopHint;
 
118
 
 
119
        previewWindow-&gt;setWindowFlags(flags);
 
120
        previewWindow-&gt;show();
 
121
 
 
122
        QPoint pos = previewWindow-&gt;pos();
 
123
        if (pos.x() &lt; 0)
 
124
            pos.setX(0);
 
125
        if (pos.y() &lt; 0)
 
126
            pos.setY(0);
 
127
        previewWindow-&gt;move(pos);
 
128
    }
 
129
 
 
130
    void ControllerWindow::createTypeGroupBox()
 
131
    {
 
132
        typeGroupBox = new QGroupBox(tr(&quot;Type&quot;));
 
133
 
 
134
        windowRadioButton = createRadioButton(tr(&quot;Window&quot;));
 
135
        dialogRadioButton = createRadioButton(tr(&quot;Dialog&quot;));
 
136
        sheetRadioButton = createRadioButton(tr(&quot;Sheet&quot;));
 
137
        drawerRadioButton = createRadioButton(tr(&quot;Drawer&quot;));
 
138
        popupRadioButton = createRadioButton(tr(&quot;Popup&quot;));
 
139
        toolRadioButton = createRadioButton(tr(&quot;Tool&quot;));
 
140
        toolTipRadioButton = createRadioButton(tr(&quot;Tooltip&quot;));
 
141
        splashScreenRadioButton = createRadioButton(tr(&quot;Splash screen&quot;));
 
142
        windowRadioButton-&gt;setChecked(true);
 
143
 
 
144
        QGridLayout *layout = new QGridLayout;
 
145
        layout-&gt;addWidget(windowRadioButton, 0, 0);
 
146
        layout-&gt;addWidget(dialogRadioButton, 1, 0);
 
147
        layout-&gt;addWidget(sheetRadioButton, 2, 0);
 
148
        layout-&gt;addWidget(drawerRadioButton, 3, 0);
 
149
        layout-&gt;addWidget(popupRadioButton, 0, 1);
 
150
        layout-&gt;addWidget(toolRadioButton, 1, 1);
 
151
        layout-&gt;addWidget(toolTipRadioButton, 2, 1);
 
152
        layout-&gt;addWidget(splashScreenRadioButton, 3, 1);
 
153
        typeGroupBox-&gt;setLayout(layout);
 
154
    }
 
155
 
 
156
    void ControllerWindow::createHintsGroupBox()
 
157
    {
 
158
        hintsGroupBox = new QGroupBox(tr(&quot;Hints&quot;));
 
159
 
 
160
        msWindowsFixedSizeDialogCheckBox =
 
161
                createCheckBox(tr(&quot;MS Windows fixed size dialog&quot;));
 
162
        x11BypassWindowManagerCheckBox =
 
163
                createCheckBox(tr(&quot;X11 bypass window manager&quot;));
 
164
        framelessWindowCheckBox = createCheckBox(tr(&quot;Frameless window&quot;));
 
165
        windowTitleCheckBox = createCheckBox(tr(&quot;Window title&quot;));
 
166
        windowSystemMenuCheckBox = createCheckBox(tr(&quot;Window system menu&quot;));
 
167
        windowMinimizeButtonCheckBox = createCheckBox(tr(&quot;Window minimize button&quot;));
 
168
        windowMaximizeButtonCheckBox = createCheckBox(tr(&quot;Window maximize button&quot;));
 
169
        windowContextHelpButtonCheckBox =
 
170
                createCheckBox(tr(&quot;Window context help button&quot;));
 
171
        windowShadeButtonCheckBox = createCheckBox(tr(&quot;Window shade button&quot;));
 
172
        windowStaysOnTopCheckBox = createCheckBox(tr(&quot;Window stays on top&quot;));
 
173
 
 
174
        QGridLayout *layout = new QGridLayout;
 
175
        layout-&gt;addWidget(msWindowsFixedSizeDialogCheckBox, 0, 0);
 
176
        layout-&gt;addWidget(x11BypassWindowManagerCheckBox, 1, 0);
 
177
        layout-&gt;addWidget(framelessWindowCheckBox, 2, 0);
 
178
        layout-&gt;addWidget(windowTitleCheckBox, 3, 0);
 
179
        layout-&gt;addWidget(windowSystemMenuCheckBox, 4, 0);
 
180
        layout-&gt;addWidget(windowMinimizeButtonCheckBox, 0, 1);
 
181
        layout-&gt;addWidget(windowMaximizeButtonCheckBox, 1, 1);
 
182
        layout-&gt;addWidget(windowContextHelpButtonCheckBox, 2, 1);
 
183
        layout-&gt;addWidget(windowShadeButtonCheckBox, 3, 1);
 
184
        layout-&gt;addWidget(windowStaysOnTopCheckBox, 4, 1);
 
185
        hintsGroupBox-&gt;setLayout(layout);
 
186
    }
 
187
 
 
188
    QCheckBox *ControllerWindow::createCheckBox(const QString &amp;text)
 
189
    {
 
190
        QCheckBox *checkBox = new QCheckBox(text);
 
191
        connect(checkBox, SIGNAL(clicked()), this, SLOT(updatePreview()));
 
192
        return checkBox;
 
193
    }
 
194
 
 
195
    QRadioButton *ControllerWindow::createRadioButton(const QString &amp;text)
 
196
    {
 
197
        QRadioButton *button = new QRadioButton(text);
 
198
        connect(button, SIGNAL(clicked()), this, SLOT(updatePreview()));
 
199
        return button;
 
200
    }</pre>
 
201
<p /><address><hr /><div align="center">
 
202
<table width="100%" cellspacing="0" border="0"><tr class="address">
 
203
<td width="30%">Copyright &copy; 2005 <a href="trolltech.html">Trolltech</a></td>
 
204
<td width="40%" align="center"><a href="trademarks.html">Trademarks</a></td>
 
205
<td width="30%" align="right"><div align="right">Qt 4.0.0</div></td>
 
206
</tr></table></div></address></body>
 
207
</html>