package body Demo2_Frame_Package is procedure Initialize (V : in out Demo2_Frame) is Callptr : Callback_Button_Ptr; Choices : Strings(1..3) := (Rad1'Access,Rad2'Access,Rad3'Access); begin Initialize(Xv_Frame(V)); V.Panel_Ptr := new Xv_Panel(Get_Frame(Xv_Frame(V)),True); V.Button_Ptr := new Xv_Panel_Button(Get_Panel(V.Panel_Ptr.all)); -- Set some characteristics for the frame window Set_Title(Xv_Frame(V),"Hello World #2"); Set_Pos(Xv_Frame(V),100,100); Set_Size(Xv_Frame(V),300,300); Set_Max_Size(Xv_Frame(V),600,600); Set_Min_Size(Xv_Frame(V),100,300); Set_Text(V.Button_Ptr.all,"Quit"); Callptr := Quit_Func'access; Set_Callback(V.Button_Ptr.all,Callptr); -- Create a menu object with three choices V.Menu_Ptr := new Xv_Menu; Set_Choices(V.Menu_Ptr.all,Choices); -- Create a button for the menu V.Button_Ptr := new Xv_Panel_Button(Get_Panel(V.Panel_Ptr.all)); Set_Text(V.Button_Ptr.all,"Menu Button"); Callptr := Quit_Func'Access; -- Attach the menu object to the button Set_Menu(V.Button_Ptr.all,Xv_Opaque(Get_Menu(V.Menu_Ptr.all))); -- Create a text object V.Text_Ptr := new Xv_Panel_Text(Get_Panel(V.Panel_Ptr.all)); Set_Text(V.Text_Ptr.all,"Name"); Set_Value(V.Text_Ptr.all,"Andreas"); Set_Disp_Width(V.Text_Ptr.all,10); -- Create a numeric object V.Num_Ptr := new Xv_Panel_Numeric(Get_Panel(V.Panel_Ptr.all)); Set_Pos(V.Num_Ptr.all,4,68); Set_Text(V.Num_Ptr.all,"Account"); Set_Disp_Width(V.Num_Ptr.all,10); Set_Min_Value(V.Num_Ptr.all,12345670); Set_Max_Value(V.Num_Ptr.all,12345690); Set_Value(V.Num_Ptr.all,12345680); -- Create a choice object with three choices V.Choice_Ptr := new Xv_Panel_Choice(Get_Panel(V.Panel_Ptr.all)); Set_Choices(V.Choice_Ptr.all,Choices); Set_Pos(V.Choice_Ptr.all,32,100); Set_Text(V.Choice_Ptr.all,"Choices"); Set_Value(V.Choice_Ptr.all,2); Set_Layout(V.Choice_Ptr.all,False); -- Create a toggle object with three choices V.Toggle_Ptr := new Xv_Panel_Toggle(Get_Panel(V.Panel_Ptr.all)); Set_Choices(V.Toggle_Ptr.all,Choices); Set_Pos(V.Toggle_Ptr.all,120,100); Set_Text(V.Toggle_Ptr.all,"Toggle"); Set_Value(V.Toggle_Ptr.all,2); Set_Layout(V.Toggle_Ptr.all,False); -- Create a checkbox object with three choices V.Chkbox_Ptr := new Xv_Panel_Checkbox(Get_Panel(V.Panel_Ptr.all)); Set_Choices(V.Chkbox_Ptr.all,Choices); Set_Pos(V.Chkbox_Ptr.all,220,100); Set_Text(V.Chkbox_Ptr.all,"Checkbox"); Set_Value(V.Chkbox_Ptr.all,2); Set_Layout(V.Chkbox_Ptr.all,False); -- Create a slider object V.Slider_Ptr := new Xv_Panel_Slider(Get_Panel(V.Panel_Ptr.all)); Set_Pos(V.Slider_Ptr.all,32,220); Set_Text(V.Slider_Ptr.all,"Slider"); Set_Value(V.Slider_Ptr.all,2); Set_Min_Value(V.Slider_Ptr.all,1); Set_Max_Value(V.Slider_Ptr.all,10); Set_Ticks(V.Slider_Ptr.all,5); Set_Layout(V.Slider_Ptr.all,False); -- Create a gauge object V.Gauge_Ptr := new Xv_Panel_Gauge(Get_Panel(V.Panel_Ptr.all)); Set_Pos(V.Gauge_Ptr.all,32,250); Set_Text(V.Gauge_Ptr.all,"Gauge"); Set_Value(V.Gauge_Ptr.all,6); Set_Min_Value(V.Gauge_Ptr.all,1); Set_Max_Value(V.Gauge_Ptr.all,10); Set_Ticks(V.Gauge_Ptr.all,5); Set_Layout(V.Gauge_Ptr.all,False); -- Ok, here we go... Window_Loop(Xv_Frame(V)); end Initialize; procedure Finalize (V : in out Demo2_Frame) is begin Finalize(Xv_Frame(V)); end Finalize; procedure Quit_Func(Item : Panel_item; Event : Integer) is begin raise QUIT_PROGRAM; end Quit_Func; end Demo2_Frame_Package;