Curses-UI

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

2003-04-27	- Fixed critical bug that broke Menubar selection


Version 0.73
============

2003-03-28	- Added Russian, Polish, Italian and German language
		  pack

		- Applied focusdelete and userdata patch by Raul Dias

		- Fixed unselect for single selects in Listbox

		- Fixed Solaris 8 Compile bug

		- Did some documentation work

Version 0.72
============

2003-03-24	- Maintainer changed, new maintainer is now Marcus
		  Thiesen (MARCUS) <marcus@cpan.thiesenweb.de>

		- Small bug fix to the delete call that will now 
		  work right

		- Mouse support is now optional

		- Some additions to the Listbox widget

Version 0.71
============

2002-02-01      - Darn... the thing did not work correctly on non-
		  ncurses systems. Having things like
		  "BUTTON1_CLICKED" in the code does not work if
		  the Curses module does not have them defined. It
		  should be "BUTTON1_CLICKED()" to avoid warnings
		  like "Bareword "BUTTON1_CLICKED" not allowed..."
		  Solved this in all modules. Thanks to Nick
                  Slussar for noticing.

                - Added mouse-support to the Calendar widget.

		- Added language support, so the widget specific
		  language strings are configurable. The language
		  strings are in Curses::UI::Language::<language>.pm.
		  Extra languages can be created by adding a new
		  <language>.pm file over there. Currently I created
		  a Dutch and an English language module. I you create
		  a language module of your own, please send it to 
		  me. I'll then include it in the distribution.

                - Changed all year 2001 occurrances in the Changelog
		  to 2002. Thanks to Mark Overmeer (mr. Mail::Box) for
		  noticing that I was one year off ;-)

                - Made sure that upon deleting a widget from a
                  container, its subwindows are deleted.

                - Created calendar dialog (request made by Ravi Pina).
		  Also added a little demo to demo-widgets for this
		  new dialog type. The dialog is accessable via
		  Curses::UI ($cui->calendardialog).

		- Changed the unpacking of mouse events a little
		  (thanks to William Setzer for the hint on
		  unpack("sx2i3l", $MEVENT) instead of
		  unpack("i5", $MEVENT)). 

Version 0.70
============

2002-01-31      - After a lot of hacking on the resize code
                  I decided to leave it out for now. I can't get
		  things stable :-( I will try to look into this
		  at some other time. 

                - Made a start on the support of mouse events. 
		  It's doable! :-) Most widgets now have some sort
		  of mouse event handler. Or widgets should try
		  to focus if clicked upon.

                - Resolved a whole bunch of small bugs that 
		  turned up while building mouse support.

2002-01-29      - Removed automatic resize control. This did not 
		  work good on ncurses (crashes). Now, resizing
		  is done after a keypress.

		- Fixed a bug in the char_read() method. The
		  returncode of the select() call is checked for
		  errors.

                - Non interacting dialogs (status + progress) are
		  now not focusable anymore. This makes sure that
		  the current window is not blurred.

                - Fixed bug: the horizontal positioning of the 
		  first opened menulistbox from a menubar was 
		  wrong.

                - Renamed some "constants" to prevent future
                  namespace clashes:
                  KEY_ESCAPE    => CUI_ESCAPE
                  KEY_SPACE     => CUI_SPACE
                  KEY_TAB       => CUI_TAB

2002-01-28      - Removed all demo-Curses::UI* examples from the
		  distribution and created a new widget demo:
		  examples/demo-widgets. In this demo all 
		  widgets and dialogs are showed.

                - If you do "make test INTERACTIVE_TEST=1", the
                  widget demo program will be started if all
		  tests were successful.

                - Fixed examples/pop3_reader for use of the new
		  event system.

                - <SHIFT-TAB> is now supported to focus the 
		  previous object (this will not work on all
		  terminals, but it's a nice-to-have!).

Changes  view on Meta::CPAN


2002-01-25      - Fixed some problems with modal focused windows.

                - The Popupmenu widget now also works. This widget
		  is partly rewritten to make it more clean and
		  make it fit in the new event system.

		- New method: Curses::UI->fatalerror( [error] ).
		  This will display a fatal error to the user.
		  After pressing a key, the program will exit.
		  This is usefull in places where you would
		  otherwise use die() (or one of its Carp friends).

                - Moved usemodule() from the Container package to
		  Curses::UI. This method now honours the %INC
		  hash, which means less on-the-fly loading of
		  modules will occur.

                - Made searching through listboxes and textviewers
		  possible in the new event system.

                - Fixed some -onchange event bugs in popupmenu.

till 2002-01-24 - The complete event structure is set upside-down.
                  By using this new event structure, timed routines
                  and mouse events are possibilities. Maybe even
                  integration with POE! :-) (but I haven't looked
                  into that enough to be sure). We also have a 
		  Tk-like mainloop() now.

                - Updated a lot of widgets to support the new event
                  structure (central mainloop in Curses::UI which
                  delegates events). This means that a widget has
                  a event_keypress() method, which handles 
                  delegated keypresses.
                  

Version 0.64
============

2002-01-19:     - Started on building a complete new event handling
                  system. This should simplify a couple of things and
                  it should enable new features like some kind of 
                  time loop and mouse events.


Version 0.63
============

2002-01-16:     - Added a CLASS HIERARCHY section to the 
                  documentation of each Curses::UI class.

                - All focusable objects now have the following 
                  event callbacks:
                  -onfocus / onFocus()
                  -onblur  / onBlur()

                - The Curses::UI::Calendar widget now fully
                  supports the years 0 - 9999, including the
                  transition from the Julian to the Gregorian
                  calendar (september 1752). This beats the
                  use of timelocal/localtime (which would 
                  currently only support 1900 - 2038 IIRC).

                - Added intellidraw() method to Curses::UI::Widget.
                  If this method is called, the widget is redrawn, but
                  only if it's visible (not hidden and in topwindow)
                  and if intellidraw is enabled (-intellidraw data 
                  member has a true value).

                  This routine can be used to be able to redraw 
                  widgets on a status change, without having to figure
                  out yourself if this wouldn't clutter up the screen.
                  The -intellidraw option is meant for widget
                  builders (see for example the Checkbox code).

                - Incorporated intellidraw() method in:
                  - Curses::UI::Window
                  - Curses::UI::Label
                  - Curses::UI::Calendar
                  - Curses::UI::Buttonbox
                  - Curses::UI::Listbox (+ descendants)
                  - Curses::UI::Checkbox
                  - Curses::UI::Popupbox
                  - Curses::UI::Progressbar
                  - Curses::UI::TextEditor (+ descendants)
                  - Curses::UI::SearchEntry

                - Added a little example application to demonstrate
                  the new intellidraw feature: examples/demo-intellidraw 

2002-01-15:     - Changed the displaying of the calendar widget
                  a little. The topbar showing a date is only 
                  highlighted if the cursor is on the selected date.
	
                - Renamed some widgets (now we still can). I think
                  there are too many capitals in them...
                  - Curses::UI::ListBox renamed to
                    Curses::UI::Listbox
                  - Curses::UI::CheckBox renamed to
                    Curses::UI::Checkbox
                  - Curses::UI::MenuBar renamed to
                    Curses::UI::Menubar
                  - Curses::UI::MenuListBox renamed to
                    Curses::UI::MenuListbox
                  - Curses::UI::PopupBox renamed to
                    Curses::UI::Popupmenu
                  - Curses::UI::ProgressBar renamed to
                    Curses::UI::Progressbar
                  - Curses::UI::ButtonBox renamed to
                    Curses::UI::Buttonbox
                  - Curses::UI::RadioButtonBox renamed to
                    Curses::UI::Radiobuttonbox
                  - Curses::UI::Dialog::FileBrowser renamed to
                    Curses::UI::Dialog::Filebrowser

                - Added event callbacks to:
                  - Curses::UI::Calendar      (-onchange / onChange())
                  - Curses::UI::Listbox       (-onchange / onChange())
                  - Curses::UI::Checkbox      (-onchange / onChange())
                  - Curses::UI::TextEditor    (-onchange / onChange())
                  - Curses::UI::TextEntry     (-onchange / onChange())
                  - Curses::UI::PasswordEntry (-onchange / onChange())
                  - Curses::UI::Popupmenu     (-onchange / onChange())


                - The options that can be passed to the new()
                  methods, are case insensitive now. So it is
                  perfectly okay to write:
  
                  $win->add(
                      'cb', 'Checkbox',
                      -Label => 'Demonstration widget',
                      -onChange => sub { exit() } 
                  );


Version 0.62
============

2002-01-14:     - Changed the Label widget. The text to
                  show on the widget may contain more than
                  one line of text (so newline characters
                  may be used). The status-dialog is changed
                  accordingly. Other widgets that use Labels
                  are not updated yet.

                - Updated Curses::UI::Dialog::Progress for
                  use with the new Label widget.

                - Fixed a layout bug in Curses::UI::Widget
                  (the available height and width were 



( run in 0.523 second using v1.01-cache-2.11-cpan-39bf76dae61 )