private:
void constraint(ConstraintType, const std::string &);
void expand(bool, bool);
+ void ghost(bool);
void gravity(int, int);
};
std::list<Constraint> constraints;
Packing horiz_pack;
Packing vert_pack;
+ bool ghost;
+ bool floating;
Slot(Layout &, Widget &);
Container *container;
std::list<Slot *> slots;
unsigned n_active_slots;
- unsigned n_slack_constraints[2];
+ unsigned n_slack_vars[2];
Sides margin;
unsigned row_spacing;
unsigned col_spacing;
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
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 &);
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 set_floating(Widget &, bool);
+
void update();
- void autosize();
+ void autosize(Geometry &);
private:
void solve_constraints(int, SolveMode);