various fixes to the otk widgets

This commit is contained in:
Dana Jansens 2003-02-05 05:48:01 +00:00
parent 3b5d2d1bde
commit a612136ba5
7 changed files with 20 additions and 6 deletions

View file

@ -27,7 +27,8 @@ includeotk_HEADERS=application.hh appwidget.hh assassin.hh button.hh \
point.hh property.hh pseudorendercontrol.hh rect.hh \
rendercolor.hh rendercontrol.hh renderstyle.hh \
rendertexture.hh screeninfo.hh strut.hh surface.hh \
timer.hh truerendercontrol.hh ustring.hh util.hh widget.hh
timer.hh truerendercontrol.hh ustring.hh util.hh widget.hh \
../config.h
libotk_la_LDFLAGS = $(XFT_LIBS) $(PYTHON_LIBS) @LIBS@
MAINTAINERCLEANFILES= Makefile.in

View file

@ -26,12 +26,21 @@ AppWidget::AppWidget(Application *app, Direction direction,
protocols[0] = Property::atoms.wm_protocols;
protocols[1] = Property::atoms.wm_delete_window;
XSetWMProtocols(**display, window(), protocols, 2);
setStyle(_style);
}
AppWidget::~AppWidget()
{
}
void AppWidget::setStyle(RenderStyle *style)
{
Widget::setStyle(style);
setTexture(style->titlebarUnfocusBackground());
}
void AppWidget::show(void)
{
Widget::show(true);

View file

@ -15,6 +15,8 @@ public:
Cursor cursor = 0, int bevel_width = 1);
virtual ~AppWidget();
virtual void setStyle(RenderStyle *style);
virtual void show(void);
virtual void hide(void);

View file

@ -35,10 +35,10 @@ void Button::press(unsigned int mouse_button)
{
if (_pressed) return;
if (_pressed_focus_tx)
FocusWidget::setTexture(_pressed_focus_tx);
if (_pressed_unfocus_tx)
FocusWidget::setUnfocusTexture(_pressed_unfocus_tx);
if (_pressed_focus_tx)
FocusWidget::setTexture(_pressed_focus_tx);
_pressed = true;
_mouse_button = mouse_button;
}
@ -47,8 +47,8 @@ void Button::release(unsigned int mouse_button)
{
if (_mouse_button != mouse_button) return; // wrong button
FocusWidget::setTexture(_unpr_focus_tx);
FocusWidget::setUnfocusTexture(_unpr_unfocus_tx);
FocusWidget::setTexture(_unpr_focus_tx);
_pressed = false;
}

View file

@ -58,7 +58,7 @@ void FocusLabel::update()
internalResize(w, h);
else
internalResize(w, _rect.height());
} else
} else if (h > _rect.height())
internalResize(_rect.width(), h);
}
FocusWidget::update();

View file

@ -53,6 +53,8 @@ void FocusWidget::setTexture(RenderTexture *texture)
{
Widget::setTexture(texture);
_focus_texture = texture;
if (!_focused)
Widget::setTexture(_unfocus_texture);
}
void FocusWidget::setBorderColor(const RenderColor *color)

View file

@ -54,7 +54,7 @@ void Label::update()
internalResize(w, h);
else
internalResize(w, _rect.height());
} else
} else if (h > _rect.height())
internalResize(_rect.width(), h);
}
Widget::update();