/* 'Web' kwin client Copyright (C) 2001 Rik Hemsley (rikkus) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef KWIN_WEB_BUTTON_H #define KWIN_WEB_BUTTON_H #include #include #include #include "../../kwinbutton.h" namespace KWinInternal { class WebButton : public KWinInternal::KWinWidgetButton { Q_OBJECT public: enum Position { Left, Mid, Right }; WebButton(QWidget * parent, const QString& tip); virtual ~WebButton(); virtual QSize sizeHint() const; virtual QSize minimumSizeHint() const; void setPosition(Position); void setShape(bool); protected: virtual void clickEvent(int button) = 0; void setBitmap(const QBitmap &); void mousePressEvent(QMouseEvent *); void mouseReleaseEvent(QMouseEvent *); void mouseMoveEvent(QMouseEvent *) { /* Empty */ } void enterEvent(QEvent *); void leaveEvent(QEvent *); void paintEvent(QPaintEvent *); void resizeEvent(QResizeEvent *); private: QBitmap bitmap_; bool mouseOver_; bool mouseDown_; Position position_; bool shape_; }; } #endif // vim:ts=2:sw=2:tw=78:set et: