Commit graph

9 commits

Author SHA1 Message Date
Tobias Boege
0a4dd6f9d2 [GB.NCURSES]
* NEW: Add ReadLine() function to Window that does the same as ncurses
  getstr(3X) but usable in all input modes
* NEW: Encapsulate Input, Cursor and Border modes into static objects
* NEW: Tidy up Color class in various places
* NEW: Specifiying color values is now done via floats instead of ints
* NEW: Remove ContainerW and ContainerH (and corresponding long forms)
  properties from Window class. It is always .Width/.Height + 2
* NEW: Rename Input.Repeater to Input.RepeatDelay
* OPT: Remove unnecessary ncurses input mode changes
* OPT: Tidy up Input and Screen code
* OPT: Reduce useless calls to input queue read callback in Screen class
* BUG: Add constant for already implemented "very visible" cursor mode
* BUG: Use opaque input module in Window.Ask()
* BUG: Note that NoDelay and Window/Screen events still not work



git-svn-id: svn://localhost/gambas/trunk@4827 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-13 15:47:00 +00:00
Tobias Boege
31cdd37ebd [GB.NCURSES]
* NEW: Move .Buffered and .Refresh() from Window to Screen class as Screen
  reflects better that these routines affect the entire screen
* NEW: Window has a Caption property to display a caption within the border
  frame; only visible when the Window has a border
* NEW: Add NoDelay input mode to Screen class (for use with caution and a
  true tty). This mode lets the programmer artifically set the keyboard
  repeat delay for the program (beware: still broken)
* NEW: Add IsConsole property to check if one can enter NoDelay mode
* NEW: Add Repeater property to Screen to specify keyboard repeat
  delay. This specifies the minimum interval of sucessively risen Read
  events and Window.Read() calls
* NEW: Rename Window.WaitKey() to .Read()
* NEW: Rename Window.Bottom() to .Lower() and .Top() to .Raise()
* NEW: Add very-visible mode for cursor, according to ncurses doc
* NEW: Window class has a new optional parameter to specify the parent
  Screen, if none given, the currently active Screen is used.
* NEW: Window class does not get a default event name anymore. If the Read
  event is risen and the active Window cannot raise events, the parent
  Screen raises it (beware: still broken)
* NEW: Window.Border is an integer, new constants .None, .ASCII, .ACS to
  choose the border look
* NEW: Cursor resides on the new location after Window.Print() now
* OPT: Remove redundant wrapping code in Print function because ncurses
  waddch() does this by itself
* OPT: Stream inheritance entirely useless due to future ReadLine()
  function, hence it was removed
* OPT: Remove NCurses class, it contained only component-global routines
  that were moved to main module
* BUG: Turning off attributes with the Normal attribute now works
* BUG: Changes on color attributes (also on color pairs) are immediately
  visible now
* BUG: Fix string argument handling in Window.Ask(), .Insert(), .Print() and
  .PrintCenter()
* BUG: Newline to Window.Print() really works now and gives the desired
  effect of not returning to x=0 on the next line (like ncurses does)



git-svn-id: svn://localhost/gambas/trunk@4778 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 21:09:17 +00:00
Benoît Minisini
e2fac79ffb [CONFIGURATION]
* NEW: Replace the old "INCLUDES" directive by "xxx_CPPFLAGS" in all 
  Makefile.am files.

[GB.XML]
* BUG: Remove debugging flags from compilation flags.


git-svn-id: svn://localhost/gambas/trunk@4714 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-04 16:45:14 +00:00
Tobias Boege
492de27fda [GB.NCURSES]
* NEW: Window class now inherits Stream
* NEW: Renamed Window.Flush() to Window.Drain() to not have it confused
  with the stream Flush instruction
* NEW: Window.Background and .Foreground properties now work
* NEW: Window.Attributes.Color changed internal behaviour to interoperate
  with .Background and .Foreground properties
* NEW: Now using ncurses extensions to colour support
* BUG: Corrected typo in ContainerW property name



git-svn-id: svn://localhost/gambas/trunk@4700 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-30 20:31:35 +00:00
Tobias Boege
07e789c365 [GB.NCURSES]
* NEW: Added Color static class
* NEW: Added color support to Window class
* NEW: Window class now auto-creates a full-screen window
* NEW: Added Screen class for future use
* NEW: Moved symbols from NCurses to Screen where they belong now
* NEW: Key class supports array accessors as other Key classes do
* OPT: Drawing ASCII border if no alternate charset is supported
* BUG: Window.Print handles multiple lines correctly now
* BUG: Fixed Border problems with full-screen windows
* BUG: Fixed exchanged x,y parameters in resize internal function
* BUG: Fixed cursor mislead in internal function to copy window contents



git-svn-id: svn://localhost/gambas/trunk@4643 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-20 20:40:56 +00:00
Benoît Minisini
d04b80c7f5 [GB.NCURSES]
* NEW: Start implementing a Screen static class that is like a Window 
  representing the full screen.


git-svn-id: svn://localhost/gambas/trunk@4636 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-15 23:47:38 +00:00
Tobias Boege
e770acc969 [GB.NCURSES]
* NEW: Added Key static class containing key constants
* NEW: Buffered property in Window class to allow buffered output
* NEW: Refresh method in Window class to produce output if Buffered property
  was set
* NEW: Flush method in Window class to clear the input queue
* NEW: Ask method in Window class to prompt the user for specific keys
* NEW: PrintCenter method in Window class to print text in the centre of the
  screen
* NEW: Window array accessors now used to change character attributes
* OPT: Standard input is watched only once
* BUG: Inserted missing return statement when reading Window.Border



git-svn-id: svn://localhost/gambas/trunk@4627 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-14 19:42:04 +00:00
Benoît Minisini
643d230193 [GB.NCURSES]
* BUG: Do not call refresh routines when endwin() has already been called.
* NEW: Add an error hook that calls endwin() so that the terminal is reset
  and the error message is visible.


git-svn-id: svn://localhost/gambas/trunk@4622 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-13 22:11:24 +00:00
Tobias Boege
572d7aa9e4 [GB.NCURSES]
* NEW: Created gb.ncurses component
* NEW: Added NCurses static class
* NEW: Added Window class



git-svn-id: svn://localhost/gambas/trunk@4621 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-13 15:16:23 +00:00