1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML><HEAD><TITLE>terminal_interface-curses-text_io.ads
</TITLE></HEAD>
4 <HR><DIV ALIGN=
"center"><H1> File : terminal_interface-curses-text_io.ads
</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.Text_IO --
</EM></FONT>
11 <FONT COLOR=green
><EM>-- --
</EM></FONT>
12 <FONT COLOR=green
><EM>-- S P E C --
</EM></FONT>
13 <FONT COLOR=green
><EM>-- --
</EM></FONT>
14 <FONT COLOR=green
><EM>------------------------------------------------------------------------------
</EM></FONT>
15 <FONT COLOR=green
><EM>-- Copyright (c)
1998-
2003,
2009 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.14 @
</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.Text_IO;
47 <b>with
</b> Ada.IO_Exceptions;
49 <b>package
</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>.
<FONT COLOR=red
><A NAME=
"ref_44_35" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_42_40">Text_IO
</A></FONT> <b>is
</b>
51 <b>use
</b> <b>type
</b> Ada.Text_IO.Count;
52 <b>subtype
</b> <FONT COLOR=red
><A NAME=
"ref_47_12">Count
</A></FONT> <b>is
</b> Ada.Text_IO.Count;
53 <b>subtype
</b> <FONT COLOR=red
><A NAME=
"ref_48_12">Positive_Count
</A></FONT> <b>is
</b> <A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_47_12">Count
</A> <b>range
</b> 1 ..
<A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_47_12">Count
</A>'Last;
55 <b>subtype
</b> <FONT COLOR=red
><A NAME=
"ref_50_12">Field
</A></FONT> <b>is
</b> Ada.Text_IO.Field;
56 <b>subtype
</b> <FONT COLOR=red
><A NAME=
"ref_51_12">Number_Base
</A></FONT> <b>is
</b> Integer
<b>range
</b> 2 ..
16;
58 <b>type
</b> <FONT COLOR=red
><A NAME=
"ref_53_9">Type_Set
</A></FONT> <b>is
</b> (
<FONT COLOR=red
><A NAME=
"ref_53_22">Lower_Case
</A></FONT>,
<FONT COLOR=red
><A NAME=
"ref_53_34">Upper_Case
</A></FONT>,
<FONT COLOR=red
><A NAME=
"ref_53_46">Mixed_Case
</A></FONT>);
60 <FONT COLOR=green
><EM>-- For most of the routines you will see a version without a Window
</EM></FONT>
61 <FONT COLOR=green
><EM>-- type parameter. They will operate on a default window, which can
</EM></FONT>
62 <FONT COLOR=green
><EM>-- be set by the user. It is initially equal to Standard_Window.
</EM></FONT>
64 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_59_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_46_14">Set_Window
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_59_26" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_46_26">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>);
65 <FONT COLOR=green
><EM>-- Set Win as the default window
</EM></FONT>
67 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_62_13" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_52_13">Get_Window
</A></FONT> <b>return
</b> <A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>;
68 <FONT COLOR=green
><EM>-- Get the current default window
</EM></FONT>
70 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_65_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_63_14">Flush
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_65_21" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_63_21">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>);
71 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_66_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_69_14">Flush
</A></FONT>;
73 <FONT COLOR=green
><EM>--------------------------------------------
</EM></FONT>
74 <FONT COLOR=green
><EM>-- Specification of line and page lengths --
</EM></FONT>
75 <FONT COLOR=green
><EM>--------------------------------------------
</EM></FONT>
77 <FONT COLOR=green
><EM>-- There are no set routines in this package. I assume, that you allocate
</EM></FONT>
78 <FONT COLOR=green
><EM>-- the window with an appropriate size.
</EM></FONT>
79 <FONT COLOR=green
><EM>-- A scroll-window is interpreted as an page with unbounded page length,
</EM></FONT>
80 <FONT COLOR=green
><EM>-- i.e. it returns the conventional
0 as page length.
</EM></FONT>
82 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_77_13" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_84_13">Line_Length
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_77_26" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_84_26">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>)
<b>return
</b> <A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_47_12">Count
</A>;
83 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_78_13" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_96_13">Line_Length
</A></FONT> <b>return
</b> <A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_47_12">Count
</A>;
85 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_80_13" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_102_13">Page_Length
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_80_26" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_102_26">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>)
<b>return
</b> <A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_47_12">Count
</A>;
86 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_81_13" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_118_13">Page_Length
</A></FONT> <b>return
</b> <A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_47_12">Count
</A>;
88 <FONT COLOR=green
><EM>------------------------------------
</EM></FONT>
89 <FONT COLOR=green
><EM>-- Column, Line, and Page Control --
</EM></FONT>
90 <FONT COLOR=green
><EM>------------------------------------
</EM></FONT>
91 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_86_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_127_14">New_Line
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_86_24" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_127_24">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>;
<FONT COLOR=red
><A NAME=
"ref_86_38" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_127_38">Spacing
</A></FONT> :
<A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A> :=
1);
92 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_87_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_144_14">New_Line
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_87_24" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_144_24">Spacing
</A></FONT> :
<A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A> :=
1);
94 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_89_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_150_14">New_Page
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_89_24" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_150_24">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>);
95 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_90_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_156_14">New_Page
</A></FONT>;
97 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_92_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_162_14">Set_Col
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_92_23" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_162_23">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>;
<FONT COLOR=red
><A NAME=
"ref_92_38" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_162_38">To
</A></FONT> :
<A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A>);
98 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_93_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_190_14">Set_Col
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_93_23" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_190_23">To
</A></FONT> :
<A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A>);
100 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_95_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_196_14">Set_Line
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_95_24" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_196_24">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>;
<FONT COLOR=red
><A NAME=
"ref_95_38" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_196_38">To
</A></FONT> :
<A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A>);
101 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_96_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_220_14">Set_Line
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_96_24" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_220_24">To
</A></FONT> :
<A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A>);
103 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_98_13" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_226_13">Col
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_98_18" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_226_18">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>)
<b>return
</b> <A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A>;
104 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_99_13" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_240_13">Col
</A></FONT> <b>return
</b> <A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A>;
106 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_101_13" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_246_13">Line
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_101_19" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_246_19">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>)
<b>return
</b> <A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A>;
107 <b>function
</b> <FONT COLOR=red
><A NAME=
"ref_102_13" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_260_13">Line
</A></FONT> <b>return
</b> <A HREF=
"terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count
</A>;
109 <FONT COLOR=green
><EM>-----------------------
</EM></FONT>
110 <FONT COLOR=green
><EM>-- Characters-Output --
</EM></FONT>
111 <FONT COLOR=green
><EM>-----------------------
</EM></FONT>
113 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_108_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_270_14">Put
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_108_19" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_270_19">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>;
<FONT COLOR=red
><A NAME=
"ref_108_34" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_270_34">Item
</A></FONT> : Character);
114 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_109_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_288_14">Put
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_109_19" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_288_19">Item
</A></FONT> : Character);
116 <FONT COLOR=green
><EM>--------------------
</EM></FONT>
117 <FONT COLOR=green
><EM>-- Strings-Output --
</EM></FONT>
118 <FONT COLOR=green
><EM>--------------------
</EM></FONT>
120 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_115_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_298_14">Put
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_115_19" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_298_19">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>;
<FONT COLOR=red
><A NAME=
"ref_115_34" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_298_34">Item
</A></FONT> : String);
121 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_116_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_316_14">Put
</A></FONT> (
<FONT COLOR=red
><A NAME=
"ref_116_19" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_316_19">Item
</A></FONT> : String);
123 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_118_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_322_14">Put_Line
</A></FONT>
124 (
<FONT COLOR=red
><A NAME=
"ref_119_7" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_323_7">Win
</A></FONT> :
<A HREF=
"terminal_interface-curses__ads.htm#ref_57_9">Window
</A>;
125 <FONT COLOR=red
><A NAME=
"ref_120_7" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_324_7">Item
</A></FONT> : String);
127 <b>procedure
</b> <FONT COLOR=red
><A NAME=
"ref_122_14" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_331_14">Put_Line
</A></FONT>
128 (
<FONT COLOR=red
><A NAME=
"ref_123_7" HREF=
"terminal_interface-curses-text_io__adb.htm#ref_332_7">Item
</A></FONT> : String);
130 <FONT COLOR=green
><EM>-- Exceptions
</EM></FONT>
132 <FONT COLOR=red
><A NAME=
"ref_127_4">Status_Error
</A></FONT> :
<b>exception
</b> <b>renames
</b> Ada.IO_Exceptions.Status_Error;
133 <FONT COLOR=red
><A NAME=
"ref_128_4">Mode_Error
</A></FONT> :
<b>exception
</b> <b>renames
</b> Ada.IO_Exceptions.Mode_Error;
134 <FONT COLOR=red
><A NAME=
"ref_129_4">Name_Error
</A></FONT> :
<b>exception
</b> <b>renames
</b> Ada.IO_Exceptions.Name_Error;
135 <FONT COLOR=red
><A NAME=
"ref_130_4">Use_Error
</A></FONT> :
<b>exception
</b> <b>renames
</b> Ada.IO_Exceptions.Use_Error;
136 <FONT COLOR=red
><A NAME=
"ref_131_4">Device_Error
</A></FONT> :
<b>exception
</b> <b>renames
</b> Ada.IO_Exceptions.Device_Error;
137 <FONT COLOR=red
><A NAME=
"ref_132_4">End_Error
</A></FONT> :
<b>exception
</b> <b>renames
</b> Ada.IO_Exceptions.End_Error;
138 <FONT COLOR=red
><A NAME=
"ref_133_4">Data_Error
</A></FONT> :
<b>exception
</b> <b>renames
</b> Ada.IO_Exceptions.Data_Error;
139 <FONT COLOR=red
><A NAME=
"ref_134_4">Layout_Error
</A></FONT> :
<b>exception
</b> <b>renames
</b> Ada.IO_Exceptions.Layout_Error;
141 <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-text_io__ads.htm#ref_44_35">Text_IO
</A>;