// -*- 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