1 #ifndef MSP_GLTK_LINEARARRANGEMENT_H_
2 #define MSP_GLTK_LINEARARRANGEMENT_H_
4 #include <msp/datafile/objectloader.h>
5 #include "arrangement.h"
6 #include "mspgltk_api.h"
11 class MSPGLTK_API LinearArrangement: public Arrangement
14 class MSPGLTK_API Loader: public DataFile::ObjectLoader<LinearArrangement>
17 Loader(LinearArrangement &);
20 void spacing(unsigned);
27 Side opposite = static_cast<Side>(primary^2);
30 bool split_here = false;
31 Side gravity = opposite;
32 bool internal_aligned = false;
34 Widget *uniform_ref = nullptr;
35 int next_spacing = -1;
37 LinearArrangement(Layout &, Side);
40 void set_uniform(bool);
43 void spacing(unsigned);
46 virtual void process_widget(Widget &, Side, bool);
47 virtual void finish_widget(Widget &);
48 virtual void finish_slot();