VERTICAL = 1,
SELF_POS = 2,
SELF_DIM = 4,
+ SELF_MASK = 6,
TARGET_POS = 8,
TARGET_DIM = 16,
- SPACING = 32
+ TARGET_MASK = 24,
+ SPACING = 32,
+ SLACK = 64
};
public:
BELOW = VERTICAL|SELF_POS|SELF_DIM|TARGET_POS|SPACING,
RIGHT_OF = HORIZONTAL|SELF_POS|TARGET_POS|TARGET_DIM|SPACING,
LEFT_OF = HORIZONTAL|SELF_POS|SELF_DIM|TARGET_POS|SPACING,
+ FAR_ABOVE = VERTICAL|SELF_POS|TARGET_POS|TARGET_DIM|SPACING|SLACK,
+ FAR_BELOW = VERTICAL|SELF_POS|SELF_DIM|TARGET_POS|SPACING|SLACK,
+ FAR_RIGHT_OF = HORIZONTAL|SELF_POS|TARGET_POS|TARGET_DIM|SPACING|SLACK,
+ FAR_LEFT_OF = HORIZONTAL|SELF_POS|SELF_DIM|TARGET_POS|SPACING|SLACK,
ALIGN_TOP = VERTICAL|SELF_POS|SELF_DIM|TARGET_POS|TARGET_DIM,
ALIGN_BOTTOM = VERTICAL|SELF_POS|TARGET_POS,
ALIGN_RIGHT = HORIZONTAL|SELF_POS|SELF_DIM|TARGET_POS|TARGET_DIM,
Container *container;
std::list<Slot *> slots;
unsigned n_active_slots;
+ unsigned n_slack_constraints[2];
Sides margin;
unsigned row_spacing;
unsigned col_spacing;
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 &);