]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/arrangement.cpp
Allow overriding the spacing between two widgets in LinearArrangement
[libs/gltk.git] / source / arrangement.cpp
index 9982691e4cb0a81a3fdedb6c891739ce1a198701..5eeebbb99abe8df310fca5720df8f1ff7d3233d3 100644 (file)
@@ -37,16 +37,21 @@ void Arrangement::arrange(Arrangement &arr)
        finish_slot();
 }
 
-void Arrangement::add_constraint(Widget &wdg, Layout::ConstraintType type, Side side)
+void Arrangement::add_constraint(Widget &wdg, Layout::ConstraintType type, Side side, int spacing)
 {
-       add_constraint(wdg, type, edges[side]);
+       add_constraint(wdg, type, edges[side], spacing);
 }
 
-void Arrangement::add_constraint(Widget &wdg, Layout::ConstraintType type, const Edge &edge)
+void Arrangement::add_constraint(Widget &wdg, Layout::ConstraintType type, const Edge &edge, int spacing)
 {
        for(list<Widget *>::const_iterator i=edge.widgets.begin(); i!=edge.widgets.end(); ++i)
                if(*i!=&wdg)
-                       layout.add_constraint(wdg, type, **i);
+               {
+                       if(spacing<0)
+                               layout.add_constraint(wdg, type, **i);
+                       else
+                               layout.add_constraint(wdg, type, **i, spacing);
+               }
 }
 
 Layout::ConstraintType Arrangement::get_order_constraint(Side s, bool slack)