summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Nita <marius@cs.pdx.edu>2002-11-15 05:01:37 +0000
committerMarius Nita <marius@cs.pdx.edu>2002-11-15 05:01:37 +0000
commita3b2e7d9056e52b6bb75bfe3bf8e2daed8e2093b (patch)
tree5b0882bbc352f326e4bcf65aa89ae60384a915e8
parentd55ede56a032ee4edcc2de11fc52a4d552c1305c (diff)
made resizing sexier
-rw-r--r--otk/widget.cc18
1 files changed, 9 insertions, 9 deletions
diff --git a/otk/widget.cc b/otk/widget.cc
index 90ebf066..64277e70 100644
--- a/otk/widget.cc
+++ b/otk/widget.cc
@@ -247,7 +247,9 @@ void OtkWidget::adjustHorz(void)
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 @@ void OtkWidget::adjustHorz(void)
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 @@ void OtkWidget::adjustVert(void)
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 @@ void OtkWidget::adjustVert(void)
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 @@ bool OtkWidget::configure(const XConfigureEvent &e)
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;