X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fwidget.hh;h=57973e9b35594b553908e0d534630f9326545608;hb=73f7a0bd69607663050f02acf121f40a739d9619;hp=cc6827cfbd32bdc7b49bbbe9e9becbfd5602e87d;hpb=1d897f432e54400cb2a0e1499712782b336fd728;p=chaz%2Fopenbox diff --git a/otk/widget.hh b/otk/widget.hh index cc6827cf..57973e9b 100644 --- a/otk/widget.hh +++ b/otk/widget.hh @@ -60,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); @@ -88,6 +88,10 @@ public: void setStretchableVert(bool s_vert = true) { _stretchable_vert = s_vert; } inline Cursor getCursor(void) const { return _cursor; } + void setCursor(Cursor cursor) { + _cursor = cursor; + XDefineCursor(OBDisplay::display, _window, _cursor); + } inline int getBevelWidth(void) const { return _bevel_width; } void setBevelWidth(int bevel_width) @@ -97,12 +101,14 @@ public: void setDirection(Direction dir) { _direction = dir; } inline Style *getStyle(void) const { return _style; } - void setStyle(Style *style) { assert(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; @@ -146,6 +152,8 @@ private: bool _fixed_width; bool _fixed_height; + bool _unmanaged; + OtkEventDispatcher *_event_dispatcher; OtkApplication *_application; };