]> git.tdb.fi Git - libs/gltk.git/blobdiff - examples/widgetdemo/buttondemo.cpp
Rework how widget ownership works in Container
[libs/gltk.git] / examples / widgetdemo / buttondemo.cpp
index 170ce85636fa7b229d9f185f51a07587e95024e9..871244ab8d6fd0f99e1e932b18bf218bdef2d080 100644 (file)
@@ -10,17 +10,15 @@ ButtonDemo::ButtonDemo()
 {
        get_or_create_layout();
 
-       GLtk::Label *lbl_message = new GLtk::Label;
-       add(*lbl_message);
+       GLtk::Label *lbl_message = &add_new<GLtk::Label>();
 
        vector<GLtk::Button *> buttons;
        for(unsigned i=0; i<5; ++i)
        {
                string text = format("Button %d", i+1);
-               GLtk::Button *btn = new GLtk::Button(text);
+               GLtk::Button *btn = &add_new<GLtk::Button>(text);
                btn->signal_clicked.connect(sigc::bind(sigc::mem_fun(lbl_message, &GLtk::Label::set_text), text+" was clicked"));
                buttons.push_back(btn);
-               add(*btn);
                if(i>0)
                {
                        layout->add_constraint(*btn, GLtk::Layout::COPY_WIDTH, *buttons[0]);
@@ -41,10 +39,9 @@ ButtonDemo::ButtonDemo()
 
        layout->add_constraint(*buttons[0], GLtk::Layout::BELOW, *lbl_message);
 
-       GLtk::Button *btn = new GLtk::Button("A big one");
+       GLtk::Button *btn = &add_new<GLtk::Button>("A big one");
        btn->signal_clicked.connect(sigc::bind(sigc::mem_fun(lbl_message, &GLtk::Label::set_text), "The big button was clicked"));
        buttons.push_back(btn);
-       add(*btn);
        layout->add_constraint(*btn, GLtk::Layout::ALIGN_TOP, *buttons[0]);
        layout->add_constraint(*btn, GLtk::Layout::ALIGN_BOTTOM, *buttons[1]);
        layout->add_constraint(*btn, GLtk::Layout::ALIGN_LEFT, *buttons[3]);