preview.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KWINDECORATION_PREVIEW_H
00021 #define KWINDECORATION_PREVIEW_H
00022
00023 #include <qwidget.h>
00024 #include <kdecoration_p.h>
00025 #include <kdecoration_plugins_p.h>
00026
00027 class QLabel;
00028
00029 class KDecorationPreviewBridge;
00030 class KDecorationOptions;
00031
00032 class KDecorationPreview
00033 : public QWidget
00034 {
00035 Q_OBJECT
00036 public:
00037
00038
00039
00040 enum Windows { Inactive = 0, Active, NumWindows };
00041
00042 KDecorationPreview( QWidget* parent = NULL, const char* name = NULL );
00043 virtual ~KDecorationPreview();
00044 bool recreateDecoration( KDecorationPlugins* plugin );
00045 void enablePreview();
00046 void disablePreview();
00047 void setPreviewMask( const QRegion&, int, bool );
00048 QRegion unobscuredRegion( bool, const QRegion& ) const;
00049 QRect windowGeometry( bool ) const;
00050 protected:
00051 virtual void resizeEvent( QResizeEvent* );
00052 private:
00053 void positionPreviews();
00054 KDecorationOptions* options;
00055 KDecorationPreviewBridge* bridge[NumWindows];
00056 KDecoration* deco[NumWindows];
00057 QLabel* no_preview;
00058 QRegion mask;
00059 };
00060
00061 class KDecorationPreviewBridge
00062 : public KDecorationBridge
00063 {
00064 public:
00065 KDecorationPreviewBridge( KDecorationPreview* preview, bool active );
00066 virtual bool isActive() const;
00067 virtual bool isCloseable() const;
00068 virtual bool isMaximizable() const;
00069 virtual MaximizeMode maximizeMode() const;
00070 virtual bool isMinimizable() const;
00071 virtual bool providesContextHelp() const;
00072 virtual int desktop() const;
00073 virtual bool isModal() const;
00074 virtual bool isShadeable() const;
00075 virtual bool isShade() const;
00076 virtual bool isSetShade() const;
00077 virtual bool keepAbove() const;
00078 virtual bool keepBelow() const;
00079 virtual bool isMovable() const;
00080 virtual bool isResizable() const;
00081 virtual NET::WindowType windowType( unsigned long supported_types ) const;
00082 virtual QIconSet icon() const;
00083 virtual QString caption() const;
00084 virtual void processMousePressEvent( QMouseEvent* );
00085 virtual void showWindowMenu( const QRect &);
00086 virtual void showWindowMenu( QPoint );
00087 virtual void performWindowOperation( WindowOperation );
00088 virtual void setMask( const QRegion&, int );
00089 virtual bool isPreview() const;
00090 virtual QRect geometry() const;
00091 virtual QRect iconGeometry() const;
00092 virtual QRegion unobscuredRegion( const QRegion& r ) const;
00093 virtual QWidget* workspaceWidget() const;
00094 virtual void closeWindow();
00095 virtual void maximize( MaximizeMode mode );
00096 virtual void minimize();
00097 virtual void showContextHelp();
00098 virtual void setDesktop( int desktop );
00099 virtual void titlebarDblClickOperation();
00100 virtual void setShade( bool set );
00101 virtual void setKeepAbove( bool );
00102 virtual void setKeepBelow( bool );
00103 virtual int currentDesktop() const;
00104 virtual QWidget* initialParentWidget() const;
00105 virtual Qt::WFlags initialWFlags() const;
00106 virtual void helperShowHide( bool show );
00107 virtual void grabXServer( bool grab );
00108 private:
00109 KDecorationPreview* preview;
00110 bool active;
00111 };
00112
00113 class KDecorationPreviewOptions
00114 : public KDecorationOptions
00115 {
00116 public:
00117 KDecorationPreviewOptions();
00118 virtual ~KDecorationPreviewOptions();
00119 virtual unsigned long updateSettings();
00120 };
00121
00122 class KDecorationPreviewPlugins
00123 : public KDecorationPlugins
00124 {
00125 public:
00126 KDecorationPreviewPlugins( KConfig* cfg );
00127 virtual bool provides( Requirement );
00128 };
00129
00130 inline KDecorationPreviewPlugins::KDecorationPreviewPlugins( KConfig* cfg )
00131 : KDecorationPlugins( cfg )
00132 {
00133 }
00134
00135 #endif
This file is part of the documentation for kwin Library Version 3.3.90.