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=470231ee9dc491bc97a870dc7c64cac0a66c0f29;hp=c4b4525ffb30acbd60d9723a0a7b02347b585c2a;hb=a90dd7b66fa711acd24d8181ea20e4f57d4b36cd;hpb=cb4427a16794d98049b4d790b810d62217501f9f 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 c4b4525f..470231ee 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 @@ -24,7 +24,8 @@ -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. -- +-- Copyright 2018,2020 Thomas E. Dickey -- +-- Copyright 1998-2011,2014 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 -- @@ -52,21 +53,21 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- @Revision: 1.20 @ +-- @Revision: 1.21 @ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Interfaces.C; -with Terminal_Interface.Curses.Aux; +with Terminal_Interface.Curses.Aux; -package Terminal_Interface.Curses.Forms.Field_Types is - pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types); - subtype C_Int is Interfaces.C.int; +package Terminal_Interface.Curses.Forms.Field_Types is + pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types); + 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. @@ -77,11 +78,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; -- | - procedure Set_Field_Type (Fld : Field; - Fld_Type : 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. @@ -93,7 +94,7 @@ -- |===================================================================== -- | - function Get_Type (Fld : 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 @@ -106,68 +107,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 Curses_Bool; - pragma Convention (C, Field_Check_Function); + type Field_Check_Function is access + function (Fld : Field; Usr : System.Address) return Curses_Bool; + pragma Convention (C, Field_Check_Function); - type Char_Check_Function is access - function (Ch : C_Int; Usr : System.Address) return Curses_Bool; - pragma Convention (C, Char_Check_Function); + type Char_Check_Function is access + function (Ch : C_Int; Usr : System.Address) return Curses_Bool; + pragma Convention (C, Char_Check_Function); - type Choice_Function is access - function (Fld : Field; Usr : System.Address) return Curses_Bool; - pragma Convention (C, Choice_Function); + type Choice_Function is access + function (Fld : Field; Usr : System.Address) return Curses_Bool; + 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.unsigned_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.unsigned_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. @@ -176,48 +177,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; + function Make_Arg (Args : System.Address) return System.Address; pragma Import (C, Make_Arg, "void_star_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 Curses_Bool; - pragma Convention (C, Field_Check_Router); + function Field_Check_Router (Fld : Field; + Usr : System.Address) return Curses_Bool; + 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 Curses_Bool; - pragma Convention (C, Char_Check_Router); + function Char_Check_Router (Ch : C_Int; + Usr : System.Address) return Curses_Bool; + 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 Curses_Bool; - pragma Convention (C, Next_Router); + function Next_Router (Fld : Field; + Usr : System.Address) return Curses_Bool; + 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 Curses_Bool; - pragma Convention (C, Prev_Router); + function Prev_Router (Fld : Field; + Usr : System.Address) return Curses_Bool; + 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 @@ -225,33 +226,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 Aux.Eti_Error; + 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 Aux.Eti_Error; pragma Import (C, Set_Fieldtype_Arg, "set_fieldtype_arg"); - function Set_Fieldtype_Choice (Cft : C_Field_Type; - Next, Prev : Choice_Function) - return Aux.Eti_Error; + function Set_Fieldtype_Choice (Cft : C_Field_Type; + Next, Prev : Choice_Function) + return Aux.Eti_Error; pragma Import (C, Set_Fieldtype_Choice, "set_fieldtype_choice"); -end Terminal_Interface.Curses.Forms.Field_Types; +end Terminal_Interface.Curses.Forms.Field_Types;