]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - Ada95/html/index.html
ncurses 4.2
[ncurses.git] / Ada95 / html / index.html
index 6900ef374713d70cd456858b83772971270f95c2..50ec3abc5b40151d4698240d6130b64d58aeae3b 100644 (file)
@@ -24,15 +24,15 @@ This binding comes AS IS with no warranty, implied or expressed.
 <HR SIZE=3 NOSHADE>
 <H2>General Remarks</H2>
 <UL>
-<LI>This document describes Version 00.92.00 of the binding.</LI>
+<LI>This document describes Version 00.93 of the binding.</LI>
 <LI>The functionality is modelled to be compatible with the ncurses
 package, a clone of the SVr4 curses model.<BR>
 I did the development on an Intel box running 
 <A HREF="http://www.linux.org">Linux</A> 1.3.x and 2.0,
-ncurses-1.9.9e and the 
+ncurses-4.x and the 
 <A HREF="http://www.gnat.com">GNU Ada Translator</A>
-gnat-3.05. For any older versions of ncurses and gnat
-it will not work.</LI>
+gnat-3.09. For any older versions of ncurses and gnat
+it is not guaranteed to work.</LI>
 <LI>You must have the m4 macroprocessor to build this package.
 If you don't have this program, you can get the FSF version
 <A HREF="ftp://prep.ai.mit.edu/pub/gnu/">here</A>.</LI>
@@ -71,13 +71,10 @@ Same suggestion as above.</LI>
 an OO abstraction of the (n)curses functionality. As mentioned above
 it's a thin binding for the (n)curses functions. But without any
 doubt it would be nice to build on top of this an OO abstraction
-of (n)curses functionality.</LI>
-<LI>If you use the user-pointer mechanism for most of the ncurses
-structures in a mixed language environemt, i.e. Ada95 and C routines
-operate on the same objects, care must be taken because the Ada
-binding itself uses the user pointer mechanism for it's own purposes.
-See the corresponding <A HREF="#userpointer">section</A> in implementention
-details.</LI>
+of (n)curses functionality.<BR>
+The only exception is the method how fieldtypes are represented in
+this Binding. We provide an abstract tagged type Field_Type from
+which the various fieldtypes are derived.</LI>
 <LI>I currently do not support the link_fieldtype functionality of the
 forms subsystem.</LI>
 <LI>The *_IO packages are currently output only.</LI>
@@ -99,9 +96,21 @@ forms subsystem.</LI>
            <LI><A HREF="terminal_interface-curses-forms_s.html">Forms</A>
                <UL><LI><A HREF="terminal_interface-curses-forms-form_user_data_s.html">Form_User_Data</A>
                    <LI><A HREF="terminal_interface-curses-forms-field_user_data_s.html">Field_User_Data</A>
-                   <LI><A HREF="terminal_interface-curses-forms-field_types_s.html">Field_Types</A>
-                   <LI><A HREF="terminal_interface-curses-forms-choice_field_types_s.html">Choice_Field_Types</A>
-               </UL>    
+                   <LI><A HREF="terminal_interface-curses-forms-field_types_s.html">Field_Types</A>                 
+                   <UL><LI><A HREF="terminal_interface-curses-forms-field_types-alpha_s.html">Alpha</A>
+                       <LI><A HREF="terminal_interface-curses-forms-field_types-alphanumeric_s.html">AlphaNumeric</A>
+                       <LI><A HREF="terminal_interface-curses-forms-field_types-intfield_s.html">IntField</A>
+                       <LI><A HREF="terminal_interface-curses-forms-field_types-numeric_s.html">Numeric</A>
+                       <LI><A HREF="terminal_interface-curses-forms-field_types-regexp_s.html">RegExp</A>
+                       <LI><A HREF="terminal_interface-curses-forms-field_types-ipv4_address_s.html">IPV4_Address</A>
+                       <LI><A HREF="terminal_interface-curses-forms-field_types-enumeration_s.html">Enumeration</A>
+                       <UL><LI><A HREF="terminal_interface-curses-forms-field_types-enumeration-ada_s.html">Ada</A>
+                       </UL>
+                       <LI><A HREF="terminal_interface-curses-forms-field_types-user_s.html">User</A>
+                       <UL><LI><A HREF="terminal_interface-curses-forms-field_types-user-choice_s.html">Choice</A>
+                        </UL>
+                     </UL>   
+               </UL>   
            <LI><A HREF="terminal_interface-curses-text_io_s.html">Text_IO</A>
                <UL><LI><A HREF="terminal_interface-curses-text_io-integer_io_s.html">Integer_IO</A>
                    <LI><A HREF="terminal_interface-curses-text_io-float_io_s.html">Float_IO</A>
@@ -124,12 +133,6 @@ low level (n)curses structures like
 <STRONG>MENU *</STRONG> or <STRONG>FORM *</STRONG>.
 So you can safely pass them to C routines that expect a pointer
 to one of those structures.
-<H4>Item and Field Arrays</H4>
-In C you have to pass the item and field arrays to define menus or forms
-terminated by a null item or null field. This is not necessary in this
-binding. The binding routines will construct from an Ada95 style array
-of Item or Field objects internally the properly terminated array of
-C structure pointers. See the examples for more details. 
 <H4>Extended ripoffline() usage</H4>
 The official documentation of (n)curses says, that the line parameter
 determines only whether or not exactly <STRONG>one</STRONG> line is
@@ -139,8 +142,6 @@ it in a way, that uses the line parameter also to control the amount of
 lines to steal. This mechanism is used in the <STRONG>Rip_Off_Lines</STRONG>
 routine of the binding.
 <A NAME="userpointer">
-<H4>User Pointer mechanism</H4>
-TBD
 <H4>How user defined field types work</H4>
 TBD
 <H4>Enumeration fields handling</H4>
@@ -150,12 +151,7 @@ in this binding, because it is internally arranged to safely copy these
 values.
 <A NAME="compiler">
 <H4>Using other Ada compilers</H4>
-This should basically not be a problem, but you have to replace a code
-sequence in package
-<A HREF="terminal_interface-curses-forms_s.html">Terminal_Interface.Curses.Forms</A>
-that uses a hashing package supplied with the GNAT runtime, which is not part
-of the Standard Ada runtimes. This should not be too hard. I intend to remove
-this dependency in the future.
+This should basically not be a problem.
 <H4>Port to other curses implementations</H4>
 Basically it should not be too hard to make all this run on a regular SVr4
 implementation of curses. The problems are probably these:<BR>
@@ -168,11 +164,6 @@ have two choices to deal with this:
 </UL>
 Most likely you will follow a mixed approach. Some features are easy to simulate,
 others will be hard if not impossible.</LI>
-<LI>For menu items, the name and descriptions are internally copied by ncurses.
-So the binding doesn't care for the lifetime of the strings passed to the
-construction routine for items. This assumption is not true in most other implementations
-of the menu library. In this case you have to modify the binding routine
-<STRONG>New_Item</STRONG> to safestore the strings.</LI>
 </UL>
 I'm quite sure I forgot something.<P>
 </BODY>