⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 terminal_interface-curses-forms.ads.m4

📁 ncurses 库 可能有用酒用 没用就算了 我觉得还可以用
💻 M4
📖 第 1 页 / 共 2 页
字号:
--  -*- ada -*-define(`HTMLNAME',`terminal_interface-curses-forms__ads.htm')dnlinclude(M4MACRO)dnl--------------------------------------------------------------------------------                                                                          ----                           GNAT ncurses Binding                           ----                                                                          ----                      Terminal_Interface.Curses.Form                      ----                                                                          ----                                 S P E C                                  ----                                                                          ---------------------------------------------------------------------------------- Copyright (c) 1998 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 above copyright notice and this permission notice shall be included  ---- in all copies or substantial portions of the Software.                   ----                                                                          ---- 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.                               ----                                                                          ---- 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.27 $--  Binding Version 01.00------------------------------------------------------------------------------include(`Form_Base_Defs')with System;with Ada.Characters.Latin_1;package Terminal_Interface.Curses.Forms is   pragma Preelaborate (Terminal_Interface.Curses.Forms);include(`Form_Linker_Options')dnlinclude(`Linker_Options')   Space : Character renames Ada.Characters.Latin_1.Space;   type Field        is private;   type Form         is private;   Null_Field        : constant Field;   Null_Form         : constant Form;   type Field_Justification is (None,                                Left,                                Center,                                Right);   pragma Warnings (Off);include(`Field_Rep')Dnl   pragma Warnings (On);   function Default_Field_Options return Field_Option_Set;   --  The initial defaults for the field options.   pragma Inline (Default_Field_Options);   pragma Warnings (Off);include(`Form_Opt_Rep')Dnl   pragma Warnings (On);   function Default_Form_Options return Form_Option_Set;   --  The initial defaults for the form options.   pragma Inline (Default_Form_Options);   type Buffer_Number is new Natural;   type Field_Array is array (Positive range <>) of aliased Field;   pragma Convention (C, Field_Array);   type Field_Array_Access is access Field_Array;   procedure Free (FA          : in out Field_Array_Access;                   Free_Fields : in Boolean := False);   --  Release the memory for an allocated field array   --  If Free_Fields is True, call Delete() for all the fields in   --  the array.   subtype Form_Request_Code is Key_Code range (Key_Max + 1) .. (Key_Max + 57);   --  The prefix F_ stands for "Form Request"   F_Next_Page                : constant Form_Request_Code := Key_Max + 1;   F_Previous_Page            : constant Form_Request_Code := Key_Max + 2;   F_First_Page               : constant Form_Request_Code := Key_Max + 3;   F_Last_Page                : constant Form_Request_Code := Key_Max + 4;   F_Next_Field               : constant Form_Request_Code := Key_Max + 5;   F_Previous_Field           : constant Form_Request_Code := Key_Max + 6;   F_First_Field              : constant Form_Request_Code := Key_Max + 7;   F_Last_Field               : constant Form_Request_Code := Key_Max + 8;   F_Sorted_Next_Field        : constant Form_Request_Code := Key_Max + 9;   F_Sorted_Previous_Field    : constant Form_Request_Code := Key_Max + 10;   F_Sorted_First_Field       : constant Form_Request_Code := Key_Max + 11;   F_Sorted_Last_Field        : constant Form_Request_Code := Key_Max + 12;   F_Left_Field               : constant Form_Request_Code := Key_Max + 13;   F_Right_Field              : constant Form_Request_Code := Key_Max + 14;   F_Up_Field                 : constant Form_Request_Code := Key_Max + 15;   F_Down_Field               : constant Form_Request_Code := Key_Max + 16;   F_Next_Char                : constant Form_Request_Code := Key_Max + 17;   F_Previous_Char            : constant Form_Request_Code := Key_Max + 18;   F_Next_Line                : constant Form_Request_Code := Key_Max + 19;   F_Previous_Line            : constant Form_Request_Code := Key_Max + 20;   F_Next_Word                : constant Form_Request_Code := Key_Max + 21;   F_Previous_Word            : constant Form_Request_Code := Key_Max + 22;   F_Begin_Field              : constant Form_Request_Code := Key_Max + 23;   F_End_Field                : constant Form_Request_Code := Key_Max + 24;   F_Begin_Line               : constant Form_Request_Code := Key_Max + 25;   F_End_Line                 : constant Form_Request_Code := Key_Max + 26;   F_Left_Char                : constant Form_Request_Code := Key_Max + 27;   F_Right_Char               : constant Form_Request_Code := Key_Max + 28;   F_Up_Char                  : constant Form_Request_Code := Key_Max + 29;   F_Down_Char                : constant Form_Request_Code := Key_Max + 30;   F_New_Line                 : constant Form_Request_Code := Key_Max + 31;   F_Insert_Char              : constant Form_Request_Code := Key_Max + 32;   F_Insert_Line              : constant Form_Request_Code := Key_Max + 33;   F_Delete_Char              : constant Form_Request_Code := Key_Max + 34;   F_Delete_Previous          : constant Form_Request_Code := Key_Max + 35;   F_Delete_Line              : constant Form_Request_Code := Key_Max + 36;   F_Delete_Word              : constant Form_Request_Code := Key_Max + 37;   F_Clear_EOL                : constant Form_Request_Code := Key_Max + 38;   F_Clear_EOF                : constant Form_Request_Code := Key_Max + 39;   F_Clear_Field              : constant Form_Request_Code := Key_Max + 40;   F_Overlay_Mode             : constant Form_Request_Code := Key_Max + 41;   F_Insert_Mode              : constant Form_Request_Code := Key_Max + 42;   --  Vertical Scrolling   F_ScrollForward_Line       : constant Form_Request_Code := Key_Max + 43;   F_ScrollBackward_Line      : constant Form_Request_Code := Key_Max + 44;   F_ScrollForward_Page       : constant Form_Request_Code := Key_Max + 45;   F_ScrollBackward_Page      : constant Form_Request_Code := Key_Max + 46;   F_ScrollForward_HalfPage   : constant Form_Request_Code := Key_Max + 47;   F_ScrollBackward_HalfPage  : constant Form_Request_Code := Key_Max + 48;   --  Horizontal Scrolling   F_HScrollForward_Char      : constant Form_Request_Code := Key_Max + 49;   F_HScrollBackward_Char     : constant Form_Request_Code := Key_Max + 50;   F_HScrollForward_Line      : constant Form_Request_Code := Key_Max + 51;   F_HScrollBackward_Line     : constant Form_Request_Code := Key_Max + 52;   F_HScrollForward_HalfLine  : constant Form_Request_Code := Key_Max + 53;   F_HScrollBackward_HalfLine : constant Form_Request_Code := Key_Max + 54;   F_Validate_Field           : constant Form_Request_Code := Key_Max + 55;   F_Next_Choice              : constant Form_Request_Code := Key_Max + 56;   F_Previous_Choice          : constant Form_Request_Code := Key_Max + 57;   --  For those who like the old 'C' style request names   REQ_NEXT_PAGE    : Form_Request_Code renames F_Next_Page;   REQ_PREV_PAGE    : Form_Request_Code renames F_Previous_Page;   REQ_FIRST_PAGE   : Form_Request_Code renames F_First_Page;   REQ_LAST_PAGE    : Form_Request_Code renames F_Last_Page;   REQ_NEXT_FIELD   : Form_Request_Code renames F_Next_Field;   REQ_PREV_FIELD   : Form_Request_Code renames F_Previous_Field;   REQ_FIRST_FIELD  : Form_Request_Code renames F_First_Field;   REQ_LAST_FIELD   : Form_Request_Code renames F_Last_Field;   REQ_SNEXT_FIELD  : Form_Request_Code renames F_Sorted_Next_Field;   REQ_SPREV_FIELD  : Form_Request_Code renames F_Sorted_Previous_Field;   REQ_SFIRST_FIELD : Form_Request_Code renames F_Sorted_First_Field;   REQ_SLAST_FIELD  : Form_Request_Code renames F_Sorted_Last_Field;   REQ_LEFT_FIELD   : Form_Request_Code renames F_Left_Field;   REQ_RIGHT_FIELD  : Form_Request_Code renames F_Right_Field;   REQ_UP_FIELD     : Form_Request_Code renames F_Up_Field;   REQ_DOWN_FIELD   : Form_Request_Code renames F_Down_Field;   REQ_NEXT_CHAR    : Form_Request_Code renames F_Next_Char;   REQ_PREV_CHAR    : Form_Request_Code renames F_Previous_Char;   REQ_NEXT_LINE    : Form_Request_Code renames F_Next_Line;   REQ_PREV_LINE    : Form_Request_Code renames F_Previous_Line;   REQ_NEXT_WORD    : Form_Request_Code renames F_Next_Word;   REQ_PREV_WORD    : Form_Request_Code renames F_Previous_Word;   REQ_BEG_FIELD    : Form_Request_Code renames F_Begin_Field;   REQ_END_FIELD    : Form_Request_Code renames F_End_Field;   REQ_BEG_LINE     : Form_Request_Code renames F_Begin_Line;   REQ_END_LINE     : Form_Request_Code renames F_End_Line;   REQ_LEFT_CHAR    : Form_Request_Code renames F_Left_Char;   REQ_RIGHT_CHAR   : Form_Request_Code renames F_Right_Char;   REQ_UP_CHAR      : Form_Request_Code renames F_Up_Char;   REQ_DOWN_CHAR    : Form_Request_Code renames F_Down_Char;   REQ_NEW_LINE     : Form_Request_Code renames F_New_Line;   REQ_INS_CHAR     : Form_Request_Code renames F_Insert_Char;   REQ_INS_LINE     : Form_Request_Code renames F_Insert_Line;   REQ_DEL_CHAR     : Form_Request_Code renames F_Delete_Char;   REQ_DEL_PREV     : Form_Request_Code renames F_Delete_Previous;   REQ_DEL_LINE     : Form_Request_Code renames F_Delete_Line;   REQ_DEL_WORD     : Form_Request_Code renames F_Delete_Word;   REQ_CLR_EOL      : Form_Request_Code renames F_Clear_EOL;   REQ_CLR_EOF      : Form_Request_Code renames F_Clear_EOF;   REQ_CLR_FIELD    : Form_Request_Code renames F_Clear_Field;   REQ_OVL_MODE     : Form_Request_Code renames F_Overlay_Mode;   REQ_INS_MODE     : Form_Request_Code renames F_Insert_Mode;   REQ_SCR_FLINE    : Form_Request_Code renames F_ScrollForward_Line;   REQ_SCR_BLINE    : Form_Request_Code renames F_ScrollBackward_Line;   REQ_SCR_FPAGE    : Form_Request_Code renames F_ScrollForward_Page;   REQ_SCR_BPAGE    : Form_Request_Code renames F_ScrollBackward_Page;   REQ_SCR_FHPAGE   : Form_Request_Code renames F_ScrollForward_HalfPage;   REQ_SCR_BHPAGE   : Form_Request_Code renames F_ScrollBackward_HalfPage;   REQ_SCR_FCHAR    : Form_Request_Code renames F_HScrollForward_Char;   REQ_SCR_BCHAR    : Form_Request_Code renames F_HScrollBackward_Char;   REQ_SCR_HFLINE   : Form_Request_Code renames F_HScrollForward_Line;   REQ_SCR_HBLINE   : Form_Request_Code renames F_HScrollBackward_Line;   REQ_SCR_HFHALF   : Form_Request_Code renames F_HScrollForward_HalfLine;   REQ_SCR_HBHALF   : Form_Request_Code renames F_HScrollBackward_HalfLine;   REQ_VALIDATION   : Form_Request_Code renames F_Validate_Field;   REQ_NEXT_CHOICE  : Form_Request_Code renames F_Next_Choice;   REQ_PREV_CHOICE  : Form_Request_Code renames F_Previous_Choice;   procedure Request_Name (Key  : in Form_Request_Code;                           Name : out String);   function  Request_Name (Key : Form_Request_Code) return String;   --  Same as function   pragma Inline (Request_Name);   ------------------   --  Exceptions  --   ------------------   Form_Exception : exception;   --  MANPAGE(`form_field_new.3x')   --  ANCHOR(`new_field()',`Create')   function Create (Height       : Line_Count;                    Width        : Column_Count;                    Top          : Line_Position;                    Left         : Column_Position;                    Off_Screen   : Natural := 0;                    More_Buffers : Buffer_Number := Buffer_Number'First)                    return Field;   --  AKA   --  An overloaded Create is defined later. Pragma Inline appears there.   --  ANCHOR(`new_field()',`New_Field')   function New_Field (Height       : Line_Count;                       Width        : Column_Count;                       Top          : Line_Position;                       Left         : Column_Position;                       Off_Screen   : Natural := 0;                       More_Buffers : Buffer_Number := Buffer_Number'First)                       return Field renames Create;   --  AKA   pragma Inline (New_Field);   --  ANCHOR(`free_field()',`Delete')   procedure Delete (Fld : in out Field);   --  AKA   --  Reset Fld to Null_Field   --  An overloaded Delete is defined later. Pragma Inline appears there.   --  ANCHOR(`dup_field()',`Duplicate')   function Duplicate (Fld  : Field;                       Top  : Line_Position;                       Left : Column_Position) return Field;   --  AKA   pragma Inline (Duplicate);   --  ANCHOR(`link_field()',`Link')   function Link (Fld  : Field;                  Top  : Line_Position;                  Left : Column_Position) return Field;   --  AKA   pragma Inline (Link);   --  MANPAGE(`form_field_just.3x')   --  ANCHOR(`set_field_just()',`Set_Justification')   procedure Set_Justification (Fld  : in Field;                                Just : in Field_Justification := None);   --  AKA   pragma Inline (Set_Justification);   --  ANCHOR(`field_just()',`Get_Justification')   function Get_Justification (Fld : Field) return Field_Justification;   --  AKA   pragma Inline (Get_Justification);   --  MANPAGE(`form_field_buffer.3x')   --  ANCHOR(`set_field_buffer()',`Set_Buffer')   procedure Set_Buffer     (Fld    : in Field;      Buffer : in Buffer_Number := Buffer_Number'First;      Str    : in String);   --  AKA   --  Not inlined   --  ANCHOR(`field_buffer()',`Get_Buffer')   procedure Get_Buffer     (Fld    : in Field;      Buffer : in Buffer_Number := Buffer_Number'First;      Str    : out String);   --  AKA   function Get_Buffer     (Fld    : in Field;      Buffer : in Buffer_Number := Buffer_Number'First) return String;   --  AKA   --  Same but as function   pragma Inline (Get_Buffer);   --  ANCHOR(`set_field_status()',`Set_Status')   procedure Set_Status (Fld    : in Field;                         Status : in Boolean := True);   --  AKA   pragma Inline (Set_Status);   --  ANCHOR(`field_status()',`Changed')   function Changed (Fld : Field) return Boolean;   --  AKA   pragma Inline (Changed);   --  ANCHOR(`set_field_max()',`Set_Maximum_Size')   procedure Set_Maximum_Size (Fld : in Field;                               Max : in Natural := 0);   --  AKA   pragma Inline (Set_Maximum_Size);   --  MANPAGE(`form_field_opts.3x')   --  ANCHOR(`set_field_opts()',`Set_Options')   procedure Set_Options (Fld     : in Field;                          Options : in Field_Option_Set);   --  AKA   --  An overloaded version is defined later. Pragma Inline appears there   --  ANCHOR(`field_opts_on()',`Switch_Options')   procedure Switch_Options (Fld     : in Field;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -