X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Flayout.h;h=0ea47a11c3bdbcef50821bf619ed361b09d48ad5;hb=50f11cec86c034fbee2ab332503266808b1eba74;hp=230365182e1d84a881bc363a48487234215fd3a7;hpb=5e97c5c224c30e68c26fddd2153694088f932bee;p=libs%2Fgltk.git diff --git a/source/layout.h b/source/layout.h index 2303651..0ea47a1 100644 --- a/source/layout.h +++ b/source/layout.h @@ -100,7 +100,7 @@ protected: struct Slot: public sigc::trackable { Layout &layout; - unsigned index; + int index; Widget &widget; Geometry autosize_geom; Geometry geom; @@ -112,6 +112,7 @@ protected: virtual ~Slot() { } void autosize_changed(); + void visibility_changed(bool); }; enum SolveMode @@ -125,6 +126,7 @@ protected: Container *container; std::list slots; + unsigned n_active_slots; Sides margin; unsigned row_spacing; unsigned col_spacing; @@ -138,14 +140,23 @@ public: void set_container(Container &); void set_margin(const Sides &); + + /** Sets the default spacing between widgets in bothg directions. */ void set_spacing(unsigned); + + /** Sets the default vertical spacing between widgets. Affects the ABOVE + and BELOW constraints. */ void set_row_spacing(unsigned); + + /** Sets the default horizontal spacing between widgets. Affects the + LEFT_OF and RIGHT_OF constraints. */ void set_column_spacing(unsigned); void add_widget(Widget &); void remove_widget(Widget &); protected: virtual Slot *create_slot(Widget &); + void update_slot_indices(); Slot &get_slot_for_widget(Widget &); static ConstraintType complement(ConstraintType); void create_constraint(Widget &, ConstraintType, Widget &, int);