X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=Ada95%2Fsamples%2Fsample-menu_demo.adb;h=7e49ddde998d44f3aff41bdcb757c2a807f67ba5;hb=4a864172ab2e7d301d9db9e80fb4c617e3ed7b6e;hp=640c25cb359a0736032df8f57ed50915ba655c74;hpb=0eb88fc5281804773e2a0c7a488a4452463535ce;p=ncurses.git diff --git a/Ada95/samples/sample-menu_demo.adb b/Ada95/samples/sample-menu_demo.adb index 640c25cb..7e49ddde 100644 --- a/Ada95/samples/sample-menu_demo.adb +++ b/Ada95/samples/sample-menu_demo.adb @@ -7,7 +7,8 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright 2020 Thomas E. Dickey -- +-- Copyright 1998-2008,2011 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -33,9 +34,10 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------ --- Author: Juergen Pfeifer 1996 +-- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.11 $ +-- $Revision: 1.20 $ +-- $Date: 2020/02/02 23:34:34 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Terminal_Interface.Curses; use Terminal_Interface.Curses; @@ -105,6 +107,12 @@ package body Sample.Menu_Demo is P : Panel) return Boolean is begin + if M = Null_Menu then + raise Menu_Exception; + end if; + if P = Null_Panel then + raise Panel_Exception; + end if; To_Change := No_Change; if K in User_Key_Code'Range then if K = QUIT then @@ -147,7 +155,7 @@ package body Sample.Menu_Demo is O : Item_Option_Set; begin for J in I'Range loop - Get_Options (I (J), O); + Get_Options (I.all (J), O); O.Selectable := True; if Hide_Long then case J is @@ -156,7 +164,7 @@ package body Sample.Menu_Demo is when others => null; end case; end if; - Set_Options (I (J), O); + Set_Options (I.all (J), O); end loop; end; return False; @@ -297,7 +305,6 @@ package body Sample.Menu_Demo is end if; end loop; Set_Spacing (M); - Flip_State := True; Pop_Environment; pragma Assert (Get_Index (Items (M, 1)) = Get_Index (I (1))); @@ -331,9 +338,9 @@ package body Sample.Menu_Demo is Null_Item); M : Menu := New_Menu (Itm); - U1 : User_Data_Access := new User_Data'(4711); + U1 : constant User_Data_Access := new User_Data'(4711); U2 : User_Data_Access; - U3 : User_Data_Access := new User_Data'(4712); + U3 : constant User_Data_Access := new User_Data'(4712); U4 : User_Data_Access; function My_Driver (M : Menu; @@ -372,14 +379,14 @@ package body Sample.Menu_Demo is Set_Pad_Character (M, '|'); MUD.Set_User_Data (M, U1); - IUD.Set_User_Data (Itm (1), U3); + IUD.Set_User_Data (Itm.all (1), U3); Mh.Drive_Me (M); MUD.Get_User_Data (M, U2); pragma Assert (U1 = U2 and U1.all = 4711); - IUD.Get_User_Data (Itm (1), U4); + IUD.Get_User_Data (Itm.all (1), U4); pragma Assert (U3 = U4 and U3.all = 4712); Pop_Environment;