X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fbutton.hh;h=a3805aa069f459e1dc904075ce9a0feaeef8b0e4;hb=812b9b03f4316eac69ff8101e6fe3c8fbdbac69b;hp=c5b9d963e86b42acc7a2b6c94e990770cead9409;hpb=d4d15160fe81353a9f7958c1feb1821abe179a70;p=chaz%2Fopenbox diff --git a/otk/button.hh b/otk/button.hh index c5b9d963..a3805aa0 100644 --- a/otk/button.hh +++ b/otk/button.hh @@ -1,47 +1,32 @@ +// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- #ifndef __button_hh #define __button_hh -#include "focuslabel.hh" +#include "label.hh" namespace otk { -class OtkButton : public OtkFocusLabel { +class Button : public Label { public: + Button(Widget *parent); + virtual ~Button(); - OtkButton(OtkWidget *parent); - ~OtkButton(); + virtual inline bool isPressed() const { return _pressed; } - inline const BTexture *getPressedFocusTexture(void) const - { return _pressed_focus_tx; } - void setPressedFocusTexture(BTexture *texture) - { _pressed_focus_tx = texture; } + virtual void press(unsigned int mouse_button); + virtual void release(unsigned int mouse_button); - inline const BTexture *getPressedUnfocusTexture(void) const - { return _pressed_unfocus_tx; } - void setPressedUnfocusTexture(BTexture *texture) - { _pressed_unfocus_tx = texture; } + virtual void buttonPressHandler(const XButtonEvent &e); + virtual void buttonReleaseHandler(const XButtonEvent &e); - void setTexture(BTexture *texture); - void setUnfocusTexture(BTexture *texture); - - inline bool isPressed(void) const { return _pressed; } - void press(unsigned int mouse_button); - void release(unsigned int mouse_button); - - int buttonPressHandler(const XButtonEvent &e); - int buttonReleaseHandler(const XButtonEvent &e); + virtual void clickHandler(unsigned int button) {(void)button;} + virtual void styleChanged(const RenderStyle &style); + private: - bool _pressed; unsigned int _mouse_button; - - BTexture *_pressed_focus_tx; - BTexture *_pressed_unfocus_tx; - - BTexture *_unpr_focus_tx; - BTexture *_unpr_unfocus_tx; }; }