]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/layout.h
Report non-basic variables in Layout::LinearProgram as having zero value
[libs/gltk.git] / source / layout.h
index 7e8cdea123fc1a25f845bfb5ecf3e272df9d9b57..cf63538413e6465c967f93063ee394e8fc09f07d 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of libmspgltk
-Copyright © 2011  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #ifndef MSP_GLTK_LAYOUT_H_
 #define MSP_GLTK_LAYOUT_H_
 
 #ifndef MSP_GLTK_LAYOUT_H_
 #define MSP_GLTK_LAYOUT_H_
 
@@ -27,11 +20,11 @@ is then solved to obtain positions and dimensions that fulfill the constraints.
 There are three kinds of constraints available: ordering, alignment and
 dimension matching.
 
 There are three kinds of constraints available: ordering, alignment and
 dimension matching.
 
-Ordering constraints specify that the widgets should be placed next to other
-along X or Y axis.  These operate on one axis at a time, so a widget could be
-"right of" another even if they are separated by hundreds of pixels vertically.
-The widgets will be separated by a spacing value, which is settable on a per-
-layout basis.
+Ordering constraints specify that the widgets should be placed next to each
+other along X or Y axis.  These operate on one axis at a time, so a widget
+could be "right of" another even if they are separated by hundreds of pixels
+vertically.  The widgets will be separated by a spacing value, which is
+settable on a per-layout basis.
 
 Alignment constraints make the corresponding edges of two widgets be on the
 same line.  These are incompatible with ordering constraints, so only one or
 
 Alignment constraints make the corresponding edges of two widgets be on the
 same line.  These are incompatible with ordering constraints, so only one or
@@ -52,8 +45,8 @@ dependent widgets have the expand flag set, the results are currently
 undefined.
 
 Since specifiyng constraints manually can be quite tedious, there are some
 undefined.
 
 Since specifiyng constraints manually can be quite tedious, there are some
-derived Layout classes that implement common positioning patterns.  See
-MixedRows and Grid.
+derived Layout classes that implement common positioning patterns.  See Row,
+Column, MixedRows and Grid.
 */
 class Layout
 {
 */
 class Layout
 {
@@ -108,6 +101,7 @@ protected:
                Layout &layout;
                unsigned index;
                Widget &widget;
                Layout &layout;
                unsigned index;
                Widget &widget;
+               Geometry autosize_geom;
                Geometry geom;
                std::list<Constraint> constraints;
                Packing horiz_pack;
                Geometry geom;
                std::list<Constraint> constraints;
                Packing horiz_pack;
@@ -154,8 +148,6 @@ public:
        void update();
 
 protected:
        void update();
 
 protected:
-       void find_constraint_group(Slot &, ConstraintType, std::set<Slot *> &);
-       void sort_slots(std::list<Slot *> &, ConstraintType);
        void solve_constraints(int);
 };
 
        void solve_constraints(int);
 };