#ifndef MSP_GLTK_LAYOUT_H_
#define MSP_GLTK_LAYOUT_H_
-#include <list>
-#include <set>
+#include <vector>
#include <sigc++/trackable.h>
#include <msp/strings/lexicalcast.h>
#include "geometry.h"
struct Constraint
{
ConstraintType type;
- Slot ⌖
+ Slot *target = nullptr;
int spacing = -1;
Constraint(ConstraintType, Slot &);
Widget &widget;
Geometry autosize_geom;
Geometry geom;
- std::list<Constraint> constraints;
+ std::vector<Constraint> constraints;
Packing horiz_pack;
Packing vert_pack;
bool ghost = false;
struct Pointers;
Container *container = nullptr;
- std::list<Slot *> slots;
- unsigned n_active_slots = 0;
- unsigned n_slack_vars[2] = { 0, 0 };
+ std::vector<Slot *> slots;
+ std::size_t n_active_slots = 0;
+ std::size_t n_slack_vars[2] = { 0, 0 };
Sides margin{ 8 };
unsigned row_spacing = 5;
unsigned col_spacing = 4;
Geometry autosize_geom;
- std::list<Arrangement *> arrangement_stack;
+ std::vector<Arrangement *> arrangement_stack;
static Pointers pointers[2];