terminal_interface-curses-panels.ads.m4 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. -- -*- ada -*-
  2. define(`HTMLNAME',`terminal_interface-curses-panels__ads.htm')dnl
  3. include(M4MACRO)dnl
  4. ------------------------------------------------------------------------------
  5. -- --
  6. -- GNAT ncurses Binding --
  7. -- --
  8. -- Terminal_Interface.Curses.Panels --
  9. -- --
  10. -- S P E C --
  11. -- --
  12. ------------------------------------------------------------------------------
  13. -- Copyright (c) 1998,2006 Free Software Foundation, Inc. --
  14. -- --
  15. -- Permission is hereby granted, free of charge, to any person obtaining a --
  16. -- copy of this software and associated documentation files (the --
  17. -- "Software"), to deal in the Software without restriction, including --
  18. -- without limitation the rights to use, copy, modify, merge, publish, --
  19. -- distribute, distribute with modifications, sublicense, and/or sell --
  20. -- copies of the Software, and to permit persons to whom the Software is --
  21. -- furnished to do so, subject to the following conditions: --
  22. -- --
  23. -- The above copyright notice and this permission notice shall be included --
  24. -- in all copies or substantial portions of the Software. --
  25. -- --
  26. -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --
  27. -- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --
  28. -- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --
  29. -- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --
  30. -- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --
  31. -- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --
  32. -- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --
  33. -- --
  34. -- Except as contained in this notice, the name(s) of the above copyright --
  35. -- holders shall not be used in advertising or otherwise to promote the --
  36. -- sale, use or other dealings in this Software without prior written --
  37. -- authorization. --
  38. ------------------------------------------------------------------------------
  39. -- Author: Juergen Pfeifer, 1996
  40. -- Version Control:
  41. -- $Revision: 1.19 $
  42. -- $Date: 2006/06/25 14:30:22 $
  43. -- Binding Version 01.00
  44. ------------------------------------------------------------------------------
  45. with System;
  46. package Terminal_Interface.Curses.Panels is
  47. pragma Preelaborate (Terminal_Interface.Curses.Panels);
  48. include(`Panel_Linker_Options')dnl
  49. include(`Linker_Options')
  50. type Panel is private;
  51. ---------------------------
  52. -- Interface constants --
  53. ---------------------------
  54. Null_Panel : constant Panel;
  55. -------------------
  56. -- Exceptions --
  57. -------------------
  58. Panel_Exception : exception;
  59. -- MANPAGE(`panel.3x')
  60. -- ANCHOR(`new_panel()',`Create')
  61. function Create (Win : Window) return Panel;
  62. -- AKA
  63. pragma Inline (Create);
  64. -- ANCHOR(`new_panel()',`New_Panel')
  65. function New_Panel (Win : Window) return Panel renames Create;
  66. -- AKA
  67. -- pragma Inline (New_Panel);
  68. -- ANCHOR(`bottom_panel()',`Bottom')
  69. procedure Bottom (Pan : in Panel);
  70. -- AKA
  71. pragma Inline (Bottom);
  72. -- ANCHOR(`top_panel()',`Top')
  73. procedure Top (Pan : in Panel);
  74. -- AKA
  75. pragma Inline (Top);
  76. -- ANCHOR(`show_panel()',`Show')
  77. procedure Show (Pan : in Panel);
  78. -- AKA
  79. pragma Inline (Show);
  80. -- ANCHOR(`update_panels()',`Update_Panels')
  81. procedure Update_Panels;
  82. -- AKA
  83. pragma Import (C, Update_Panels, "update_panels");
  84. -- ANCHOR(`hide_panel()',`Hide')
  85. procedure Hide (Pan : in Panel);
  86. -- AKA
  87. pragma Inline (Hide);
  88. -- ANCHOR(`panel_window()',`Get_Window')
  89. function Get_Window (Pan : Panel) return Window;
  90. -- AKA
  91. pragma Inline (Get_Window);
  92. -- ANCHOR(`panel_window()',`Panel_Window')
  93. function Panel_Window (Pan : Panel) return Window renames Get_Window;
  94. -- pragma Inline (Panel_Window);
  95. -- ANCHOR(`replace_panel()',`Replace')
  96. procedure Replace (Pan : in Panel;
  97. Win : in Window);
  98. -- AKA
  99. pragma Inline (Replace);
  100. -- ANCHOR(`move_panel()',`Move')
  101. procedure Move (Pan : in Panel;
  102. Line : in Line_Position;
  103. Column : in Column_Position);
  104. -- AKA
  105. pragma Inline (Move);
  106. -- ANCHOR(`panel_hidden()',`Is_Hidden')
  107. function Is_Hidden (Pan : Panel) return Boolean;
  108. -- AKA
  109. pragma Inline (Is_Hidden);
  110. -- ANCHOR(`panel_above()',`Above')
  111. function Above (Pan : Panel) return Panel;
  112. -- AKA
  113. pragma Import (C, Above, "panel_above");
  114. -- ANCHOR(`panel_below()',`Below')
  115. function Below (Pan : Panel) return Panel;
  116. -- AKA
  117. pragma Import (C, Below, "panel_below");
  118. -- ANCHOR(`del_panel()',`Delete')
  119. procedure Delete (Pan : in out Panel);
  120. -- AKA
  121. pragma Inline (Delete);
  122. private
  123. type Panel is new System.Storage_Elements.Integer_Address;
  124. Null_Panel : constant Panel := 0;
  125. end Terminal_Interface.Curses.Panels;