-- --
-- B O D Y --
-- --
--- Version 00.92 --
+------------------------------------------------------------------------------
+-- 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 --
+-- "Software"), to deal in the Software without restriction, including --
+-- without limitation the rights to use, copy, modify, merge, publish, --
+-- distribute, distribute with modifications, sublicense, and/or sell --
+-- copies of the Software, and to permit persons to whom the Software is --
+-- furnished to do so, subject to the following conditions: --
-- --
--- The ncurses Ada95 binding is copyrighted 1996 by --
--- Juergen Pfeifer, Email: Juergen.Pfeifer@T-Online.de --
+-- The above copyright notice and this permission notice shall be included --
+-- in all copies or substantial portions of the Software. --
-- --
--- Permission is hereby granted to reproduce and distribute this --
--- binding by any means and for any fee, whether alone or as part --
--- of a larger distribution, in source or in binary form, PROVIDED --
--- this notice is included with any such distribution, and is not --
--- removed from any of its header files. Mention of ncurses and the --
--- author of this binding in any applications linked with it is --
--- highly appreciated. --
+-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --
+-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --
+-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --
+-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --
+-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --
+-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --
+-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --
-- --
--- This binding comes AS IS with no warranty, implied or expressed. --
+-- Except as contained in this notice, the name(s) of the above copyright --
+-- holders shall not be used in advertising or otherwise to promote the --
+-- sale, use or other dealings in this Software without prior written --
+-- authorization. --
------------------------------------------------------------------------------
+-- Author: Juergen Pfeifer, 1996
-- Version Control
--- $Revision: 1.3 $
+-- $Revision: 1.15 $
+-- $Date: 2011/03/23 00:44:12 $
+-- Binding Version 01.00
------------------------------------------------------------------------------
with Ada.Unchecked_Deallocation;
with Sample.Manifest; use Sample.Manifest;
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;
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;
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