X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fada%2Fterminal_interface-curses-forms-field_types__ads.htm;h=02d74513a9703def560d099b9117b027b68c4e3d;hp=a835f274b631ea0b618226d21eecf49819502600;hb=77afe78361875f531dc2bf8d73f2e781c8e76176;hpb=46722468f47c2b77b3987729b4bcf2321cccfd01;ds=sidebyside diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm index a835f274..02d74513 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm @@ -1,8 +1,8 @@ + terminal_interface-curses-forms-field_types.ads

File : terminal_interface-curses-forms-field_types.ads


-
 ------------------------------------------------------------------------------
 --                                                                          --
 --                           GNAT ncurses Binding                           --
@@ -12,7 +12,7 @@
 --                                 S P E C                                  --
 --                                                                          --
 ------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
+-- Copyright (c) 1998-2003,2009 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            --
@@ -38,24 +38,23 @@
 -- sale, use or other dealings in this Software without prior written       --
 -- authorization.                                                           --
 ------------------------------------------------------------------------------
---  Author:  Jürgen Pfeifer, 1996
---  Contact: www.familiepfeifer.de/Contact.aspx?Lang=en
+--  Author:  Juergen Pfeifer, 1996
 --  Version Control:
---  @Revision: 1.13 @
+--  @Revision: 1.15 @
 --  Binding Version 01.00
 ------------------------------------------------------------------------------
-with Interfaces.C;
+with Interfaces.C;
 
-package Terminal_Interface.Curses.Forms.Field_Types is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types);
-   use type Interfaces.C.int;
-   subtype C_Int is Interfaces.C.int;
+package Terminal_Interface.Curses.Forms.Field_Types is
+   pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types);
+   use type Interfaces.C.int;
+   subtype C_Int is Interfaces.C.int;
 
    --  |=====================================================================
    --  | Man page form_fieldtype.3x
    --  |=====================================================================
 
-   type Field_Type is abstract tagged null record;
+   type Field_Type is abstract tagged null record;
    --  Abstract base type for all field types. A concrete field type
    --  is an extension that adds some data elements describing formats or
    --  boundary values for the type and validation routines.
@@ -66,11 +65,11 @@
    --  how to create you own child packages for low-level field types that
    --  you may have already written in C.
 
-   type Field_Type_Access is access all Field_Type'Class;
+   type Field_Type_Access is access all Field_Type'Class;
 
    --  #1A NAME="AFU_1"#2|
-   procedure Set_Field_Type (Fld      : in Field;
-                             Fld_Type : in Field_Type) is abstract;
+   procedure Set_Field_Type (Fld      : Field;
+                             Fld_Type : Field_Type) is abstract;
    --  AKA: set_field_type()
    --  But: we hide the vararg mechanism of the C interface. You always
    --       have to pass a single Field_Type parameter.
@@ -82,7 +81,7 @@
    --  |=====================================================================
 
    --  #1A NAME="AFU_2"#2|
-   function Get_Type (Fld : in Field) return Field_Type_Access;
+   function Get_Type (Fld : Field) return Field_Type_Access;
    --  AKA: field_type()
    --  AKA: field_arg()
    --  In Ada95 we can combine these. If you try to retrieve the field type
@@ -95,68 +94,68 @@
    --  | Most of this is used by the implementations of the child packages.
    --  |
 private
-   type Makearg_Function is access
-     function (Args : System.Address) return System.Address;
-   pragma Convention (C, Makearg_Function);
+   type Makearg_Function is access
+     function (Args : System.Address) return System.Address;
+   pragma Convention (C, Makearg_Function);
 
-   type Copyarg_Function is access
-     function (Usr : System.Address) return System.Address;
-   pragma Convention (C, Copyarg_Function);
+   type Copyarg_Function is access
+     function (Usr : System.Address) return System.Address;
+   pragma Convention (C, Copyarg_Function);
 
-   type Freearg_Function is access
-     procedure (Usr : System.Address);
-   pragma Convention (C, Freearg_Function);
+   type Freearg_Function is access
+     procedure (Usr : System.Address);
+   pragma Convention (C, Freearg_Function);
 
-   type Field_Check_Function is access
-     function (Fld : Field; Usr : System.Address) return C_Int;
-   pragma Convention (C, Field_Check_Function);
+   type Field_Check_Function is access
+     function (Fld : Field; Usr : System.Address) return C_Int;
+   pragma Convention (C, Field_Check_Function);
 
-   type Char_Check_Function is access
-     function (Ch : C_Int; Usr : System.Address) return C_Int;
-   pragma Convention (C, Char_Check_Function);
+   type Char_Check_Function is access
+     function (Ch : C_Int; Usr : System.Address) return C_Int;
+   pragma Convention (C, Char_Check_Function);
 
-   type Choice_Function is access
-     function (Fld : Field; Usr : System.Address) return C_Int;
-   pragma Convention (C, Choice_Function);
+   type Choice_Function is access
+     function (Fld : Field; Usr : System.Address) return C_Int;
+   pragma Convention (C, Choice_Function);
 
    --  +----------------------------------------------------------------------
    --  | This must be in sync with the FIELDTYPE structure in form.h
    --  |
-   type Low_Level_Field_Type is
+   type Low_Level_Field_Type is
       record
-         Status :              Interfaces.C.short;
-         Ref_Count :           Interfaces.C.long;
-         Left, Right :         System.Address;
-         Makearg :             Makearg_Function;
-         Copyarg :             Copyarg_Function;
-         Freearg :             Freearg_Function;
-         Fcheck :              Field_Check_Function;
-         Ccheck :              Char_Check_Function;
-         Next, Prev :          Choice_Function;
+         Status :              Interfaces.C.short;
+         Ref_Count :           Interfaces.C.long;
+         Left, Right :         System.Address;
+         Makearg :             Makearg_Function;
+         Copyarg :             Copyarg_Function;
+         Freearg :             Freearg_Function;
+         Fcheck :              Field_Check_Function;
+         Ccheck :              Char_Check_Function;
+         Next, Prev :          Choice_Function;
       end record;
-   pragma Convention (C, Low_Level_Field_Type);
-   type C_Field_Type is access all Low_Level_Field_Type;
+   pragma Convention (C, Low_Level_Field_Type);
+   type C_Field_Type is access all Low_Level_Field_Type;
 
-   Null_Field_Type   : constant C_Field_Type := null;
+   Null_Field_Type   : constant C_Field_Type := null;
 
    --  +----------------------------------------------------------------------
    --  | This four low-level fieldtypes are the ones associated with
    --  | fieldtypes handled by this binding. Any other low-level fieldtype
    --  | will result in a Form_Exception is function Get_Type.
    --  |
-   M_Generic_Type   : C_Field_Type := null;
-   M_Generic_Choice : C_Field_Type := null;
-   M_Builtin_Router : C_Field_Type := null;
-   M_Choice_Router  : C_Field_Type := null;
+   M_Generic_Type   : C_Field_Type := null;
+   M_Generic_Choice : C_Field_Type := null;
+   M_Builtin_Router : C_Field_Type := null;
+   M_Choice_Router  : C_Field_Type := null;
 
    --  Two wrapper functions to access those low-level fieldtypes defined
    --  in this package.
-   function C_Builtin_Router return C_Field_Type;
-   function C_Choice_Router  return C_Field_Type;
+   function C_Builtin_Router return C_Field_Type;
+   function C_Choice_Router  return C_Field_Type;
 
-   procedure Wrap_Builtin (Fld : Field;
-                           Typ : Field_Type'Class;
-                           Cft : C_Field_Type := C_Builtin_Router);
+   procedure Wrap_Builtin (Fld : Field;
+                           Typ : Field_Type'Class;
+                           Cft : C_Field_Type := C_Builtin_Router);
    --  This procedure has to be called by the Set_Field_Type implementation
    --  for builtin low-level fieldtypes to replace it by an Ada95
    --  conformant Field_Type object.
@@ -165,48 +164,48 @@
    --  low-level fieldtypes witch choice functions (like TYP_ENUM).
    --  Any other value will raise a Form_Exception.
 
-   function Make_Arg (Args : System.Address) return System.Address;
-   pragma Convention (C, Make_Arg);
+   function Make_Arg (Args : System.Address) return System.Address;
+   pragma Convention (C, Make_Arg);
    --  This is the Makearg_Function for the internal low-level types
    --  introduced by this binding.
 
-   function Copy_Arg (Usr : System.Address) return System.Address;
-   pragma Convention (C, Copy_Arg);
+   function Copy_Arg (Usr : System.Address) return System.Address;
+   pragma Convention (C, Copy_Arg);
    --  This is the Copyarg_Function for the internal low-level types
    --  introduced by this binding.
 
-   procedure Free_Arg (Usr : System.Address);
-   pragma Convention (C, Free_Arg);
+   procedure Free_Arg (Usr : System.Address);
+   pragma Convention (C, Free_Arg);
    --  This is the Freearg_Function for the internal low-level types
    --  introduced by this binding.
 
-   function Field_Check_Router (Fld : Field;
-                                Usr : System.Address) return C_Int;
-   pragma Convention (C, Field_Check_Router);
+   function Field_Check_Router (Fld : Field;
+                                Usr : System.Address) return C_Int;
+   pragma Convention (C, Field_Check_Router);
    --  This is the Field_Check_Function for the internal low-level types
    --  introduced to wrap the low-level types by a Field_Type derived
    --  type. It routes the call to the corresponding low-level validation
    --  function.
 
-   function Char_Check_Router (Ch : C_Int;
-                               Usr : System.Address) return C_Int;
-   pragma Convention (C, Char_Check_Router);
+   function Char_Check_Router (Ch : C_Int;
+                               Usr : System.Address) return C_Int;
+   pragma Convention (C, Char_Check_Router);
    --  This is the Char_Check_Function for the internal low-level types
    --  introduced to wrap the low-level types by a Field_Type derived
    --  type. It routes the call to the corresponding low-level validation
    --  function.
 
-   function Next_Router (Fld : Field;
-                         Usr : System.Address) return C_Int;
-   pragma Convention (C, Next_Router);
+   function Next_Router (Fld : Field;
+                         Usr : System.Address) return C_Int;
+   pragma Convention (C, Next_Router);
    --  This is the Choice_Function for the internal low-level types
    --  introduced to wrap the low-level types by a Field_Type derived
    --  type. It routes the call to the corresponding low-level next_choice
    --  function.
 
-   function Prev_Router (Fld : Field;
-                         Usr : System.Address) return C_Int;
-   pragma Convention (C, Prev_Router);
+   function Prev_Router (Fld : Field;
+                         Usr : System.Address) return C_Int;
+   pragma Convention (C, Prev_Router);
    --  This is the Choice_Function for the internal low-level types
    --  introduced to wrap the low-level types by a Field_Type derived
    --  type. It routes the call to the corresponding low-level prev_choice
@@ -214,33 +213,33 @@
 
    --  This is the Argument structure maintained by all low-level field types
    --  introduced by this binding.
-   type Argument is record
-      Typ : Field_Type_Access;   --  the Field_Type creating this record
-      Usr : System.Address;      --  original arg for builtin low-level types
-      Cft : C_Field_Type;        --  the original low-level type
+   type Argument is record
+      Typ : Field_Type_Access;   --  the Field_Type creating this record
+      Usr : System.Address;      --  original arg for builtin low-level types
+      Cft : C_Field_Type;        --  the original low-level type
    end record;
-   type Argument_Access is access all Argument;
+   type Argument_Access is access all Argument;
 
    --  +----------------------------------------------------------------------
    --  |
    --  | Some Imports of libform routines to deal with low-level fieldtypes.
    --  |
-   function New_Fieldtype (Fcheck : Field_Check_Function;
-                           Ccheck : Char_Check_Function)
-     return C_Field_Type;
+   function New_Fieldtype (Fcheck : Field_Check_Function;
+                           Ccheck : Char_Check_Function)
+     return C_Field_Type;
    pragma Import (C, New_Fieldtype, "new_fieldtype");
 
-   function Set_Fieldtype_Arg (Cft : C_Field_Type;
-                               Mak : Makearg_Function := Make_Arg'Access;
-                               Cop : Copyarg_Function := Copy_Arg'Access;
-                               Fre : Freearg_Function := Free_Arg'Access)
-     return C_Int;
+   function Set_Fieldtype_Arg (Cft : C_Field_Type;
+                               Mak : Makearg_Function := Make_Arg'Access;
+                               Cop : Copyarg_Function := Copy_Arg'Access;
+                               Fre : Freearg_Function := Free_Arg'Access)
+     return C_Int;
    pragma Import (C, Set_Fieldtype_Arg, "set_fieldtype_arg");
 
-   function Set_Fieldtype_Choice (Cft : C_Field_Type;
-                                  Next, Prev : Choice_Function)
-     return C_Int;
+   function Set_Fieldtype_Choice (Cft : C_Field_Type;
+                                  Next, Prev : Choice_Function)
+     return C_Int;
    pragma Import (C, Set_Fieldtype_Choice, "set_fieldtype_choice");
 
-end Terminal_Interface.Curses.Forms.Field_Types;
-
\ No newline at end of file +end Terminal_Interface.Curses.Forms.Field_Types; +