1 ------------------------------------------------------------------------------
3 -- GNAT ncurses Binding --
5 -- Terminal_Interface.Curses.Menus.Menu_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;
29 package body Terminal_Interface.Curses.Menus.Menu_User_Data is
31 function To_Address is new
32 Unchecked_Conversion (User_Access,
34 function To_Pointer is new
35 Unchecked_Conversion (System.Address,
38 procedure Set_User_Data (Men : in Menu;
39 Data : in User_Access)
41 function Menu_Userptr (Men : Menu) return Ada_User_Wrapper_Access;
42 pragma Import (C, Menu_Userptr, "menu_userptr");
44 U : Ada_User_Wrapper_Access := Menu_Userptr (Men);
46 if U = null or else U.I = null then
49 U.U := To_Address (Data);
52 procedure Get_User_Data (Men : in Menu;
53 Data : out User_Access)
55 function Menu_Userptr (Men : Menu) return Ada_User_Wrapper_Access;
56 pragma Import (C, Menu_Userptr, "menu_userptr");
58 U : Ada_User_Wrapper_Access := Menu_Userptr (Men);
63 Data := To_Pointer (U.U);
67 end Terminal_Interface.Curses.Menus.Menu_User_Data;