Commit graph

14 commits

Author SHA1 Message Date
Tobias Boege
30944fa8eb [GB.NCURSES]
* BUG: The signature of Screen.Resize() allows arguments now



git-svn-id: svn://localhost/gambas/trunk@5654 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-12 14:59:07 +00:00
Tobias Boege
587d286f89 [GB.NCURSES]
* NEW: Omitting the optional 'Attr' and 'Pair' parameters to Window.Print()
  now indicates to use the window settings instead of no attributes and
  default colour



git-svn-id: svn://localhost/gambas/trunk@5626 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-04-30 11:04:01 +00:00
Tobias Boege
5c640cd4d4 [GB.NCURSES]
* NEW: Allow to apply attributes and colours to a particular
  Window.Print{,Center}()
* NEW: Change Window.Attributes into a bitmask (Integer)
* NEW: .Window.Attrs isn't anymore. The Attr static class now provides
  OR-able constants to assign to Window.Attributes. .Char.Attrs, however,
  remains a virtual object to manage attributes on a per character basis
* NEW: Provide Window.Pair to set the colour pair for all *subsequent*
  writes, as opposed to Foreground and Background which set the colours
  of all that is and will be

[EXAMPLES]
* NEW: Pong: Use gb.ncurses improvements



git-svn-id: svn://localhost/gambas/trunk@5625 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-04-30 10:57:44 +00:00
Tobias Boege
cf20462abc [GB.NCURSES]
* BUG: Input: Comment all NoDelay related stuff out
* BUG: Window: PrintCenter() handles empty lines now
* NEW: Pair: Allocate all pairs at initialisation and inhibit any change to
  them. Array accessors can be used to get the pair number for a given
  fore-/background combination
* NEW: Window: Rewrite the Window class
* NEW: Remove the Insert() method
* NEW: Remove .Window.Attrs' Color property
* NEW: BorderFrame is an optional argument to the constructor (default True)
  to specify if there shall be a border frame around the window setting the
  border apart from the content
* NEW: Ask() returns the choice number to ease translation
* NEW: Ask() supports a default choice in upper case
* NEW: Make Read event work
* NEW: Screen: Rewrite it mostly (is a static class again)
* NEW: Remove Read event
* NEW: Make Resize event work
* NEW: Rename .Cols and .Lines to .Width resp. .Height
* NEW: Declare gb.ncurses "Unfinished"
* OPT: Tidy up sources
* OPT: Window: Use werase() instead of wclear() to clear

[EXAMPLES]
* NEW: Add 'Pong' in the Games section



git-svn-id: svn://localhost/gambas/trunk@5543 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-02-10 20:06:36 +00:00
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
8ad1afe673 [CONFIGURATION]
* NEW: Print disabled components individually.

[GB.QT4]
* BUG: ComboBox background color is correctly handled now.


git-svn-id: svn://localhost/gambas/trunk@4739 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-18 01:19:15 +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