File indexing completed on 2024-04-28 04:58:12

0001 /*
0002     This file is part of the KDE project
0003     SPDX-FileCopyrightText: 1999 Simon Hausmann <hausmann@kde.org>
0004     SPDX-FileCopyrightText: 1999 David Faure <faure@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include "windowargs.h"
0010 
0011 #include <QRect>
0012 
0013 #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
0014 
0015 class WindowArgsPrivate : public QSharedData
0016 {
0017 public:
0018     WindowArgsPrivate()
0019         : x(-1)
0020         , y(-1)
0021         , width(-1)
0022         , height(-1)
0023         , fullscreen(false)
0024         , menuBarVisible(true)
0025         , toolBarsVisible(true)
0026         , statusBarVisible(true)
0027         , resizable(true)
0028         , lowerWindow(false)
0029         , scrollBarsVisible(true)
0030     {
0031     }
0032 
0033     // Position
0034     int x;
0035     int y;
0036     // Size
0037     int width;
0038     int height;
0039     bool fullscreen; // defaults to false
0040     bool menuBarVisible; // defaults to true
0041     bool toolBarsVisible; // defaults to true
0042     bool statusBarVisible; // defaults to true
0043     bool resizable; // defaults to true
0044 
0045     bool lowerWindow; // defaults to false
0046     bool scrollBarsVisible; // defaults to true
0047 };
0048 
0049 WindowArgs::WindowArgs()
0050     : d(new WindowArgsPrivate)
0051 {
0052 }
0053 
0054 WindowArgs::WindowArgs(const WindowArgs &args)
0055     : d(args.d)
0056 {
0057 }
0058 
0059 WindowArgs::~WindowArgs()
0060 {
0061 }
0062 
0063 WindowArgs &WindowArgs::operator=(const WindowArgs &args)
0064 {
0065     if (this == &args) {
0066         return *this;
0067     }
0068 
0069     d = args.d;
0070     return *this;
0071 }
0072 
0073 WindowArgs::WindowArgs(const QRect &_geometry, bool _fullscreen, bool _menuBarVisible, bool _toolBarsVisible, bool _statusBarVisible, bool _resizable)
0074     : d(new WindowArgsPrivate)
0075 {
0076     d->x = _geometry.x();
0077     d->y = _geometry.y();
0078     d->width = _geometry.width();
0079     d->height = _geometry.height();
0080     d->fullscreen = _fullscreen;
0081     d->menuBarVisible = _menuBarVisible;
0082     d->toolBarsVisible = _toolBarsVisible;
0083     d->statusBarVisible = _statusBarVisible;
0084     d->resizable = _resizable;
0085     d->lowerWindow = false;
0086 }
0087 
0088 WindowArgs::WindowArgs(int _x,
0089                        int _y,
0090                        int _width,
0091                        int _height,
0092                        bool _fullscreen,
0093                        bool _menuBarVisible,
0094                        bool _toolBarsVisible,
0095                        bool _statusBarVisible,
0096                        bool _resizable)
0097     : d(new WindowArgsPrivate)
0098 {
0099     d->x = _x;
0100     d->y = _y;
0101     d->width = _width;
0102     d->height = _height;
0103     d->fullscreen = _fullscreen;
0104     d->menuBarVisible = _menuBarVisible;
0105     d->toolBarsVisible = _toolBarsVisible;
0106     d->statusBarVisible = _statusBarVisible;
0107     d->resizable = _resizable;
0108     d->lowerWindow = false;
0109 }
0110 
0111 void WindowArgs::setX(int x)
0112 {
0113     d->x = x;
0114 }
0115 
0116 int WindowArgs::x() const
0117 {
0118     return d->x;
0119 }
0120 
0121 void WindowArgs::setY(int y)
0122 {
0123     d->y = y;
0124 }
0125 
0126 int WindowArgs::y() const
0127 {
0128     return d->y;
0129 }
0130 
0131 void WindowArgs::setWidth(int w)
0132 {
0133     d->width = w;
0134 }
0135 
0136 int WindowArgs::width() const
0137 {
0138     return d->width;
0139 }
0140 
0141 void WindowArgs::setHeight(int h)
0142 {
0143     d->height = h;
0144 }
0145 
0146 int WindowArgs::height() const
0147 {
0148     return d->height;
0149 }
0150 
0151 void WindowArgs::setFullScreen(bool fs)
0152 {
0153     d->fullscreen = fs;
0154 }
0155 
0156 bool WindowArgs::isFullScreen() const
0157 {
0158     return d->fullscreen;
0159 }
0160 
0161 void WindowArgs::setMenuBarVisible(bool visible)
0162 {
0163     d->menuBarVisible = visible;
0164 }
0165 
0166 bool WindowArgs::isMenuBarVisible() const
0167 {
0168     return d->menuBarVisible;
0169 }
0170 
0171 void WindowArgs::setToolBarsVisible(bool visible)
0172 {
0173     d->toolBarsVisible = visible;
0174 }
0175 
0176 bool WindowArgs::toolBarsVisible() const
0177 {
0178     return d->toolBarsVisible;
0179 }
0180 
0181 void WindowArgs::setStatusBarVisible(bool visible)
0182 {
0183     d->statusBarVisible = visible;
0184 }
0185 
0186 bool WindowArgs::isStatusBarVisible() const
0187 {
0188     return d->statusBarVisible;
0189 }
0190 
0191 void WindowArgs::setResizable(bool resizable)
0192 {
0193     d->resizable = resizable;
0194 }
0195 
0196 bool WindowArgs::isResizable() const
0197 {
0198     return d->resizable;
0199 }
0200 
0201 void WindowArgs::setLowerWindow(bool lower)
0202 {
0203     d->lowerWindow = lower;
0204 }
0205 
0206 bool WindowArgs::lowerWindow() const
0207 {
0208     return d->lowerWindow;
0209 }
0210 
0211 void WindowArgs::setScrollBarsVisible(bool visible)
0212 {
0213     d->scrollBarsVisible = visible;
0214 }
0215 
0216 bool WindowArgs::scrollBarsVisible() const
0217 {
0218     return d->scrollBarsVisible;
0219 }
0220 
0221 #endif