1 #include <msp/gltk/label.h>
2 #include <msp/gltk/toggle.h>
3 #include <msp/strings/format.h>
4 #include "toggledemo.h"
8 ToggleDemo::ToggleDemo()
10 get_or_create_layout();
12 GLtk::Label *lbl = &add_new<GLtk::Label>("Standalone toggles:");
14 GLtk::Widget *prev = lbl;
15 for(unsigned i=0; i<4; ++i)
17 GLtk::Toggle *tgl = &add_new<GLtk::Toggle>(format("Toggle %d", i+1));
19 layout->add_constraint(*tgl, GLtk::Layout::BELOW, *prev);
20 layout->add_constraint(*tgl, GLtk::Layout::ALIGN_LEFT, *prev);
21 layout->add_constraint(*tgl, GLtk::Layout::ALIGN_RIGHT, *prev);
26 for(unsigned i=0; i<2; ++i)
28 GLtk::Panel *group = &add_new<GLtk::Panel>();
29 layout->add_constraint(*group, (i==0 ? GLtk::Layout::BELOW : GLtk::Layout::RIGHT_OF), *prev);
31 layout->add_constraint(*group, GLtk::Layout::ALIGN_TOP, *prev);
32 GLtk::Layout &group_layout = group->get_or_create_layout();
34 lbl = &group->add_new<GLtk::Label>(format("Group %d:", i+1));
37 for(unsigned j=0; j<4; ++j)
39 GLtk::Toggle *tgl = &group->add_new<GLtk::Toggle>(format("Option %d", j+1));
40 tgl->set_style("option");
41 tgl->set_exclusive(true);
43 group_layout.add_constraint(*tgl, GLtk::Layout::BELOW, *prev);
44 group_layout.add_constraint(*tgl, GLtk::Layout::ALIGN_LEFT, *prev);
45 group_layout.add_constraint(*tgl, GLtk::Layout::ALIGN_RIGHT, *prev);