1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-enumeration.adb
</TITLE></HEAD>
4 <HR><DIV ALIGN=
"center"><H1> File : terminal_interface-curses-forms-field_types-enumeration.adb
</H1></DIV><HR>
6 <FONT COLOR=green
><EM>------------------------------------------------------------------------------
</EM></FONT>
7 <FONT COLOR=green
><EM>-- --
</EM></FONT>
8 <FONT COLOR=green
><EM>--
<A HREF=
"http://www.gnat.com">GNAT
</A> ncurses Binding --
</EM></FONT>
9 <FONT COLOR=green
><EM>-- --
</EM></FONT>
10 <FONT COLOR=green
><EM>-- Terminal_Interface.Curses.Forms.Field_Types.Enumeration --
</EM></FONT>
11 <FONT COLOR=green
><EM>-- --
</EM></FONT>
12 <FONT COLOR=green
><EM>-- B O D Y --
</EM></FONT>
13 <FONT COLOR=green
><EM>-- --
</EM></FONT>
14 <FONT COLOR=green
><EM>------------------------------------------------------------------------------
</EM></FONT>
15 <FONT COLOR=green
><EM>-- Copyright (c)
1998-
2009,
2011 Free Software Foundation, Inc. --
</EM></FONT>
16 <FONT COLOR=green
><EM>-- --
</EM></FONT>
17 <FONT COLOR=green
><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --
</EM></FONT>
18 <FONT COLOR=green
><EM>-- copy of this software and associated documentation files (the --
</EM></FONT>
19 <FONT COLOR=green
><EM>--
"Software"), to deal in the Software without restriction, including --
</EM></FONT>
20 <FONT COLOR=green
><EM>-- without limitation the rights to use, copy, modify, merge, publish, --
</EM></FONT>
21 <FONT COLOR=green
><EM>-- distribute, distribute with modifications, sublicense, and/or sell --
</EM></FONT>
22 <FONT COLOR=green
><EM>-- copies of the Software, and to permit persons to whom the Software is --
</EM></FONT>
23 <FONT COLOR=green
><EM>-- furnished to do so, subject to the following conditions: --
</EM></FONT>
24 <FONT COLOR=green
><EM>-- --
</EM></FONT>
25 <FONT COLOR=green
><EM>-- The above copyright notice and this permission notice shall be included --
</EM></FONT>
26 <FONT COLOR=green
><EM>-- in all copies or substantial portions of the Software. --
</EM></FONT>
27 <FONT COLOR=green
><EM>-- --
</EM></FONT>
28 <FONT COLOR=green
><EM>-- THE SOFTWARE IS PROVIDED
"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --
</EM></FONT>
29 <FONT COLOR=green
><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --
</EM></FONT>
30 <FONT COLOR=green
><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --
</EM></FONT>
31 <FONT COLOR=green
><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --
</EM></FONT>
32 <FONT COLOR=green
><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --
</EM></FONT>
33 <FONT COLOR=green
><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --
</EM></FONT>
34 <FONT COLOR=green
><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --
</EM></FONT>
35 <FONT COLOR=green
><EM>-- --
</EM></FONT>
36 <FONT COLOR=green
><EM>-- Except as contained in this notice, the name(s) of the above copyright --
</EM></FONT>
37 <FONT COLOR=green
><EM>-- holders shall not be used in advertising or otherwise to promote the --
</EM></FONT>
38 <FONT COLOR=green
><EM>-- sale, use or other dealings in this Software without prior written --
</EM></FONT>
39 <FONT COLOR=green
><EM>-- authorization. --
</EM></FONT>
40 <FONT COLOR=green
><EM>------------------------------------------------------------------------------
</EM></FONT>
41 <FONT COLOR=green
><EM>-- Author: Juergen Pfeifer,
1996</EM></FONT>
42 <FONT COLOR=green
><EM>-- Version Control:
</EM></FONT>
43 <FONT COLOR=green
><EM>-- @Revision:
1.10 @
</EM></FONT>
44 <FONT COLOR=green
><EM>-- Binding Version
01.00</EM></FONT>
45 <FONT COLOR=green
><EM>------------------------------------------------------------------------------
</EM></FONT>
46 <b>with
</b> Ada.Unchecked_Deallocation;
47 <b>with
</b> <A HREF=
"interfac__ads.htm#ref_38_9">Interfaces
</A>.C;
<b>use
</b> <A HREF=
"interfac__ads.htm#ref_38_9">Interfaces
</A>.C;
48 <b>with
</b> <A HREF=
"interfac__ads.htm#ref_38_9">Interfaces
</A>.C.Strings;
<b>use
</b> <A HREF=
"interfac__ads.htm#ref_38_9">Interfaces
</A>.C.Strings;
49 <b>with
</b> <A HREF=
"terminal_interface__ads.htm#ref_42_9">Terminal_Interface
</A>.
<A HREF=
"terminal_interface-curses__ads.htm#ref_49_28">Curses
</A>.
<A HREF=
"terminal_interface-curses-aux__ads.htm#ref_50_35">Aux
</A>;
<b>use
</b> <A HREF=
"terminal_interface__ads.htm#ref_42_9">Terminal_Interface
</A>.
<A HREF=
"terminal_interface-curses__ads.htm#ref_49_28">Curses
</A>.
<A HREF=
"terminal_interface-curses-aux__ads.htm#ref_50_35">Aux
</A>;
51 <b>package
</b> <b>body
</b> <A HREF=
"terminal_interface__ads.htm#ref_42_9">Terminal_Interface
</A>.
<A HREF=
"terminal_interface-curses__ads.htm#ref_49_28">Curses
</A>.
<A HREF=
"terminal_interface-curses-forms__ads.htm#ref_49_35">Forms
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types
</A>.
<FONT COLOR=red
><A NAME=
"ref_46_58" HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration
</A></FONT> <b>is
</b>
53 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_48_13" HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_48_21" HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info
</A></FONT> :
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info
</A>;
54 <FONT COLOR=red
><A NAME=
"ref_49_21" HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Auto_Release_Names
</A></FONT> : Boolean := False)
55 <b>return
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field
</A>
57 <b>procedure
</b> Release_String
<b>is
</b>
58 <b>new
</b> Ada.Unchecked_Deallocation (String,
59 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_47_9">String_Access
</A>);
60 <FONT COLOR=red
><A NAME=
"ref_55_7">E
</A></FONT> :
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field
</A>;
61 <FONT COLOR=red
><A NAME=
"ref_56_7">L
</A></FONT> :
<b>constant
</b> size_t :=
1 + size_t (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_27">C
</A>);
62 <FONT COLOR=red
><A NAME=
"ref_57_7">S
</A></FONT> :
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_47_9">String_Access
</A>;
64 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_93_10">Case_Sensitive
</A> :=
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive
</A>;
65 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Match_Must_Be_Unique
</A> :=
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique
</A>;
66 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr
</A> :=
<b>new
</b> chars_ptr_array (size_t (
1) ..
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">L
</A>);
67 <b>for
</b> <FONT COLOR=red
><A NAME=
"ref_62_11">I
</A></FONT> <b>in
</b> 1 .. Positive (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">L
</A> -
1)
<b>loop
</b>
68 <b>if
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names
</A> (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I
</A>) =
<b>null
</b> <b>then
</b>
69 <b>raise
</b> <A HREF=
"terminal_interface-curses-forms__ads.htm#ref_290_4">Form_Exception
</A>;
71 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr
</A>.
<b>all
</b> (size_t (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I
</A>)) := New_String (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names
</A> (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I
</A>).
<b>all
</b>);
72 <b>if
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Auto_Release_Names
</A> <b>then
</b>
73 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">S
</A> :=
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names
</A> (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I
</A>);
74 Release_String (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">S
</A>);
76 <b>end
</b> <b>loop
</b>;
77 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr
</A>.
<b>all
</b> (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">L
</A>) := Null_Ptr;
78 <b>return
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E
</A>;
79 <b>end
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create
</A>;
81 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_76_14" HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_14">Release
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_76_23" HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum
</A></FONT> :
<b>in
</b> <b>out
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field
</A>)
83 <FONT COLOR=red
><A NAME=
"ref_78_7">I
</A></FONT> : size_t :=
0;
84 <FONT COLOR=red
><A NAME=
"ref_79_7">P
</A></FONT> : chars_ptr;
87 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">P
</A> :=
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr
</A>.
<b>all
</b> (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I
</A>);
88 <b>exit
</b> <b>when
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">P
</A> = Null_Ptr;
89 Free (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">P
</A>);
90 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr
</A>.
<b>all
</b> (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I
</A>) := Null_Ptr;
91 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I
</A> :=
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I
</A> +
1;
92 <b>end
</b> <b>loop
</b>;
93 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr
</A> :=
<b>null
</b>;
94 <b>end
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_14">Release
</A>;
96 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_91_14" HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14">Set_Field_Type
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_91_30" HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld
</A></FONT> :
<A HREF=
"terminal_interface-curses-forms__ads.htm#ref_56_9">Field
</A>;
97 <FONT COLOR=red
><A NAME=
"ref_92_30" HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ
</A></FONT> :
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field
</A>)
99 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_94_16">Set_Fld_Type
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_94_30" HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">F
</A></FONT> :
<A HREF=
"terminal_interface-curses-forms__ads.htm#ref_56_9">Field
</A> :=
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld
</A>;
100 <FONT COLOR=red
><A NAME=
"ref_95_30" HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg1
</A></FONT> : chars_ptr_array;
101 <FONT COLOR=red
><A NAME=
"ref_96_30" HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg2
</A></FONT> :
<A HREF=
"terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int
</A>;
102 <FONT COLOR=red
><A NAME=
"ref_97_30" HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg3
</A></FONT> :
<A HREF=
"terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int
</A>)
<b>return
</b> <A HREF=
"terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int
</A>;
103 <b>pragma
</b> Import (C, Set_Fld_Type,
"set_field_type_enum");
105 <FONT COLOR=red
><A NAME=
"ref_100_7">Res
</A></FONT> :
<A HREF=
"terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error
</A>;
107 <b>if
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr
</A> =
<b>null
</b> <b>then
</b>
108 <b>raise
</b> <A HREF=
"terminal_interface-curses-forms__ads.htm#ref_290_4">Form_Exception
</A>;
109 <b>end
</b> <b>if
</b>;
110 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_100_7">Res
</A> :=
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Set_Fld_Type
</A> (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_30">Arg1
</A> =
> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr
</A>.
<b>all
</b>,
111 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_96_30">Arg2
</A> =
> <A HREF=
"terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int
</A> (Boolean'Pos (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_93_10">Case_Sensitive
</A>)),
112 <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_30">Arg3
</A> =
> <A HREF=
"terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int
</A> (Boolean'Pos
113 (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Match_Must_Be_Unique
</A>)));
114 <b>if
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_100_7">Res
</A> /=
<A HREF=
"terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok
</A> <b>then
</b>
115 <A HREF=
"terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception
</A> (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_100_7">Res
</A>);
116 <b>end
</b> <b>if
</b>;
117 <A HREF=
"terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin
</A> (
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld
</A>,
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ
</A>,
<A HREF=
"terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Choice_Router
</A>);
118 <b>end
</b> <A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14">Set_Field_Type
</A>;
120 <b>end
</b> <A HREF=
"terminal_interface__ads.htm#ref_42_9">Terminal_Interface
</A>.
<A HREF=
"terminal_interface-curses__ads.htm#ref_49_28">Curses
</A>.
<A HREF=
"terminal_interface-curses-forms__ads.htm#ref_49_35">Forms
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types
</A>.
<A HREF=
"terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration
</A>;