ToggleDemo::ToggleDemo()
{
- set_layout(new GLtk::Layout);
+ get_or_create_layout();
- GLtk::Label *lbl = new GLtk::Label("Standalone toggles:");
- add(*lbl);
+ GLtk::Label *lbl = &add_new<GLtk::Label>("Standalone toggles:");
GLtk::Widget *prev = lbl;
for(unsigned i=0; i<4; ++i)
{
- GLtk::Toggle *tgl = new GLtk::Toggle(format("Toggle %d", i+1));
- add(*tgl);
+ GLtk::Toggle *tgl = &add_new<GLtk::Toggle>(format("Toggle %d", i+1));
layout->add_constraint(*tgl, GLtk::Layout::BELOW, *prev);
layout->add_constraint(*tgl, GLtk::Layout::ALIGN_LEFT, *prev);
for(unsigned i=0; i<2; ++i)
{
- GLtk::Panel *group = new GLtk::Panel;
- add(*group);
+ GLtk::Panel *group = &add_new<GLtk::Panel>();
layout->add_constraint(*group, (i==0 ? GLtk::Layout::BELOW : GLtk::Layout::RIGHT_OF), *prev);
if(i>0)
layout->add_constraint(*group, GLtk::Layout::ALIGN_TOP, *prev);
- group->set_layout(new GLtk::Layout);
+ GLtk::Layout &group_layout = group->get_or_create_layout();
- lbl = new GLtk::Label(format("Group %d:", i+1));
- group->add(*lbl);
+ lbl = &group->add_new<GLtk::Label>(format("Group %d:", i+1));
prev = lbl;
for(unsigned j=0; j<4; ++j)
{
- GLtk::Toggle *tgl = new GLtk::Toggle(format("Option %d", j+1));
+ GLtk::Toggle *tgl = &group->add_new<GLtk::Toggle>(format("Option %d", j+1));
tgl->set_style("option");
tgl->set_exclusive(true);
- group->add(*tgl);
- group->get_layout()->add_constraint(*tgl, GLtk::Layout::BELOW, *prev);
- group->get_layout()->add_constraint(*tgl, GLtk::Layout::ALIGN_LEFT, *prev);
- group->get_layout()->add_constraint(*tgl, GLtk::Layout::ALIGN_RIGHT, *prev);
+ group_layout.add_constraint(*tgl, GLtk::Layout::BELOW, *prev);
+ group_layout.add_constraint(*tgl, GLtk::Layout::ALIGN_LEFT, *prev);
+ group_layout.add_constraint(*tgl, GLtk::Layout::ALIGN_RIGHT, *prev);
prev = tgl;
}