X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Farrangement.h;h=31001c4d081686e8932e68acf541f1a0b6fb957e;hb=56c41b294aa47a38ac3e1be70d4868f260cb4274;hp=fc3ec8226cfed99c59b6676ee3834797fb273409;hpb=32539688068fad9614291159b069da10ead10f47;p=libs%2Fgltk.git diff --git a/source/arrangement.h b/source/arrangement.h index fc3ec82..31001c4 100644 --- a/source/arrangement.h +++ b/source/arrangement.h @@ -4,20 +4,21 @@ #include #include #include "layout.h" +#include "mspgltk_api.h" namespace Msp { namespace GLtk { class Widget; -class arrangement_error: public std::logic_error +class MSPGLTK_API arrangement_error: public std::logic_error { public: arrangement_error(const std::string &w): std::logic_error(w) { } virtual ~arrangement_error() throw() { } }; -class Arrangement +class MSPGLTK_API Arrangement { protected: enum Side @@ -38,6 +39,7 @@ protected: bool empty() { return widgets.empty(); } void clear(); void add(Widget &, bool); + void align(); }; Layout &layout; @@ -56,8 +58,8 @@ protected: virtual void finish_widget(Widget &) = 0; virtual void finish_slot() = 0; const Edge &get_edge(Side s) const { return edges[s]; } - void add_constraint(Widget &, Layout::ConstraintType, Side); - void add_constraint(Widget &, Layout::ConstraintType, const Edge &); + void add_constraint(Widget &, Layout::ConstraintType, Side, int = -1); + void add_constraint(Widget &, Layout::ConstraintType, const Edge &, int = -1); static Layout::ConstraintType get_order_constraint(Side, bool); static Layout::ConstraintType get_align_constraint(Side);