1
{ This is a demo that shows the different types of browsers. }
8
br : array[0..3] of PFL_OBJECT;
9
exitobj, readout : PFL_OBJECT;
13
bnames : array[0..3] of pchar =
15
'NORMAL_BROWSER', 'SELECT_BROWSER', 'HOLD_BROWSER', 'MULTI_BROWSER'
19
procedure deselect(obj : PFL_OBJECT ; arg : longint);cdecl;
24
fl_deselect_browser(br[i]);
27
procedure set_size(obj : PFL_OBJECT; arg : longint);cdecl;
32
fl_set_browser_fontsize(br[i],arg);
35
procedure set_style(obj : PFL_OBJECT; arg : longint);cdecl;
41
fl_set_browser_fontstyle(br[i], arg);
44
procedure br_callback(ob : PFL_OBJECT; arg : longint);cdecl;
48
mb : array[0..3] of pchar = ('','left','middle','right');
54
if (b < FL_SHORTCUT) then
55
buf :='In '+strpas(bnames[arg]) +'['+strpas(mb[b])+']'#0
57
buf:='In '+strpas(bnames[arg])+#0;
58
i := fl_get_browser(ob);
61
buf:=buf+strpas(fl_get_browser_line(ob,i));
62
buf:=buf+' was selected'#0
66
buf:=buf+strpas(fl_get_browser_line(ob,-i));
67
buf:=buf+' was deselected'#0
69
fl_set_object_label(readout,@buf[1]);
73
procedure create_form;
78
form := fl_bgn_form(FL_UP_BOX,700,570);
79
readout := fl_add_text(FL_NORMAL_TEXT,50,30,600,50,'');
80
fl_set_object_lsize(readout,FL_LARGE_SIZE);
81
fl_set_object_lalign(readout,FL_ALIGN_CENTER);
82
fl_set_object_lstyle(readout,FL_BOLD_STYLE);
83
fl_set_object_boxtype(readout,FL_UP_BOX);
85
fl_set_object_color(readout,FL_MAGENTA,FL_MAGENTA);
87
obj:= fl_add_browser(FL_NORMAL_BROWSER,20,120,150,290,bnames[0]);
89
fl_set_object_callback(obj, PFL_CALLBACKPTR(@br_callback), 0);
90
obj:= fl_add_browser(FL_SELECT_BROWSER,190,120,150,290,bnames[1]);
92
fl_set_object_callback(obj, PFL_CALLBACKPTR(@br_callback), 1);
93
obj := fl_add_browser(FL_HOLD_BROWSER,360,120,150,290,bnames[2]);
95
fl_set_object_color(obj,FL_COL1,FL_GREEN);
96
fl_set_object_callback(obj, PFL_CALLBACKPTR(@br_callback), 2);
97
obj := fl_add_browser(FL_MULTI_BROWSER,530,120,150,290,bnames[3]);
99
fl_set_object_color(br[3],FL_COL1,FL_CYAN);
100
fl_set_object_callback(obj, PFL_CALLBACKPTR(@br_callback), 3);
102
obj := fl_add_button(FL_NORMAL_BUTTON,560,510,120,30,'Exit');
104
obj := fl_add_button(FL_NORMAL_BUTTON,560,460,120,30,'Deselect');
105
fl_set_object_callback(obj,PFL_CALLBACKPTR(@deselect),0);
108
obj := fl_add_lightbutton(FL_RADIO_BUTTON,20,500,100,30,'Tiny');
109
fl_set_object_lsize(obj,FL_TINY_SIZE);
110
fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_size),obj^.lsize);
111
obj := fl_add_lightbutton(FL_RADIO_BUTTON,130,500,100,30,'Small');
112
fl_set_object_lsize(obj,FL_SMALL_SIZE);
113
fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_size),obj^.lsize);
114
fl_set_button(obj,1);
115
obj := fl_add_lightbutton(FL_RADIO_BUTTON,240,500,100,30,'Normal');
116
fl_set_object_lsize(obj,FL_NORMAL_SIZE);
117
fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_size),obj^.lsize);
118
obj := fl_add_lightbutton(FL_RADIO_BUTTON,350,500,100,30,'Large');
119
fl_set_object_lsize(obj,FL_LARGE_SIZE);
120
fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_size),obj^.lsize);
124
obj := fl_add_lightbutton(FL_RADIO_BUTTON,20,450,100,30,'Normal');
125
fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_style),FL_NORMAL_STYLE);
126
fl_set_button(obj,1);
127
obj := fl_add_lightbutton(FL_RADIO_BUTTON,120,450,100,30,'Bold');
128
fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_style),FL_BOLD_STYLE);
129
obj := fl_add_lightbutton(FL_RADIO_BUTTON,220,450,100,30,'Italic');
130
fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_style),FL_ITALIC_STYLE);
131
obj := fl_add_lightbutton(FL_RADIO_BUTTON,320,450,100,30,'BoldItalic');
132
fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_style),FL_BOLDITALIC_STYLE);
133
obj := fl_add_lightbutton(FL_RADIO_BUTTON,420,450,100,30,'Fixed');
134
fl_set_object_callback(obj,PFL_CALLBACKPTR(@set_style),FL_FIXED_STYLE);
140
procedure fill_browsers;
152
buf:='@NLine with qb '+buf+#0;
154
else if ( j = 10) then
156
else if ( j = 40 ) then
159
buf:='@mLine with qb '+buf+#0;
164
buf:='Line with qb '+buf+#0;
166
fl_add_browser_line(br[i],@buf[1]);
172
fl_initialize(@argc, argv, 'FormDemo', nil, 0);
175
fl_show_form(form,FL_PLACE_CENTER,FL_TRANSIENT,'All Browsers');