X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=Ada95%2Fsamples%2Fsample-function_key_setting.adb;h=4ff70be7bb8aa768d691d353db7a8cbf5dc97319;hp=979fefd0d92c5f871fb3460ad93c847d3b05f3b9;hb=c9c32236e27689a61c794b714c6b86c460866e35;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1 diff --git a/Ada95/samples/sample-function_key_setting.adb b/Ada95/samples/sample-function_key_setting.adb index 979fefd0..4ff70be7 100644 --- a/Ada95/samples/sample-function_key_setting.adb +++ b/Ada95/samples/sample-function_key_setting.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2009,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,10 +33,11 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------ --- Author: Juergen Pfeifer 1996 +-- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.6 $ --- Binding Version 00.93 +-- $Revision: 1.15 $ +-- $Date: 2011/03/23 00:44:12 $ +-- Binding Version 01.00 ------------------------------------------------------------------------------ with Ada.Unchecked_Deallocation; with Sample.Manifest; use Sample.Manifest; @@ -80,25 +81,25 @@ package body Sample.Function_Key_Setting is Top_Of_Stack : Env_Ptr := null; - procedure Push_Environment (Key : in String; - Reset : in Boolean := True) + procedure Push_Environment (Key : String; + Reset : Boolean := True) is P : constant Env_Ptr := new Key_Environment (Number_Of_Keys); begin -- Store the current labels in the environment for I in 1 .. Number_Of_Keys loop - Get_Soft_Label_Key (I, P.Labels (I)); + Get_Soft_Label_Key (I, P.all.Labels (I)); if Reset then Set_Soft_Label_Key (I, " "); end if; end loop; - P.Prev := Top_Of_Stack; + P.all.Prev := Top_Of_Stack; -- now store active help context and notepad - P.Help := Active_Context; - P.Notepad := Active_Notepad; + P.all.Help := Active_Context; + P.all.Notepad := Active_Notepad; -- The notepad must now vanish and the new notepad is empty. - if (P.Notepad /= Null_Panel) then - Hide (P.Notepad); + if P.all.Notepad /= Null_Panel then + Hide (P.all.Notepad); Update_Panels; end if; Active_Notepad := Null_Panel; @@ -118,14 +119,14 @@ package body Sample.Function_Key_Setting is raise Function_Key_Stack_Error; else for I in 1 .. Number_Of_Keys loop - Set_Soft_Label_Key (I, P.Labels (I), Justification); + Set_Soft_Label_Key (I, P.all.Labels (I), Justification); end loop; pragma Assert (Active_Context /= null); Release_String (Active_Context); - Active_Context := P.Help; + Active_Context := P.all.Help; Refresh_Soft_Label_Keys_Without_Update; - Notepad_To_Context (P.Notepad); - Top_Of_Stack := P.Prev; + Notepad_To_Context (P.all.Notepad); + Top_Of_Stack := P.all.Prev; Release_Environment (P); end if; end Pop_Environment; @@ -149,17 +150,17 @@ package body Sample.Function_Key_Setting is else loop exit when P = null; - if P.Help.all = Key then + if P.all.Help.all = Key then return True; else - P := P.Prev; + P := P.all.Prev; end if; end loop; return False; end if; end Find_Context; - procedure Notepad_To_Context (Pan : in Panel) + procedure Notepad_To_Context (Pan : Panel) is W : Window; begin