X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fbuttonwidget.hh;h=0d546f73fc8fc67763fc690e9bf6b0b68a43dcb9;hb=9e6b0d5a8d0226232802bdece77665b167f98dae;hp=bb23dd90ea399ae75f76c4554b4839d1648c8768;hpb=83727b8e6404f7e00e7369c39da8779dfb85ae09;p=chaz%2Fopenbox diff --git a/src/buttonwidget.hh b/src/buttonwidget.hh index bb23dd90..0d546f73 100644 --- a/src/buttonwidget.hh +++ b/src/buttonwidget.hh @@ -1,25 +1,43 @@ // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- -#ifndef __obbuttonwidget_hh -#define __obbuttonwidget_hh +#ifndef __buttonwidget_hh +#define __buttonwidget_hh -#include "otk/button.hh" -#include "widget.hh" +#include "widgetbase.hh" +#include "otk/widget.hh" namespace ob { -class OBButtonWidget : public otk::OtkButton, public OBWidget +class Client; + +class ButtonWidget : public otk::Widget, public WidgetBase { private: + void setTextures(); + Client *_client; + bool _pressed; + unsigned int _button; + bool _state; public: - OBButtonWidget(otk::OtkWidget *parent, OBWidget::WidgetType type); - virtual ~OBButtonWidget(); + ButtonWidget(otk::Widget *parent, WidgetBase::WidgetType type, + Client *client); + virtual ~ButtonWidget(); - virtual void setStyle(otk::Style *style); + virtual void setStyle(otk::RenderStyle *style); virtual void adjust(); + + virtual void update(); + + virtual void renderForeground(); + + virtual void focus(); + virtual void unfocus(); + + virtual void buttonPressHandler(const XButtonEvent &e); + virtual void buttonReleaseHandler(const XButtonEvent &e); }; } -#endif // __obbuttonwidget_hh +#endif // __buttonwidget_hh