X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fwidget.cc;h=ca8c527aaa3a8abfe7dc91fcef98252c1a2fa1e6;hb=530da070ff488f455697ac64e65422bd2a06afe0;hp=036ed1c3d5c4f16f8e4991643915f1abcb4356cb;hpb=033e9843bcec8340c9e657fe0f0519f86075424b;p=chaz%2Fopenbox diff --git a/otk/widget.cc b/otk/widget.cc index 036ed1c3..ca8c527a 100644 --- a/otk/widget.cc +++ b/otk/widget.cc @@ -8,7 +8,7 @@ #include "display.hh" #include "assassin.hh" #include "screeninfo.hh" - +#include "focuslabel.hh" #include #include @@ -32,7 +32,6 @@ Widget::Widget(Widget *parent, Direction direction) parent->addChild(this); create(); _event_dispatcher->registerHandler(_window, this); - setStyle(_style); // let the widget initialize stuff } Widget::Widget(EventDispatcher *event_dispatcher, RenderStyle *style, @@ -53,7 +52,6 @@ Widget::Widget(EventDispatcher *event_dispatcher, RenderStyle *style, assert(style); create(override_redirect); _event_dispatcher->registerHandler(_window, this); - setStyle(_style); // let the widget initialize stuff } Widget::~Widget() @@ -175,7 +173,7 @@ void Widget::show(bool recursive) if (recursive) { WidgetList::iterator it = _children.begin(), end = _children.end(); for (; it != end; ++it) - (*it)->show(); + (*it)->show(recursive); } XMapWindow(**display, _window); @@ -259,14 +257,13 @@ void Widget::ungrabKeyboard(void) void Widget::render(void) { if (!_texture) return; - printf("RENDER\n"); Surface *s = _surface; // save the current surface _surface = new Surface(_screen, _rect.size()); display->renderControl(_screen)->drawBackground(*_surface, *_texture); - renderForeground(); + renderForeground(); // for inherited types to render onto the _surface XSetWindowBackgroundPixmap(**display, _window, _surface->pixmap()); @@ -327,7 +324,7 @@ void Widget::adjustHorz(void) if (prev_widget) x = prev_widget->_rect.x() + prev_widget->_rect.width() + _bevel_width; else - x = _rect.x() + _bevel_width; + x = _bevel_width; y = (tallest - tmp->_rect.height()) / 2 + _bevel_width; tmp->move(x, y); @@ -384,7 +381,7 @@ void Widget::adjustVert(void) if (prev_widget) y = prev_widget->_rect.y() + prev_widget->_rect.height() + _bevel_width; else - y = _rect.y() + _bevel_width; + y = _bevel_width; x = (widest - tmp->_rect.width()) / 2 + _bevel_width; tmp->move(x, y);