fpc/packages/xforms/examples/borderwidth.pp
mazen b127fc154a * Fixed spell error revealed by lintian.
git-svn-id: trunk@16094 -
2010-10-06 20:33:57 +00:00

102 lines
3.0 KiB
ObjectPascal

program borderwidth;
uses xforms;
type TFD_bwform = record
bwform : PFL_FORM;
vdata : pointer;
ldata : longint;
done,
bw_choice,
bwgroup,
pmobj : PFL_OBJECT;
end;
PFD_bwform = ^TFD_bwform;
{ callbacks for form bwform }
procedure done_callback(ob : PFL_OBJECT; data : longint);cdecl;
begin
{ fill-in code for callback }
halt(0);
end;
var
fd_bwform : PFD_bwform;
const bws : array[0..7] of longint = (-3,-2,-1,1,2,3,4,5);
procedure bw_callback(ob : PFL_OBJECT; data : longint);cdecl;
var bw : longint;
begin
bw := bws[fl_get_choice(ob)-1];
fl_set_object_bw(fd_bwform^.bwgroup, bw);
{ since bwgroup includes the backface, it wipes out the done button}
fl_redraw_object(fd_bwform^.done);
fl_redraw_object(fd_bwform^.bw_choice);
end;
function create_form_bwform : PFD_bwform;
var
obj : PFL_OBJECT;
fdui : PFD_bwform;
begin
new(fdui);
fdui^.bwform := fl_bgn_form(FL_NO_BOX, 380, 340);
fdui^.bwgroup := fl_bgn_group();
obj := fl_add_box(FL_UP_BOX,0,0,380,340,'');
obj := fl_add_frame(FL_EMBOSSED_FRAME,220,60,135,145,'');
obj := fl_add_frame(FL_ENGRAVED_FRAME,15,60,185,145,'');
obj := fl_add_slider(FL_HOR_SLIDER,25,75,160,25,'');
obj := fl_add_pixmapbutton(FL_NORMAL_BUTTON,305,145,40,35,'');
fdui^.pmobj := obj;
obj := fl_add_positioner(FL_NORMAL_POSITIONER,30,225,100,80,'');
obj := fl_add_counter(FL_NORMAL_COUNTER,25,160,160,25,'');
obj := fl_add_lightbutton(FL_PUSH_BUTTON,230,100,100,30,'LightButton');
obj := fl_add_roundbutton(FL_PUSH_BUTTON,230,130,80,33,'Button');
obj := fl_add_round3dbutton(FL_PUSH_BUTTON,230,152,80,33,'Button');
fl_set_object_color(obj,FL_COL1, FL_BLUE);
obj := fl_add_checkbutton(FL_PUSH_BUTTON,230,174,80,33,'Button');
obj := fl_add_input(FL_NORMAL_INPUT,195,240,160,28,'Input');
obj := fl_add_valslider(FL_HOR_BROWSER_SLIDER,25,120,160,25,'');
obj := fl_add_button(FL_NORMAL_BUTTON,230,65,100,30,'Button');
fl_end_group();
obj := fl_add_button(FL_NORMAL_BUTTON,270,290,75,30,'Done');
fdui^.done := obj;
fl_set_object_callback(obj,PFL_CALLBACKPTR(@done_callback),0);
obj:= fl_add_choice(FL_NORMAL_CHOICE,105,20,80,25,'Border Width');
fdui^.bw_choice := obj ;
fl_set_object_callback(obj,PFL_CALLBACKPTR(@bw_callback),0);
fl_end_form();
fdui^.bwform^.fdui := fdui;
create_form_bwform:= fdui;
end;
begin
{ application default. Can be overridden by the command line options }
fl_set_border_width(-2);
fl_initialize(@argc, argv, 'FormDemo', nil, 0);
fd_bwform := create_form_bwform;
{ fill-in form initialization code }
fl_set_pixmapbutton_file(fd_bwform^.pmobj, 'crab.xpm');
fl_addto_choice(fd_bwform^.bw_choice,'-3 Pixel|-2 Pixel|-1 Pixel');
fl_addto_choice(fd_bwform^.bw_choice,' 1 Pixel| 2 Pixel| 3 Pixel');
fl_addto_choice(fd_bwform^.bw_choice,' 4 Pixel| 5 Pixel');
fl_set_choice_text(fd_bwform^.bw_choice, '-2 Pixel');
{ show the first form }
fl_show_form(fd_bwform^.bwform,FL_PLACE_CENTER,FL_NOBORDER,'bwform');
while (fl_do_forms<>nil) do;
end.