|
DO NOT REPLY TO THIS MESSAGE. INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.
[STR New]
Link: https://www.fltk.org/str.php?L2639
Version: 1.4-feature
Attached file "str2639_rsz_flex.cxx"...
Link: https://www.fltk.org/str.php?L2639
Version: 1.4-feature #include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Flex.H>
#include <FL/Fl_Button.H>
Fl_Flex *p1;
Fl_Group *g1, *g2, *g3;
////////////////////////////////////////////////////////////////
static void b1_cb(Fl_Widget *w, void *data) { // "Hide G2"
Fl_Group *g2 = (Fl_Group *)data;
if (g2->visible()) {
g2->hide();
p1->layout();
}
}
static void b2_cb(Fl_Widget *w, void *data) {
Fl_Group *g2 = (Fl_Group *)data;
if (!g2->visible()) {
g2->show();
p1->layout();
}
}
int main(int argc, char **argv) {
Fl_Button *b1, *b2;
Fl_Window *window = new Fl_Window(400, 400, "Fl_Flex test");
window->begin();
// p1 = Fl_Flex with only one "resizable" widget inside
p1 = new Fl_Flex(0, 0, 400, 400);
p1->type(Fl_Flex::VERTICAL);
p1->begin();
g1 = new Fl_Group(0, 0, 0, 30, "Group 1");
g1->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE);
g1->box(FL_UP_BOX);
g1->color(FL_CYAN);
g1->end();
g2 = new Fl_Group(0, 0, 0, 30, "Group 2");
g2->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE);
g2->box(FL_UP_BOX);
g2->color(FL_RED);
g2->end();
g3 = new Fl_Group(0, 0, 0, 280, "Group 3 R e s i z a b l e");
g3->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE);
g3->box(FL_UP_BOX);
g3->color(FL_GREEN);
g3->end();
b1 = new Fl_Button(0, 340, 50, 30);
b1->label("Hide G2");
b1->callback(b1_cb, g2);
b2 = new Fl_Button(0, 370, 50, 30);
b2->label("Show G2");
b2->callback(b2_cb, g2);
// Fl_Flex p1: set layout and end group
p1->fixed(g1, 30);
p1->fixed(g2, 30);
p1->fixed(b1, 30);
p1->fixed(b2, 30);
p1->end();
// p1->resizable(g3); // would be ignored by Fl_Flex
window->end();
window->resizable(window);
window->size_range(200, 60);
window->show();
return Fl::run();
}
[ Direct Link to Message ] | |