various fixes to the otk widgets
This commit is contained in:
parent
3b5d2d1bde
commit
a612136ba5
7 changed files with 20 additions and 6 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue