]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/column.cpp
Rework how widget ownership works in Container
[libs/gltk.git] / source / column.cpp
index 3a7a149f98ebce3a524cfd25538883d64cb75108..e90d334adf12c4106eb7f54b89485546bc29f6ed 100644 (file)
@@ -3,26 +3,14 @@
 namespace Msp {
 namespace GLtk {
 
-Column::Column(bool u):
-       uniform(u)
+Column::Column(Layout &l):
+       LinearArrangement(l, BOTTOM)
 { }
 
-Layout::Slot *Column::create_slot(Widget &w)
+void Column::finish_widget(Widget &wdg)
 {
-       Slot *slot = new Slot(*this, w);
-
-       if(!slots.empty())
-       {
-               Slot &prev = *slots.back();
-               slot->constraints.push_back(Constraint(BELOW, prev));
-               slot->constraints.push_back(Constraint(ALIGN_LEFT, prev));
-               slot->constraints.push_back(Constraint(ALIGN_RIGHT, prev));
-               if(uniform)
-                       slot->constraints.push_back(Constraint(COPY_HEIGHT, prev));
-       }
-       slot->horiz_pack.expand = true;
-
-       return slot;
+       LinearArrangement::finish_widget(wdg);
+       layout.set_gravity(wdg, -1, (gravity==BOTTOM ? -1 : 1));
 }
 
 } // namespace GLtk