X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=otk%2Fbutton.hh;h=5924e9b0ebe18783e9b10521c9f23acaccb25127;hb=f890d31d6bf41db5c565e4f1b25132a6df1bd044;hp=2fa8e7da20b960776122c041688e95918124377a;hpb=cbf9dd0c4c8669392d9c7c8461d1af411f0ab0a4;p=chaz%2Fopenbox diff --git a/otk/button.hh b/otk/button.hh index 2fa8e7da..5924e9b0 100644 --- a/otk/button.hh +++ b/otk/button.hh @@ -1,34 +1,51 @@ -#include "widget.hh" -#include "style.hh" -#include "texture.hh" -//#include "pixmap.hh" +#ifndef __button_hh +#define __button_hh + +#include "focuslabel.hh" namespace otk { -class OtkButton : public OtkWidget { +class OtkButton : public OtkFocusLabel { public: OtkButton(OtkWidget *parent); ~OtkButton(); - inline const std::string &getText(void) const { return _text; } - void setText(const std::string &text); + inline const BTexture *getPressedFocusTexture(void) const + { return _pressed_focus_tx; } + void setPressedFocusTexture(BTexture *texture) + { _pressed_focus_tx = texture; } + + inline const BTexture *getPressedUnfocusTexture(void) const + { return _pressed_unfocus_tx; } + void setPressedUnfocusTexture(BTexture *texture) + { _pressed_unfocus_tx = texture; } - //inline const OtkPixmap &getPixmap(void) const { return _pixmap; } - //void setPixmap(const OtkPixmap &pixmap); + void setTexture(BTexture *texture); + void setUnfocusTexture(BTexture *texture); inline bool isPressed(void) const { return _pressed; } - void press(void); - void release(void); + void press(unsigned int mouse_button); + void release(unsigned int mouse_button); + + void buttonPressHandler(const XButtonEvent &e); + void buttonReleaseHandler(const XButtonEvent &e); + virtual void setStyle(Style *style); + private: - std::string _text; - //OtkPixmap _pixmap; bool _pressed; - BTexture *_unfocus_tx; + unsigned int _mouse_button; + BTexture *_pressed_focus_tx; + BTexture *_pressed_unfocus_tx; + + BTexture *_unpr_focus_tx; + BTexture *_unpr_unfocus_tx; }; } + +#endif