MacArthur, Ian (SELEX GALILEO, UK) wrote:
>> I try to create a tabed window,
>> with vertical tabas and horizontal text
I'd think an Fl_Browser to the left of an Fl_Group would have
the effect you're looking for, eg:
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Hold_Browser.H>
#include <FL/Fl_Group.H>
#include <FL/Fl_Button.H>
//
// Demonstrate a "vertical tabbed" window dialog
// erco 05/09/08
//
Fl_Window *win = 0;
Fl_Hold_Browser *bro = 0;
Fl_Group *grp[3] = { 0,0,0 };
void SelectGroup_CB(Fl_Widget*, void*) {
// Show the 'selected' group
for ( int t=0; t<3; t++ ) {
if ( t == (bro->value()-1) ) { grp[t]->show(); }
else { grp[t]->hide(); }
}
}
int main() {
win = new Fl_Window(600,400);
// Browser to act as "tab selector"
bro = new Fl_Hold_Browser(10,10,150,400-20);
bro->add("Tab One");
bro->add("Tab Two");
bro->add("Tab Three");
// Make three groups with different contents
grp[0] = new Fl_Group(170,10,450-30,400-20);
grp[0]->box(FL_ENGRAVED_BOX);
grp[0]->color(9);
new Fl_Button(230+0,190+0,100,20,"Group#1");
grp[0]->end();
grp[1] = new Fl_Group(170,10,450-30,400-20);
grp[1]->box(FL_ENGRAVED_BOX);
grp[1]->color(10);
new Fl_Button(230+000,160+00,100,20,"Group#2");
new Fl_Button(230+110,160+30,100,20,"Group#2");
grp[1]->end();
grp[2] = new Fl_Group(170,10,450-30,400-20);
grp[2]->box(FL_ENGRAVED_BOX); grp[2]->color(12);
new Fl_Button(230+000,130+00,100,20,"Group#3");
new Fl_Button(230+110,130+30,100,20,"Group#3");
new Fl_Button(230+220,130+60,100,20,"Group#3");
grp[2]->end();
// Set a callback for the browser, initialize first selection
bro->callback(SelectGroup_CB);
bro->select(2);
SelectGroup_CB(0,0); // (updates visible group based on our
select()tion)
win->show();
return(Fl::run());
}
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk