X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=examples%2Fwidgetdemo%2Ftoggledemo.cpp;fp=examples%2Fwidgetdemo%2Ftoggledemo.cpp;h=cc928a0fafe66ad40c6039a25bcba2b5679146e2;hb=68c6a79c86c595fa2ec5a7109568d5baefc50afd;hp=0000000000000000000000000000000000000000;hpb=4acbe9feda160546d0afd43fbdef3f00db6dcea7;p=libs%2Fgltk.git diff --git a/examples/widgetdemo/toggledemo.cpp b/examples/widgetdemo/toggledemo.cpp new file mode 100644 index 0000000..cc928a0 --- /dev/null +++ b/examples/widgetdemo/toggledemo.cpp @@ -0,0 +1,57 @@ +#include +#include +#include +#include "toggledemo.h" + +using namespace Msp; + +ToggleDemo::ToggleDemo() +{ + set_layout(new GLtk::Layout); + + GLtk::Label *lbl = new GLtk::Label("Standalone toggles:"); + add(*lbl); + + GLtk::Widget *prev = lbl; + for(unsigned i=0; i<4; ++i) + { + GLtk::Toggle *tgl = new GLtk::Toggle(format("Toggle %d", i+1)); + add(*tgl); + + layout->add_constraint(*tgl, GLtk::Layout::BELOW, *prev); + layout->add_constraint(*tgl, GLtk::Layout::ALIGN_LEFT, *prev); + layout->add_constraint(*tgl, GLtk::Layout::ALIGN_RIGHT, *prev); + + prev = tgl; + } + + for(unsigned i=0; i<2; ++i) + { + GLtk::Panel *group = new GLtk::Panel; + add(*group); + 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); + + lbl = new GLtk::Label(format("Group %d:", i+1)); + group->add(*lbl); + + prev = lbl; + for(unsigned j=0; j<4; ++j) + { + GLtk::Toggle *tgl = 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); + + prev = tgl; + } + + prev = group; + } +}