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 &);
21 void spacing(unsigned);
28 Side opposite = static_cast<Side>(primary^2);
31 bool split_here = false;
32 Side gravity = opposite;
33 bool internal_aligned = false;
35 Widget *uniform_ref = nullptr;
36 int next_spacing = -1;
38 LinearArrangement(Layout &, Side);
41 void set_uniform(bool);
44 void spacing(unsigned);
47 void process_widget(Widget &, Side, bool) override;
48 void finish_widget(Widget &) override;
49 void finish_slot() override;