]> git.tdb.fi Git - libs/gltk.git/blobdiff - examples/widgetdemo/toggledemo.cpp
Refactor Panel to create Layout internally on request
[libs/gltk.git] / examples / widgetdemo / toggledemo.cpp
index cc928a0fafe66ad40c6039a25bcba2b5679146e2..91849e688ef0a1f81bc0450de9e28441791fc92d 100644 (file)
@@ -7,7 +7,7 @@ using namespace Msp;
 
 ToggleDemo::ToggleDemo()
 {
-       set_layout(new GLtk::Layout);
+       get_or_create_layout();
 
        GLtk::Label *lbl = new GLtk::Label("Standalone toggles:");
        add(*lbl);
@@ -32,7 +32,7 @@ ToggleDemo::ToggleDemo()
                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);
@@ -45,9 +45,9 @@ ToggleDemo::ToggleDemo()
                        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;
                }