KWinLibraries
kdecorationbridge.h
Go to the documentation of this file.00001 /***************************************************************** 00002 This file is part of the KDE project. 00003 00004 Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org> 00005 00006 Permission is hereby granted, free of charge, to any person obtaining a 00007 copy of this software and associated documentation files (the "Software"), 00008 to deal in the Software without restriction, including without limitation 00009 the rights to use, copy, modify, merge, publish, distribute, sublicense, 00010 and/or sell copies of the Software, and to permit persons to whom the 00011 Software is furnished to do so, subject to the following conditions: 00012 00013 The above copyright notice and this permission notice shall be included in 00014 all copies or substantial portions of the Software. 00015 00016 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00017 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00018 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00019 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00020 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 00021 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 00022 DEALINGS IN THE SOFTWARE. 00023 ******************************************************************/ 00024 00025 #ifndef KDECORATIONBRIDGE_H 00026 #define KDECORATIONBRIDGE_H 00027 00028 #include "kdecoration.h" 00029 #include <QtGui/QWidget> 00030 00040 // This class is supposed to keep binary compatibility, just like KDecoration. 00041 // Extending should be done the same way, i.e. inheriting KDecorationBridge2 from it 00042 // and adding new functionality there. 00043 class KDecorationBridge : public KDecorationDefines 00044 { 00045 public: 00046 virtual ~KDecorationBridge(){} 00047 virtual bool isActive() const = 0; 00048 virtual bool isCloseable() const = 0; 00049 virtual bool isMaximizable() const = 0; 00050 virtual MaximizeMode maximizeMode() const = 0; 00051 virtual bool isMinimizable() const = 0; 00052 virtual bool providesContextHelp() const = 0; 00053 virtual int desktop() const = 0; 00054 virtual bool isModal() const = 0; 00055 virtual bool isShadeable() const = 0; 00056 virtual bool isShade() const = 0; 00057 virtual bool isSetShade() const = 0; 00058 virtual bool keepAbove() const = 0; 00059 virtual bool keepBelow() const = 0; 00060 virtual bool isMovable() const = 0; 00061 virtual bool isResizable() const = 0; 00062 virtual NET::WindowType windowType( unsigned long supported_types ) const = 0; 00063 virtual QIcon icon() const = 0; 00064 virtual QString caption() const = 0; 00065 virtual void processMousePressEvent( QMouseEvent* ) = 0; 00066 virtual void showWindowMenu( const QRect &) = 0; 00067 virtual void showWindowMenu( const QPoint & ) = 0; 00068 virtual void performWindowOperation( WindowOperation ) = 0; 00069 virtual void setMask( const QRegion&, int ) = 0; 00070 virtual bool isPreview() const = 0; 00071 virtual QRect geometry() const = 0; 00072 virtual QRect iconGeometry() const = 0; 00073 virtual QRegion unobscuredRegion( const QRegion& r ) const = 0; 00074 virtual WId windowId() const = 0; 00075 virtual void closeWindow() = 0; 00076 virtual void maximize( MaximizeMode mode ) = 0; 00077 virtual void minimize() = 0; 00078 virtual void showContextHelp() = 0; 00079 virtual void setDesktop( int desktop ) = 0; 00080 virtual void titlebarDblClickOperation() = 0; 00081 virtual void titlebarMouseWheelOperation( int delta ) = 0; 00082 virtual void setShade( bool set ) = 0; 00083 virtual void setKeepAbove( bool ) = 0; 00084 virtual void setKeepBelow( bool ) = 0; 00085 // not part of public API 00086 virtual int currentDesktop() const = 0; 00087 virtual QWidget* initialParentWidget() const = 0; 00088 virtual Qt::WFlags initialWFlags() const = 0; 00089 virtual void grabXServer( bool grab ) = 0; 00090 }; 00091 00094 #endif