]> Dogcows Code - chaz/openbox/commitdiff
made resizing sexier
authorMarius Nita <marius@cs.pdx.edu>
Fri, 15 Nov 2002 05:01:37 +0000 (05:01 +0000)
committerMarius Nita <marius@cs.pdx.edu>
Fri, 15 Nov 2002 05:01:37 +0000 (05:01 +0000)
otk/widget.cc

index 90ebf066bfa68702ea306b6d0b97c6fcdb1ce31a..64277e709812724182f3f82fb9b1e6228831f24c 100644 (file)
@@ -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;
This page took 0.030353 seconds and 4 git commands to generate.