X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fada%2Fterminal_interface-curses-forms-field_types-user__adb.htm;h=ed3a5e1baa9d158d1e2137f48681cf07ba96238f;hb=29ee95cea37c4bbf2014a35677d9a0750c6b52a8;hp=2a66031cf04a40c958f8be7c8502a2fe729d634c;hpb=55ccd2b959766810cf7db8d1c4462f338ce0afc8;p=ncurses.git
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
index 2a66031c..ed3a5e1b 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
@@ -12,7 +12,7 @@
-- B O D Y --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 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 --
@@ -40,101 +40,100 @@
------------------------------------------------------------------------------
-- Author: Juergen Pfeifer, 1996
-- Version Control:
--- @Revision: 1.13 @
--- @Date: 2004/08/21 21:37:00 @
+-- @Revision: 1.21 @
+-- @Date: 2011/03/23 00:44:58 @
-- Binding Version 01.00
------------------------------------------------------------------------------
-with Ada.Unchecked_Conversion;
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
+with System.Address_To_Access_Conversions;
+with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-package body Terminal_Interface.Curses.Forms.Field_Types.User is
+package body Terminal_Interface.Curses.Forms.Field_Types.User is
- use type Interfaces.C.int;
-
- procedure Set_Field_Type (Fld : in Field;
- Typ : in User_Defined_Field_Type)
+ procedure Set_Field_Type (Fld : Field;
+ Typ : User_Defined_Field_Type)
is
- function Allocate_Arg (T : User_Defined_Field_Type'Class)
+ function Allocate_Arg (T : User_Defined_Field_Type'Class)
return Argument_Access;
- function Set_Fld_Type (F : Field := Fld;
- Cft : C_Field_Type := C_Generic_Type;
- Arg1 : Argument_Access)
+ function Set_Fld_Type (F : Field := Fld;
+ Cft : C_Field_Type := C_Generic_Type;
+ Arg1 : Argument_Access)
return C_Int;
- pragma Import (C, Set_Fld_Type, "set_field_type");
+ pragma Import (C, Set_Fld_Type, "set_field_type_user");
- Res : Eti_Error;
+ Res : Eti_Error;
- function Allocate_Arg (T : User_Defined_Field_Type'Class)
+ function Allocate_Arg (T : User_Defined_Field_Type'Class)
return Argument_Access
is
- Ptr : constant Field_Type_Access
- := new User_Defined_Field_Type'Class'(T);
+ Ptr : constant Field_Type_Access
+ := new User_Defined_Field_Type'Class'(T);
begin
- return new Argument'(Usr => System.Null_Address,
- Typ => Ptr,
- Cft => Null_Field_Type);
- end Allocate_Arg;
+ return new Argument'(Usr => System.Null_Address,
+ Typ => Ptr,
+ Cft => Null_Field_Type);
+ end Allocate_Arg;
begin
- Res := Set_Fld_Type (Arg1 => Allocate_Arg (Typ));
- if Res /= E_Ok then
- Eti_Exception (Res);
+ Res := Set_Fld_Type (Arg1 => Allocate_Arg (Typ));
+ if Res /= E_Ok then
+ Eti_Exception (Res);
end if;
end Set_Field_Type;
- function To_Argument_Access is new Ada.Unchecked_Conversion
- (System.Address, Argument_Access);
+ package Argument_Conversions is
+ new System.Address_To_Access_Conversions (Argument);
- function Generic_Field_Check (Fld : Field;
- Usr : System.Address) return C_Int
+ function Generic_Field_Check (Fld : Field;
+ Usr : System.Address) return Curses_Bool
is
- Result : Boolean;
- Udf : constant User_Defined_Field_Type_Access :=
- User_Defined_Field_Type_Access (To_Argument_Access (Usr).Typ);
+ Result : Boolean;
+ Udf : constant User_Defined_Field_Type_Access :=
+ User_Defined_Field_Type_Access
+ (Argument_Access (Argument_Conversions.To_Pointer (Usr)).all.Typ);
begin
- Result := Field_Check (Fld, Udf.all);
- return C_Int (Boolean'Pos (Result));
- end Generic_Field_Check;
+ Result := Field_Check (Fld, Udf.all);
+ return Curses_Bool (Boolean'Pos (Result));
+ end Generic_Field_Check;
- function Generic_Char_Check (Ch : C_Int;
- Usr : System.Address) return C_Int
+ function Generic_Char_Check (Ch : C_Int;
+ Usr : System.Address) return Curses_Bool
is
- Result : Boolean;
- Udf : constant User_Defined_Field_Type_Access :=
- User_Defined_Field_Type_Access (To_Argument_Access (Usr).Typ);
+ Result : Boolean;
+ Udf : constant User_Defined_Field_Type_Access :=
+ User_Defined_Field_Type_Access
+ (Argument_Access (Argument_Conversions.To_Pointer (Usr)).all.Typ);
begin
- Result := Character_Check (Character'Val (Ch), Udf.all);
- return C_Int (Boolean'Pos (Result));
- end Generic_Char_Check;
+ Result := Character_Check (Character'Val (Ch), Udf.all);
+ return Curses_Bool (Boolean'Pos (Result));
+ end Generic_Char_Check;
-- -----------------------------------------------------------------------
--
- function C_Generic_Type return C_Field_Type
+ function C_Generic_Type return C_Field_Type
is
- Res : Eti_Error;
- T : C_Field_Type;
+ Res : Eti_Error;
+ T : C_Field_Type;
begin
if M_Generic_Type = Null_Field_Type then
- T := New_Fieldtype (Generic_Field_Check'Access,
- Generic_Char_Check'Access);
- if T = Null_Field_Type then
- raise Form_Exception;
+ T := New_Fieldtype (Generic_Field_Check'Access,
+ Generic_Char_Check'Access);
+ if T = Null_Field_Type then
+ raise Form_Exception;
else
- Res := Set_Fieldtype_Arg (T,
+ Res := Set_Fieldtype_Arg (T,
Make_Arg'Access,
Copy_Arg'Access,
Free_Arg'Access);
- if Res /= E_Ok then
- Eti_Exception (Res);
+ if Res /= E_Ok then
+ Eti_Exception (Res);
end if;
end if;
- M_Generic_Type := T;
+ M_Generic_Type := T;
end if;
pragma Assert (M_Generic_Type /= Null_Field_Type);
return M_Generic_Type;
- end C_Generic_Type;
+ end C_Generic_Type;
-end Terminal_Interface.Curses.Forms.Field_Types.User;
+end Terminal_Interface.Curses.Forms.Field_Types.User;