Changelog for the Curses::UI distribution:
Version 0.62
============
2001-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
incorrectly computed when using negative
-x and -y offsets).
- Renamed Curses::UI::Buttons to
Curses::UI::ButtonBox, which is more like
the naming of the rest of the widget set.
Updated all examples and wigets for this
change.
- Fixed some undefined value warnings in
Curses::UI::Dialog::FileBrowser.
- Incorporated multi-line label support in
the checkbox widget.
- Added new widgets + documentation:
- Curses::UI::PasswordEntry
- Curses::UI::Calendar
- Added new example applications:
- demo-Curses::UI::Calendar
2001-01-13: - Changed the way the buttons are defined
in Curses::UI::Buttons (all information
is now in the -buttons option and there
are predefined button types).
The documentation for Curses::UI::Buttons
is updated.
- Buttons can now have a -command assigned
to them. This command will execute after
the button is pressed and before the focus
is lost.
- All examples are updated for the changed
Curses::UI::Buttons class.
- Solved a warning for some versions of
perl about a prototype.
- Fixed some documentation typos.
Version 0.61
============
2001-01-13: - Extended the examples/basic_test file
to test the functionality of the basic
widgets (for now: Label, Buttons,
CheckBox, ListBox, PopupBox,
ProgressBar and TextEditor). Directly
derived widgets are not tested (like
RadioButtonBox and TextEntry) because
these will most probably work like
they should if the base class is okay.
- Changed the structure of the checkbox
widget. The layout() method would each
time re-add the label widget to the
checkbox widget. Now the checkbox is
a container derivate which always
contains the label.
- Fixed bug: The TextEditor class and
derivates didn't call check_for_resize()
during focus, so screen resize was
not detected.
2001-01-12: - Fixed some broken links in the
documentation.
- Removed "use Carp qw(confess)" from
the modules which do not use this
(anymore).
- Wrote documentation for:
- Curses::UI::Dialog::Basic
- Curses::UI::Dialog::Error
- Curses::UI::Dialog::FileBrowser
- Curses::UI::Dialog::Progress
- Curses::UI::Dialog::Status
- Added new example applications:
- demo-Curses::UI::Dialog::FileBrowser
- demo-Curses::UI::Dialog::Status
- Added the -clear_on_exit option
to Curses::UI. If this option is
set, a Curses::UI application will
call "clear" on exit.
Version 0.60
============
2001-01-11: - Wrote documentation for:
- Curses::UI::MenuListBox
- Curses::UI::MenuBar
- Added new example application:
- demo-Curses::UI::MenuBar
2001-01-10: - Wrote documentation for:
- Curses::UI::TextEditor
- Curses::UI::TextEntry
- Curses::UI::TextViewer
- Curses::UI::Common
- Curses::UI::Container
- Added new example applications:
- demo-Curses::UI::Dialog::Basic
- demo-Curses::UI::TextEditor
- New option for Curses::UI::Label: -paddingspaces
2001-01-09: - If the screen is too small for the application
to show, the program will no longer die.
Now it will show a message telling the user
that the screen should be bigger.
- Added the -compat option and compat() method
to Curses::UI. If -compat is set to a true
value, the Curses::UI widgets will be draw
using only basic characters, which should be
available on all terminals. This might be
a good option for terminals which do not
have characters like ACS_VLINE and ACS_HLINE.
- Changed the -viewmode of Curses::UI::TextEditor
to -readonly.
- The setpos() method of Curses::UI::ProgressBar
has been renamed to pos(). The options
-showpercentage and -showcenterline have been
changed to -nopercentage and -nocenterline.
- Wrote documentation for:
- Curses::UI::PopupBox
- Curses::UI::ProgressBar
- Curses::UI::SearchEntry
- Curses::UI::Searchable
- Added new example applications:
- demo-Curses::UI::PopupBox
- demo-Curses::UI::ProgressBar
2001-01-08: - Deleted last references to the old mws (Maurice's
Widget Set) namespace from the modules.
- Wrote documentation for:
- Curses::UI::CheckBox
- Curses::UI::Label
- Curses::UI::ListBox
- Added new example applications:
- demo-Curses::UI::CheckBox
- demo-Curses::UI::Label
- demo-Curses::UI::Listbox
Version 0.56
============
2001-01-07: - Added new example applications:
- hello_world
- demo-Curses::UI::Buttons
- demo-Curses::UI::Dialog::Progress
- pop3_reader: a simple POP3 mail reader
- Wrote documentation for Curses::UI::Buttons
- New constants in Common.pm: KEY_TAB, KEY_SPACE
- Moved the following methods from Common.pm to
Widget.pm:
- clear_binding()
- set_routine()
- set_binding()
- process_bindings()
- generic_focus()
2002-01-07: - Dialogs are moved to their own namespace:
Curses::UI::Dialog.
- Curses::UI has two new filebrowser dialog methods:
loadfilebrowser() and savefilebrowser(). These
are filebrowser dialogs which are setup correctly
for loading and saving files. The savefilebrowser()
will also check if the file to save to does exist.
If it does it will show a confirmation dialog to
have the user confirm that the file may be
overwritten.
- The code for centering a Window is now in the
Curses::UI::Window class. If the option -centered
is set, the layout() method will center the
Window.
- The add() routines of the classes Curses::UI and
Curses::UI::Container will not also accept
"Dialog::*" as a shortcut for "Curses::UI::Dialog::*".
- Added a new dialog: Curses::UI::Dialog::Status and
added documentation and and example to Curses::UI.
- Added a new dialog: Curses::UI::Dialog::Progress and
added documentation and and example to Curses::UI.
- Curses::UI applications will now automatically
clear the screen on exit (by calling the 'clear'
program using a safe $PATH).
Version 0.55
============
2002-01-06: - Instead of:
$thingy->add('id', 'Curses::UI::WidgetType', %args)
You may now also write:
$thingy->add('id', 'WidgetType', %args)
If there are no double colons in the class name,
the sofware assumes the class is in Curses::UI.
- Wrote documentation for Curses::UI.
- Fixed some small bugs and did some code cleanup.
2002-01-05: - Included basic_test in test.pl, so a real use of the
package is tested.
- The Curses::UI::RootWindow does not exist anymore.
Now the rootlevel for Curses::UI is created using
"my $cui = new Curses::UI".
- Finished first version of documentation for
Curses::UI::Widget.
Version 0.54
============
2002-01-04: - Some small changes in the examples and a new example
(basic_test) added.
- Added -show_hidden option to the FileBrowser.
- Added ~ keybinding to the FileBrowser. If ~ is pressed in the
directory- or filebrowser, the FileBrowser will go to the
homedirectory of the current user.
- If at creation time of the FileBrowser, the -path is
not defined, the FileBrowser will start at the
homedirectory of the user.
- The Curses::UI::Frame class is now called Curses::UI::Widget.
- Solved a bug in Curses::UI::Common::delallwin() which
caused a segmentation fault on some systems (by doing
a delwin on an already deleted curses window).
- Made a test.pl to test the loading of all classes.
- Updated Makefile.PL, so required modules are checked.
- Made a start on documenting Curses::UI. The first bit
of documentation is in Curses::UI::Widget. More will
follow.
Version 0.53
============
2002-01-03: - Initial import to CPAN.