]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - Ada95/samples/sample-my_field_type.ads
ncurses 5.9 - patch 20110807
[ncurses.git] / Ada95 / samples / sample-my_field_type.ads
index cf4d8f9f5ea9f65b6fd3f174cfa6599ec67cacdc..b8f3653c1d0a6f5577a6e9c02e7a695bf45d6e6f 100644 (file)
@@ -6,46 +6,56 @@
 --                                                                          --
 --                                 S P E C                                  --
 --                                                                          --
---  Version 00.92                                                           --
+------------------------------------------------------------------------------
+-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                   --
+--                                                                          --
+-- Permission is hereby granted, free of charge, to any person obtaining a  --
+-- copy of this software and associated documentation files (the            --
+-- "Software"), to deal in the Software without restriction, including      --
+-- without limitation the rights to use, copy, modify, merge, publish,      --
+-- distribute, distribute with modifications, sublicense, and/or sell       --
+-- copies of the Software, and to permit persons to whom the Software is    --
+-- furnished to do so, subject to the following conditions:                 --
 --                                                                          --
---  The ncurses Ada95 binding is copyrighted 1996 by                        --
---  Juergen Pfeifer, Email: Juergen.Pfeifer@T-Online.de                     --
+-- The above copyright notice and this permission notice shall be included  --
+-- in all copies or substantial portions of the Software.                   --
 --                                                                          --
---  Permission is hereby granted to reproduce and distribute this           --
---  binding by any means and for any fee, whether alone or as part          --
---  of a larger distribution, in source or in binary form, PROVIDED         --
---  this notice is included with any such distribution, and is not          --
---  removed from any of its header files. Mention of ncurses and the        --
---  author of this binding in any applications linked with it is            --
---  highly appreciated.                                                     --
+-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
+-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
+-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
+-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
+-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
+-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
+-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
 --                                                                          --
---  This binding comes AS IS with no warranty, implied or expressed.        --
+-- Except as contained in this notice, the name(s) of the above copyright   --
+-- holders shall not be used in advertising or otherwise to promote the     --
+-- sale, use or other dealings in this Software without prior written       --
+-- authorization.                                                           --
 ------------------------------------------------------------------------------
+--  Author:  Juergen Pfeifer, 1996
 --  Version Control
---  $Revision: 1.3 $
+--  $Revision: 1.12 $
+--  Binding Version 01.00
 ------------------------------------------------------------------------------
 with Terminal_Interface.Curses.Forms; use Terminal_Interface.Curses.Forms;
-with Terminal_Interface.Curses.Forms.Field_Types;
+with Terminal_Interface.Curses.Forms.Field_Types.User;
+use Terminal_Interface.Curses.Forms.Field_Types.User;
 
 --  This is a very simple user defined field type. It accepts only a
 --  defined character as input into the field.
 --
 package Sample.My_Field_Type is
 
-   type My_Data is new Ada_Defined_Field_Type with
+   type My_Data is new User_Defined_Field_Type with
       record
         Ch : Character;
       end record;
-   type My_Access is access My_Data;
 
-private
+   function Field_Check (Fld  : Field;
+                         Typ  : My_Data) return Boolean;
 
-   function F_Check (Fld : Field;     Info : My_Access) return Boolean;
-   function C_Check (Ch  : Character; Info : My_Access) return Boolean;
-
-   package One_Character_Only is new
-     Terminal_Interface.Curses.Forms.Field_Types
-     (My_Data, My_Access, F_Check, C_Check);
+   function Character_Check (Ch  : Character;
+                             Typ : My_Data) return Boolean;
 
 end Sample.My_Field_Type;
-