ButtonDemo::ButtonDemo()
{
- set_layout(new GLtk::Layout);
+ 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]);
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]);