OSSP CVS Repository

ossp - Check-in [5061]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 5061
Date: 2002-Dec-18 15:34:26 (local)
2002-Dec-18 14:34:26 (UTC)
User:thl
Branch:
Comment: Transfer documentation fragments from code to POD Allow F1/Help to read and display an as-cui.help file which can be created from POD Remove unnecessary checks for $editcell in &keybinder as it's head is a short circuit
Tickets:
Inspections:
Files:
ossp-pkg/as/as-cui/as-cui.pod      1.1 -> 1.2     113 inserted, 0 deleted

ossp-pkg/as/as-cui/as-cui.pod 1.1 -> 1.2

--- as-cui.pod   2002/12/18 11:18:20     1.1
+++ as-cui.pod   2002/12/18 14:34:26     1.2
@@ -40,6 +40,14 @@
 
 =back
 
+I<Curses User Interface:>
+
+=over 4
+
+If none of the options below are used the program enters a character
+based user inferface mode.  See section CUI to understand the operation
+and key bindings used in this interactive mode.
+
 I<Initial Setup:>
 
 =over 4
@@ -477,6 +485,111 @@
  $ as -l
  $ as -c
 
+=head1 CUI
+
+The character based user interface is organized as a spreadsheet. Each
+row resembles an event and every data field has a column. Due to screen
+size limitations it is unlikely that all columns are visible at one
+time.
+
+Column headings at the top show the name of each data field. Column
+headings stay at the top of the screen and don't scroll off.
+
+Row headings on the left show status information about the entry encoded
+into a single character. Row headings stay on the left side of the
+screen and don't scroll off.
+
+
+ Row/Entry status
+
+=over 4
+
+ " " event is in good shape
+ "R" event was just read in and no status was ever computed (never shown)
+ "E" event has one or more errors
+ "M" event was modified outside CUI (crc32 fails)
+ "N" event is new
+ "Y" event is in yank buffer
+ "y" one data field of this event is in yank buffer
+ "D" event has been deleted (never shown)
+ "U" event was deleted and deletion was "undo"ed
+
+=back
+
+The navigation and operation is loosely based on vi(1) concepts and
+keystrokes. There are two modes of operation, cursor movement and data
+cell editing. The CUI starts in cursor movement mode which can be
+identified by the active cell being displayed reverse. Some keybindings
+enter data cell editing mode which can be identified by the active cell
+being displayed normal with the cursor prominently visible.
+
+ Key bindings in cursor movement mode (loosely based on vi)
+
+=over 4
+
+ F2 or RETURN leaves movement mode and enters cell editing mode 
+ SPACE clears the data and enters cell editing mode
+ "." for date and time fields put current date/time into the cell
+ CURSOR_LEFT  or "h" moves to the cell on the left
+ CURSOR_RIGHT or "l" moves to the cell on the right
+ CURSOR_UP    or "k" moves to the cell above
+ CURSOR_DOWN  or "j" moves to the cell below
+ PAGE_UP   moves 1/3 of the screen height up
+ PAGE_DOWN moves 1/3 of the screen height down
+ CTRL-U scrolls 1/3 of the screen height up
+ CTRL-D scrolls 1/3 of the screen height down
+ CTRL-B scrolls one screen height up
+ CTRL-F scrolls one screen height down
+ HOME moves to the upper left visible cell
+ END  moves to the bottom right visible cell
+ "^" or "0" moves to the leftmost cell in the row
+ "$" moves to the rightmost cell in the row
+ "1" moves to the first row
+ "G" moves to the last row
+ "o" creates and places the cursor on a new line below
+     the current cursor position and enters cell editing mode
+ "O" creates and places the cursor on a new line at
+     the current cursor position and enters cell editing mode
+ "Y" yank the current row into the clipboard
+ "y" yank the current cell into the clipboard
+ "p" if the clipboard contains a cell, paste the cell if the clipboard
+     contains a row, place the cursor on a new line below the current
+     cursor position, paste non-uniq data from the clipboard into the
+     line and enter cell editing mode
+ "P" the clipboard must contain a row; place the cursor on a new line at
+     the current cursor position, paste non-uniq data from the clipboard
+     into the line and enter cell editing mode
+ "d" delete a row
+ "u" multilevel undo of last row deletion
+ F1 shows this help
+ F7 pops up a menu which allows to hide columns or bring them back
+ F8 pops up a menu which allows sorting rows
+ F9  shrink column size to the minimum
+ F10 shrink column size one character width
+ F11 grow column size one character width
+ F12 grow column size to the maximum
+ CTRL-X show menu (currently unused)
+ CTRL-Q save and quit
+
+=back
+
+ Key bindings in cursor movement mode (loosely based on bash)
+
+=over 4
+
+ F2 or RETURN leaves cell editing mode and enters movement mode
+ CURSOR_LEFT  or CTRL-B moves one character to the left
+ CURSOR_RIGHT or CTRL-F moves one character to the right
+ HOME or CTRL-A moves cursor to the begin of the line
+ END  or CTRL-E moves cursor to the end of the line
+ CTRL-T toggle line overflow flagging
+ CTRL-K kill line from cursor to end
+ CTRL-U kill line completely
+ CTRL-Z multilevel undo
+ TAB input completion on date, time or account cells
+
+=back
+
 =head1 SEE ALSO
 
 B<Accounting System> (AS)

CVSTrac 2.0.1