made resizing sexier
Marius Nita marius@cs.pdx.edu
1 files changed,
9 insertions(+),
9 deletions(-)
jump to
M
otk/widget.cc
→
otk/widget.cc
@@ -247,7 +247,9 @@ OtkWidgetList stretchable;
for (it = _children.begin(); it != end; ++it) { tmp = *it; - if (tmp->isStretchableHorz() && _fixed_width) + if (tmp->isStretchableVert()) + tmp->setHeight(_rect.height() - _bevel_width * 2); + if (tmp->isStretchableHorz()) stretchable.push_back(tmp); else width += tmp->_rect.width() + _bevel_width;@@ -262,10 +264,8 @@ str_end = stretchable.end();
int str_width = _rect.width() - width / stretchable.size(); - for (; str_it != str_end; ++str_it) { + for (; str_it != str_end; ++str_it) (*str_it)->setWidth(str_width - _bevel_width); - //(*str_it)->update(); - } } OtkWidget *prev_widget = 0;@@ -302,7 +302,9 @@ OtkWidgetList stretchable;
for (it = _children.begin(); it != end; ++it) { tmp = *it; - if (tmp->isStretchableVert() && _fixed_height) + if (tmp->isStretchableHorz()) + tmp->setWidth(_rect.width() - _bevel_width * 2); + if (tmp->isStretchableVert()) stretchable.push_back(tmp); else height += tmp->_rect.height() + _bevel_width;@@ -317,10 +319,8 @@ str_end = stretchable.end();
int str_height = _rect.height() - height / stretchable.size(); - for (; str_it != str_end; ++str_it) { + for (; str_it != str_end; ++str_it) (*str_it)->setHeight(str_height - _bevel_width); - //(*str_it)->update(); - } } OtkWidget *prev_widget = 0;@@ -416,7 +416,7 @@ } else {
std::cout << "configure\n"; if (!(e.width == _rect.width() && e.height == _rect.height())) _dirty = true; - _rect.setRect(e.x, e.y, e.width, e.height); + _rect.setRect(_rect.x(), _rect.y(), e.width, e.height); update(); } return true;