ncurses 4.1
[ncurses.git] / Ada95 / samples / explain.txt
1 #VERSION
2 This is Version 00.90.00 of the demo package.
3 #MENUKEYS
4 In a menu you can use the following Keys in the whole application:
5
6    - CTRL-Q        Quit the menu
7    - CTRL-N        Go to next item
8    - CTRL-P        Go to previous item
9    - CTRL-U        Scroll up one line
10    - CTRL-D        Scroll down one line
11    - CTRL-F        Scroll down one page
12    - PAGE DOWN     Scroll down one page
13    - PAGE UP       Scroll back one page
14    - CTRL-B        Scroll back one page
15    - CTRL-X        Clear pattern
16    - CTRL-H        Delete last character from pattern
17    - Backspace     Delete last character from pattern
18    - CTRL-A        Next pattern match
19    - CTRL-Z        Previous pattern match
20    - CTRL-T        Toggle item in a multi-selection menu
21    - CR or LF      Select an item
22    - HOME Key      Go to the first item
23    - F3            Quit the menu
24    - Cursor Down   Down one item
25    - Cursor Up     Up one item
26    - Cursor Left   Left one item
27    - Cursor Right  Right one item
28    - END Key       Go to last item
29 #FORMKEYS
30    - CTRL-Q        Quit the form                   
31    - CTRL-F        Go to the next page of the form          
32    - CTRL-B        Go to the previous page of the form
33    - CTRL-N        Go to the next field
34    - CTRL-P        Go to the previous field   
35    - CTRL-L        Go to the field left of the current one           
36    - CTRL-R        Go to the field right of the current one
37    - CTRL-U        Go to the field above the current one  
38    - CTRL-D        Go to the field below the current one           
39    - CTRL-W        Go to the next word in the field           
40    - CTRL-T        Go to the previous word in the field
41    - CTRL-S        Go to the beginning of the field
42    - CTRL-E        Go to the end of the field
43    - CTRL-I        Insert a blank character at the current position
44    - CTRL-O        Insert a line
45    - CTRL-V        Delete a character          
46    - CTRL-H        Delete previous character     
47    - CTRL-Y        Delete a line          
48    - CTRL-G        Delete a word          
49    - CTRL-K        Clear to end of field          
50    - CTRL-X        Clear the field          
51    - CTRL-A        Next choice in a choice field (Enumerations etc.)         
52    - CTRL-Z        Previous choice in a choice field.
53 #HELP
54 #HELPKEYS
55 You may scroll with the Cursor Up/Down Keys.
56 You may leave the help with the Function Key labelled 'Quit'.
57 #INHELP
58 You are already in the help system.
59 You may leave the help with the Function Key labelled 'Quit'.
60 #MAIN
61 This is the main menu of the sample program for the ncurses Ada95
62 binding. The main intention of the demo is not to demonstate or
63 test all the features of ncurses and it's subsystems, but to provide
64 to you some sample code how to use the binding with Ada95. 
65
66 You may select this options:
67
68    * Look at some ncurses core functions
69    * Look at some features of the menu subsystem
70    * Look at some features of the form subsystem
71    * Look at the output of the Ada.Text_IO like functions
72      for ncurses.
73    
74 #MAINPAD
75 You may press at any place in this demo CTRL-C. This will give you a command
76 window. You can just type in the Label-String of a function key, then this
77 key will be simulated. This should help you to run the application even if
78 you run it on a terminal with no or only a few function keys. With CTRL-A
79 and CTRL-Z you may browse through the possible values in the command window.
80 #MENU00
81 Here we give you a selection of various menu demonstrations.
82 #MENU-PAD00
83 This menu itself is a demo for a single valued, 1-column menu with
84 descriptions for the items, a marker and a padding character between
85 the item name and the description.
86 #MENU01
87 This is a demo of the some of the menu layout options. One of them
88 is the spacing functionality. Just press the Key labelled "Flip" to 
89 flip between the non-spaced and a spaced version of the menu. Please
90 note that this functionality is unique for ncurses and is not found 
91 in the SVr4 menu implementation. 
92
93 This is a menu that sometimes doesn't fit into it's window and 
94 therefore it becomes a scroll menu. 
95
96 You can also see here very nicely the pattern matching functionality
97 of menus. Type for example a 'J' and you will be positioned to the
98 next item after the current starting with a 'J'. Any more characters
99 you type in make the pattern more specific. With CTRL-A and CTRL-Z
100 (for more details press the Key labelled "Keys") you can browse
101 through all the items matching the pattern.
102
103 You may change the format of the menu. Just press one of the keys
104 labelled "4x1", "4x2" or "4x3" to get a menu with that many rows
105 and columns.
106
107 With the Keys "O-Row" or "O-Col" (they occupy the same label and
108 switch on selection) you can change the major order scheme for 
109 the menu. If "O-Col" is visible, the menu is currently major
110 ordered by rows, you can switch to major column order by pressing
111 the key. If "O-Row" is visible, it's just the reverse situation.
112 This Key is not visible in "4x1" layout mode, because in this case
113 the functionality makes no sense.
114
115 With the Keys "Multi" or "Singl" (they occupy the same label and
116 switch on selection) you can change whether or not the menu allows
117 multiple or only single selection.
118
119 With the Keys "+Desc" or "-Desc" (they occupy the same label and
120 switch on selection) you can change whether or not the descriptions
121 for each item should be displayed. Please not that this key is
122 not visible in the "4x3" layout mode, because in this case the
123 menu wouldn't fit on a typicall 80x24 screen.
124
125 With the Keys "Disab" or "Enab" (they occupy the same label and
126 switch on selection) you can dis- or enable the selectability of
127 the month with 31 days.
128 #MENU-PAD01
129 You may press "Flip" to see the effect of ncurses unique menu-spacing.
130 The Keys "4x1", "4x2" and "4x3" will change the format of the menu.
131 Please note that this is a scrolling menu. You may also play with the
132 pattern matching functionality or try to change the format of the menu.
133 For more details press the Key labelled "Help".
134 #FORM00
135 This is a demo of the forms package.
136 #FORM-PAD00
137 Please note that this demo is far from being complete. It really shows
138 only a small part of the functionality of the forms package. Let's hope 
139 the next version will have a richer demo (You wan't to contribute ?).
140 #NOTIMPL
141 Sorry this functionality of the demo is not implemented at the moment.
142 Remember this is a freeware project, so I can use only my very rare
143 free time to continue coding. If you would like to contribute, you
144 are very welcome !
145 #CURSES00
146 This is a menu where you can select some different demos of the ncurses
147 functionality.
148 #CURSES-PAD00
149 Please note that this demo is far from being complete. It really shows
150 only a small part of the functionality of the curses package. Let's hope 
151 the next version will have a richer demo (You wan't to contribute ?).
152 #MOUSEKEYS
153 In this demo you may use this keys:
154
155    - Key labelled "Help"  to get a help
156    - Key labelled "Keys"  is what you are reading now
157    - Key labelled "Quit"  to leave the demo
158
159 You may click the mouse buttons at any location at the screen and look
160 at the protocol window !
161 #MOUSE00
162 A rather simple use of a mouse as demo. It's there just to test the
163 code and to provide the sample source. 
164
165 It might be of interest, that the output into the protocol window is
166 done by the (n)curses Text_IO subpackages. Especially the output of
167 the button and state names is done by Ads's enumeration IO, which 
168 allows you to print the names of enumeration literals. That's really
169 nice.
170 #MOUSE-PAD00
171 This is a very simple demo of the mouse features of ncurses. It's there
172 just to test whether or not the generated code for the binding really
173 works on the different architectures (seems so).
174 #ATTRIBDEMO
175 Again this is a more than simple demo and just here to give you the
176 sourcecode.
177 #ATTRIBKEYS
178 You may press one of the three well known standard keys of this demo.
179 #ATTRIB-PAD00
180 Again this is a more than simple demo and just here to give you the
181 sourcecode. Feel free to contribute more.
182 #TEXTIO
183 #TEXTIOKEYS
184 #TEXTIO-PAD00
185 #END