1 ------------------------------------------------------------------------------
3 -- GNAT ncurses Binding --
5 -- Terminal_Interface.Curses.Forms.Field_User_Data --
11 -- The ncurses Ada95 binding is copyrighted 1996 by --
12 -- Juergen Pfeifer, Email: Juergen.Pfeifer@T-Online.de --
14 -- Permission is hereby granted to reproduce and distribute this --
15 -- binding by any means and for any fee, whether alone or as part --
16 -- of a larger distribution, in source or in binary form, PROVIDED --
17 -- this notice is included with any such distribution, and is not --
18 -- removed from any of its header files. Mention of ncurses and the --
19 -- author of this binding in any applications linked with it is --
20 -- highly appreciated. --
22 -- This binding comes AS IS with no warranty, implied or expressed. --
23 ------------------------------------------------------------------------------
26 ------------------------------------------------------------------------------
27 with Unchecked_Conversion;
28 with Terminal_Interface.Curses.Aux;
29 use Terminal_Interface.Curses.Aux;
32 -- |=====================================================================
33 -- | man page form_field_userptr.3x
34 -- |=====================================================================
36 package body Terminal_Interface.Curses.Forms.Field_User_Data is
38 function To_Address is new Unchecked_Conversion (User_Access,
40 function To_Pointer is new Unchecked_Conversion (System.Address,
45 procedure Set_User_Data (Fld : in Field;
46 Data : in User_Access)
48 A : constant Field_User_Wrapper_Access := Field_Userptr (Fld);
49 B : Field_User_Wrapper_Access;
56 B := new Field_User_Wrapper'(T => A.T,
58 U => To_Address (Data));
59 R := Set_Field_Userptr (Fld, B);
62 A.U := To_Address (Data);
69 procedure Get_User_Data (Fld : in Field;
70 Data : out User_Access)
72 A : constant Field_User_Wrapper_Access := Field_Userptr (Fld);
77 Data := To_Pointer (A.U);
81 end Terminal_Interface.Curses.Forms.Field_User_Data;