mad optimizations
This commit is contained in:
parent
ee9eaed6cd
commit
ef231de58a
6 changed files with 24 additions and 22 deletions
|
@ -12,7 +12,6 @@ Button::Button(Widget *parent)
|
|||
: Label(parent),
|
||||
_pressed(false)
|
||||
{
|
||||
setHighlighted(false);
|
||||
setHorizontalJustify(RenderStyle::CenterJustify);
|
||||
setVerticalJustify(RenderStyle::CenterJustify);
|
||||
styleChanged(*RenderStyle::style(screen()));
|
||||
|
@ -70,7 +69,7 @@ void Button::styleChanged(const RenderStyle &style)
|
|||
_texture = style.buttonUnpressUnfocusBackground();
|
||||
_forecolor = style.buttonUnfocusColor();
|
||||
}
|
||||
Widget::styleChanged(style);
|
||||
refresh();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ Label::Label(Widget *parent)
|
|||
_text(""),
|
||||
_justify_horz(RenderStyle::LeftTopJustify),
|
||||
_justify_vert(RenderStyle::LeftTopJustify),
|
||||
_highlight(true)
|
||||
_highlight(false)
|
||||
{
|
||||
styleChanged(*RenderStyle::style(screen()));
|
||||
}
|
||||
|
@ -92,9 +92,10 @@ void Label::styleChanged(const RenderStyle &style)
|
|||
_texture = style.labelUnfocusBackground();
|
||||
_forecolor = style.textUnfocusColor();
|
||||
}
|
||||
_font = style.labelFont();
|
||||
Widget::styleChanged(style);
|
||||
calcDefaultSizes();
|
||||
if (_font != style.labelFont()) {
|
||||
_font = style.labelFont();
|
||||
calcDefaultSizes();
|
||||
}
|
||||
}
|
||||
|
||||
void Label::renderForeground(Surface &surface)
|
||||
|
|
|
@ -61,7 +61,7 @@ Widget::Widget(Widget *parent, Direction direction, int bevel)
|
|||
assert(parent);
|
||||
createWindow(false);
|
||||
parent->addChild(this);
|
||||
parent->layout();
|
||||
if (parent->visible()) parent->layout();
|
||||
_dispatcher->registerHandler(_window, this);
|
||||
}
|
||||
|
||||
|
@ -80,8 +80,9 @@ void Widget::show(bool children)
|
|||
{
|
||||
if (children) {
|
||||
std::list<Widget*>::iterator it , end = _children.end();
|
||||
for (it = _children.begin(); it != end; ++it)
|
||||
for (it = _children.begin(); it != end; ++it) {
|
||||
(*it)->show(true);
|
||||
}
|
||||
}
|
||||
if (!_visible) {
|
||||
_visible = true;
|
||||
|
@ -107,6 +108,7 @@ void Widget::setEventMask(long e)
|
|||
|
||||
void Widget::update()
|
||||
{
|
||||
if (!_visible) return;
|
||||
_dirty = true;
|
||||
if (parent())
|
||||
parent()->layout(); // relay-out us and our siblings
|
||||
|
@ -224,6 +226,7 @@ void Widget::setBevel(int b)
|
|||
|
||||
void Widget::layout()
|
||||
{
|
||||
if (_children.empty() || !_visible) return;
|
||||
if (_direction == Horizontal)
|
||||
layoutHorz();
|
||||
else
|
||||
|
@ -470,6 +473,9 @@ void Widget::configureHandler(const XConfigureEvent &e)
|
|||
if (_ignore_config) {
|
||||
_ignore_config--;
|
||||
} else {
|
||||
// only interested in these for top level windows
|
||||
if (_parent) return;
|
||||
|
||||
XEvent ev;
|
||||
ev.xconfigure.width = e.width;
|
||||
ev.xconfigure.height = e.height;
|
||||
|
|
|
@ -77,7 +77,7 @@ public:
|
|||
|
||||
virtual void exposeHandler(const XExposeEvent &e);
|
||||
virtual void configureHandler(const XConfigureEvent &e);
|
||||
virtual void styleChanged(const RenderStyle &) {calcDefaultSizes();update();}
|
||||
virtual void styleChanged(const RenderStyle &) {}
|
||||
|
||||
protected:
|
||||
virtual void addChild(Widget *w) { assert(w); _children.push_back(w); }
|
||||
|
|
|
@ -149,9 +149,9 @@ def _do_move():
|
|||
_poplabel.setText(text)
|
||||
scsize = otk.display.screenInfo(_screen).size()
|
||||
size = _poplabel.minSize()
|
||||
_popwidget.resize(_poplabel.minSize())
|
||||
_popwidget.move(otk.Point((scsize.width() - size.width()) / 2,
|
||||
(scsize.height() - size.height()) / 2))
|
||||
_popwidget.moveresize(otk.Rect((scsize.width() - size.width()) / 2,
|
||||
(scsize.height() - size.height()) / 2,
|
||||
size.width(), size.height()))
|
||||
_popwidget.show(1)
|
||||
|
||||
def _move(data):
|
||||
|
@ -235,9 +235,9 @@ def _do_resize():
|
|||
_poplabel.setText(text)
|
||||
scsize = otk.display.screenInfo(_screen).size()
|
||||
size = _poplabel.minSize()
|
||||
_popwidget.resize(_poplabel.minSize())
|
||||
_popwidget.move(otk.Point((scsize.width() - size.width()) / 2,
|
||||
(scsize.height() - size.height()) / 2))
|
||||
_popwidget.moveresize(otk.Rect((scsize.width() - size.width()) / 2,
|
||||
(scsize.height() - size.height()) / 2,
|
||||
size.width(), size.height()))
|
||||
_popwidget.show(1)
|
||||
|
||||
def _resize(data):
|
||||
|
|
|
@ -113,10 +113,6 @@ class _cycledata:
|
|||
if current and c.window() == current.window():
|
||||
self.menupos = i
|
||||
w.setHighlighted(1)
|
||||
pass
|
||||
else:
|
||||
w.setHighlighted(0)
|
||||
pass
|
||||
self.menuwidgets.append(w)
|
||||
|
||||
if c.iconic(): t = c.iconTitle()
|
||||
|
@ -147,9 +143,9 @@ class _cycledata:
|
|||
# show or hide the list and its child widgets
|
||||
if len(self.clients) > 1:
|
||||
size = self.screeninfo.size()
|
||||
self.widget.resize(otk.Size(width, height))
|
||||
self.widget.move(otk.Point((size.width() - width) / 2,
|
||||
(size.height() - height) / 2))
|
||||
self.widget.moveresize(otk.Rect((size.width() - width) / 2,
|
||||
(size.height() - height) / 2,
|
||||
width, height))
|
||||
self.widget.show(1)
|
||||
|
||||
def activatetarget(self, final):
|
||||
|
|
Loading…
Reference in a new issue