controllerwindow.cpp Example File | Qt 4.8 (original) (raw)
widgets/windowflags/controllerwindow.cpp
#include
#include "controllerwindow.h"
ControllerWindow::ControllerWindow() { previewWindow = new PreviewWindow(this);
createTypeGroupBox();
createHintsGroupBox();
quitButton = new [QPushButton](qpushbutton.html)(tr("&Quit"));
connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
[QHBoxLayout](qhboxlayout.html) *bottomLayout = new [QHBoxLayout](qhboxlayout.html);
bottomLayout->addStretch();
bottomLayout->addWidget(quitButton);
[QHBoxLayout](qhboxlayout.html) *mainLayout = new [QHBoxLayout](qhboxlayout.html);
mainLayout->addWidget(typeGroupBox);
mainLayout->addWidget(hintsGroupBox);
mainLayout->addLayout(bottomLayout);
setLayout(mainLayout);
setWindowTitle(tr("Window Flags"));
updatePreview();}
void ControllerWindow::updatePreview() { Qt::WindowFlags flags = 0;
if (windowRadioButton->isChecked()) {
flags = [Qt](qt-module.html)::Window;
} else if (dialogRadioButton->isChecked()) {
flags = [Qt](qt-module.html)::Dialog;
} else if (sheetRadioButton->isChecked()) {
flags = [Qt](qt-module.html)::Sheet;
} else if (drawerRadioButton->isChecked()) {
flags = [Qt](qt-module.html)::Drawer;
} else if (popupRadioButton->isChecked()) {
flags = [Qt](qt-module.html)::Popup;
} else if (toolRadioButton->isChecked()) {
flags = [Qt](qt-module.html)::Tool;
} else if (toolTipRadioButton->isChecked()) {
flags = [Qt](qt-module.html)::ToolTip;
} else if (splashScreenRadioButton->isChecked()) {
flags = [Qt](qt-module.html)::SplashScreen;
}
if (msWindowsFixedSizeDialogCheckBox->isChecked())
flags |= [Qt](qt-module.html)::MSWindowsFixedSizeDialogHint;
if (x11BypassWindowManagerCheckBox->isChecked())
flags |= [Qt](qt-module.html)::X11BypassWindowManagerHint;
if (framelessWindowCheckBox->isChecked())
flags |= [Qt](qt-module.html)::FramelessWindowHint;
if (windowTitleCheckBox->isChecked())
flags |= [Qt](qt-module.html)::WindowTitleHint;
if (windowSystemMenuCheckBox->isChecked())
flags |= [Qt](qt-module.html)::WindowSystemMenuHint;
if (windowMinimizeButtonCheckBox->isChecked())
flags |= [Qt](qt-module.html)::WindowMinimizeButtonHint;
if (windowMaximizeButtonCheckBox->isChecked())
flags |= [Qt](qt-module.html)::WindowMaximizeButtonHint;
if (windowCloseButtonCheckBox->isChecked())
flags |= [Qt](qt-module.html)::WindowCloseButtonHint;
if (windowContextHelpButtonCheckBox->isChecked())
flags |= [Qt](qt-module.html)::WindowContextHelpButtonHint;
if (windowShadeButtonCheckBox->isChecked())
flags |= [Qt](qt-module.html)::WindowShadeButtonHint;
if (windowStaysOnTopCheckBox->isChecked())
flags |= [Qt](qt-module.html)::WindowStaysOnTopHint;
if (windowStaysOnBottomCheckBox->isChecked())
flags |= [Qt](qt-module.html)::WindowStaysOnBottomHint;
if (customizeWindowHintCheckBox->isChecked())
flags |= [Qt](qt-module.html)::CustomizeWindowHint;
previewWindow->setWindowFlags(flags);
[QPoint](qpoint.html) pos = previewWindow->pos();
if (pos.x() < 0)
pos.setX(0);
if (pos.y() < 0)
pos.setY(0);
previewWindow->move(pos);
previewWindow->show();}
void ControllerWindow::createTypeGroupBox() { typeGroupBox = new QGroupBox(tr("Type"));
windowRadioButton = createRadioButton(tr("Window"));
dialogRadioButton = createRadioButton(tr("Dialog"));
sheetRadioButton = createRadioButton(tr("Sheet"));
drawerRadioButton = createRadioButton(tr("Drawer"));
popupRadioButton = createRadioButton(tr("Popup"));
toolRadioButton = createRadioButton(tr("Tool"));
toolTipRadioButton = createRadioButton(tr("Tooltip"));
splashScreenRadioButton = createRadioButton(tr("Splash screen"));
windowRadioButton->setChecked(true);
[QGridLayout](qgridlayout.html) *layout = new [QGridLayout](qgridlayout.html);
layout->addWidget(windowRadioButton, 0, 0);
layout->addWidget(dialogRadioButton, 1, 0);
layout->addWidget(sheetRadioButton, 2, 0);
layout->addWidget(drawerRadioButton, 3, 0);
layout->addWidget(popupRadioButton, 0, 1);
layout->addWidget(toolRadioButton, 1, 1);
layout->addWidget(toolTipRadioButton, 2, 1);
layout->addWidget(splashScreenRadioButton, 3, 1);
typeGroupBox->setLayout(layout);}
void ControllerWindow::createHintsGroupBox() { hintsGroupBox = new QGroupBox(tr("Hints"));
msWindowsFixedSizeDialogCheckBox =
createCheckBox(tr("MS Windows fixed size dialog"));
x11BypassWindowManagerCheckBox =
createCheckBox(tr("X11 bypass window manager"));
framelessWindowCheckBox = createCheckBox(tr("Frameless window"));
windowTitleCheckBox = createCheckBox(tr("Window title"));
windowSystemMenuCheckBox = createCheckBox(tr("Window system menu"));
windowMinimizeButtonCheckBox = createCheckBox(tr("Window minimize button"));
windowMaximizeButtonCheckBox = createCheckBox(tr("Window maximize button"));
windowCloseButtonCheckBox = createCheckBox(tr("Window close button"));
windowContextHelpButtonCheckBox =
createCheckBox(tr("Window context help button"));
windowShadeButtonCheckBox = createCheckBox(tr("Window shade button"));
windowStaysOnTopCheckBox = createCheckBox(tr("Window stays on top"));
windowStaysOnBottomCheckBox = createCheckBox(tr("Window stays on bottom"));
customizeWindowHintCheckBox= createCheckBox(tr("Customize window"));
[QGridLayout](qgridlayout.html) *layout = new [QGridLayout](qgridlayout.html);
layout->addWidget(msWindowsFixedSizeDialogCheckBox, 0, 0);
layout->addWidget(x11BypassWindowManagerCheckBox, 1, 0);
layout->addWidget(framelessWindowCheckBox, 2, 0);
layout->addWidget(windowTitleCheckBox, 3, 0);
layout->addWidget(windowSystemMenuCheckBox, 4, 0);
layout->addWidget(windowMinimizeButtonCheckBox, 0, 1);
layout->addWidget(windowMaximizeButtonCheckBox, 1, 1);
layout->addWidget(windowCloseButtonCheckBox, 2, 1);
layout->addWidget(windowContextHelpButtonCheckBox, 3, 1);
layout->addWidget(windowShadeButtonCheckBox, 4, 1);
layout->addWidget(windowStaysOnTopCheckBox, 5, 1);
layout->addWidget(windowStaysOnBottomCheckBox, 6, 1);
layout->addWidget(customizeWindowHintCheckBox, 5, 0);
hintsGroupBox->setLayout(layout);}
QCheckBox *ControllerWindow::createCheckBox(const QString &text) { QCheckBox *checkBox = new QCheckBox(text); connect(checkBox, SIGNAL(clicked()), this, SLOT(updatePreview())); return checkBox; }
QRadioButton *ControllerWindow::createRadioButton(const QString &text) { QRadioButton *button = new QRadioButton(text); connect(button, SIGNAL(clicked()), this, SLOT(updatePreview())); return button; }
© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.