Web.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KWIN_WEB_H
00023 #define KWIN_WEB_H
00024
00025 #include <qptrlist.h>
00026
00027 #include "../../lib/kdecoration.h"
00028 #include "../../lib/kdecorationfactory.h"
00029
00030 class QLabel;
00031 class QSpacerItem;
00032 class QBoxLayout;
00033
00034 namespace Web
00035 {
00036
00037 class WebButton;
00038
00039 class WebClient : public KDecoration
00040 {
00041 Q_OBJECT
00042
00043 public:
00044
00045 WebClient(KDecorationBridge* bridge, KDecorationFactory* factory);
00046 ~WebClient();
00047
00048 virtual void init();
00049 virtual void resize(const QSize&);
00050 virtual bool eventFilter( QObject* o, QEvent* e );
00051
00052 protected:
00053 virtual void reset( unsigned long changed );
00054
00055 virtual void resizeEvent(QResizeEvent *);
00056 virtual void paintEvent(QPaintEvent *);
00057 virtual void showEvent(QShowEvent *);
00058 virtual void mouseDoubleClickEvent(QMouseEvent *);
00059
00060 virtual void windowWrapperShowEvent(QShowEvent *);
00061 virtual void captionChange();
00062 virtual void desktopChange();
00063 virtual void maximizeChange();
00064 virtual void shadeChange() {};
00065 virtual void activeChange();
00066 virtual void iconChange();
00067 virtual void doShape();
00068 virtual Position mousePosition(const QPoint &) const;
00069 virtual void borders(int&, int&, int&, int&) const;
00070 virtual QSize minimumSize() const;
00071
00072 protected slots:
00073
00074 void slotMaximize(int button);
00075
00076 signals:
00077
00078 void oadChange(bool);
00079 void maxChange(bool);
00080
00081 private:
00082 bool isTool();
00083
00084 enum ButtonType
00085 {
00086 ButtonHelp,
00087 ButtonOnAllDesktops,
00088 ButtonMenu,
00089 ButtonSeparator,
00090 ButtonIconify,
00091 ButtonMaximize,
00092 ButtonClose,
00093 ButtonLower
00094 };
00095
00096 int titleHeight_, borderSize_;
00097
00098 bool shape_;
00099
00100 WebButton * _createButton(const QString &, QWidget * parent);
00101 void _createButtons();
00102 void _resetLayout();
00103
00104 QBitmap _buttonBitmap(ButtonType t) const;
00105
00106 QBoxLayout * mainLayout_;
00107 QSpacerItem * titleSpacer_;
00108
00109 QPtrList<WebButton> leftButtonList_;
00110 QPtrList<WebButton> rightButtonList_;
00111 };
00112
00113 class WebFactory : public QObject, public KDecorationFactory
00114 {
00115 Q_OBJECT
00116
00117 public:
00118
00119 WebFactory() {};
00120 virtual ~WebFactory() {};
00121 virtual KDecoration* createDecoration( KDecorationBridge* );
00122 virtual bool reset( unsigned long changed );
00123 virtual bool supports( Ability ability );
00124 virtual QValueList< BorderSize > borderSizes() const;
00125 };
00126 }
00127
00128 #endif
00129
This file is part of the documentation for kwin Library Version 3.4.3.