X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fwidget.hh;h=2e58cc9928459726876bb984822dd56ccbabd117;hb=52b83a9dbb2b7823d5f78781f5948dfd8d77d50b;hp=cbf2f9c55922c66dc54f96bea16abe747cca159f;hpb=12a95bfdb31595ec53d72adef4e0fd6bf1ccf218;p=chaz%2Fopenbox diff --git a/otk/widget.hh b/otk/widget.hh index cbf2f9c5..2e58cc99 100644 --- a/otk/widget.hh +++ b/otk/widget.hh @@ -1,9 +1,6 @@ #ifndef __widget_hh #define __widget_hh -#include -#include - #include "rect.hh" #include "point.hh" #include "texture.hh" @@ -11,6 +8,13 @@ #include "eventdispatcher.hh" #include "application.hh" +extern "C" { +#include +} + +#include +#include + namespace otk { class OtkWidget : public OtkEventHandler { @@ -56,8 +60,8 @@ public: virtual void setGeometry(int x, int y, int width, int height); inline bool isVisible(void) const { return _visible; }; - virtual void show(void); - virtual void hide(void); + virtual void show(bool recursive = false); + virtual void hide(bool recursive = false); inline bool isFocused(void) const { return _focused; }; virtual void focus(void); @@ -78,10 +82,10 @@ public: virtual void removeChild(OtkWidget *child); inline bool isStretchableHorz(void) const { return _stretchable_horz; } - void setStretchableHorz(bool s_horz) { _stretchable_horz = s_horz; } + void setStretchableHorz(bool s_horz = true) { _stretchable_horz = s_horz; } inline bool isStretchableVert(void) const { return _stretchable_vert; } - void setStretchableVert(bool s_vert) { _stretchable_vert = s_vert; } + void setStretchableVert(bool s_vert = true) { _stretchable_vert = s_vert; } inline Cursor getCursor(void) const { return _cursor; } @@ -93,12 +97,14 @@ public: void setDirection(Direction dir) { _direction = dir; } inline Style *getStyle(void) const { return _style; } - void setStyle(Style *style) { _style = style; } + virtual void setStyle(Style *style) { assert(style); _style = style; } inline OtkEventDispatcher *getEventDispatcher(void) { return _event_dispatcher; } void setEventDispatcher(OtkEventDispatcher *disp); + void unmanaged(void) { _unmanaged = true; } + protected: bool _dirty; @@ -142,6 +148,8 @@ private: bool _fixed_width; bool _fixed_height; + bool _unmanaged; + OtkEventDispatcher *_event_dispatcher; OtkApplication *_application; };