]> git.tdb.fi Git - libs/gltk.git/blobdiff - examples/widgetdemo/toggledemo.cpp
Rework how widget ownership works in Container
[libs/gltk.git] / examples / widgetdemo / toggledemo.cpp
index 91849e688ef0a1f81bc0450de9e28441791fc92d..2cb6df53735b1028b6a3689667cbfe62f653df4c 100644 (file)
@@ -9,14 +9,12 @@ ToggleDemo::ToggleDemo()
 {
        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);
@@ -27,23 +25,20 @@ ToggleDemo::ToggleDemo()
 
        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);
                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_layout.add_constraint(*tgl, GLtk::Layout::BELOW, *prev);
                        group_layout.add_constraint(*tgl, GLtk::Layout::ALIGN_LEFT, *prev);