X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flayout.h;h=043d92cc1554b738092ce3ad771fcf5bb3cc5049;hb=813a0fc10cf5f7aaa6356cd97a4258fa78b9b87f;hp=b8c4eddf51c526222538457b64a971d6e6e83ad2;hpb=8eeb6ee5d40c21150839e24996cc3e9ef308374d;p=libs%2Fgltk.git diff --git a/source/layout.h b/source/layout.h index b8c4edd..043d92c 100644 --- a/source/layout.h +++ b/source/layout.h @@ -119,6 +119,7 @@ private: private: void constraint(ConstraintType, const std::string &); void expand(bool, bool); + void ghost(bool); void gravity(int, int); }; @@ -151,6 +152,7 @@ private: std::list constraints; Packing horiz_pack; Packing vert_pack; + bool ghost; Slot(Layout &, Widget &); @@ -170,7 +172,7 @@ private: Container *container; std::list slots; unsigned n_active_slots; - unsigned n_slack_constraints[2]; + unsigned n_slack_vars[2]; Sides margin; unsigned row_spacing; unsigned col_spacing; @@ -185,8 +187,9 @@ public: void set_container(Container &); void set_margin(const Sides &); + const Sides &get_margin() const { return margin; } - /** Sets the default spacing between widgets in bothg directions. */ + /** Sets the default spacing between widgets in both directions. */ void set_spacing(unsigned); /** Sets the default vertical spacing between widgets. Affects the ABOVE @@ -197,6 +200,9 @@ public: LEFT_OF and RIGHT_OF constraints. */ void set_column_spacing(unsigned); + unsigned get_row_spacing() const { return row_spacing; } + unsigned get_column_spacing() const { return col_spacing; } + void push_arrangement(Arrangement &); Arrangement *get_arrangement() const; void pop_arrangement(Arrangement &); @@ -220,8 +226,11 @@ public: void set_gravity(Widget &, int, int); void set_expand(Widget &, bool, bool); + /// Sets a widget as a ghost, taking up space even if it is hidden. + void set_ghost(Widget &, bool); + void update(); - void autosize(); + void autosize(Geometry &); private: void solve_constraints(int, SolveMode);