The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.63

  • 2001-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
  • 2001-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() } );

Modules

A curses based user user interface framework
Create and manipulate button widgets
Create and manipulate calendar widgets
Create and manipulate checkbox widgets
Common methods for Curses::UI
Create and manipulate container widgets
Create and manipulate basic dialogs
Create and manipulate error dialogs
Create and manipulate filebrowser dialogs
Create and manipulate progress dialogs
Create and manipulate status dialogs
Create and manipulate label widgets
Create and manipulate listbox widgets
Create and manipulate menulistbox widgets
Create and manipulate menubar widgets
Create and manipulate passwordentry widgets
Create and manipulate popupbox widgets
Create and manipulate progressbar widgets
Create and manipulate radiobuttonbox widgets
Create and manipulate searchentry widgets
Add 'less'-like search abilities to a widget
Create and manipulate texteditor widgets
Create and manipulate textentry widgets
Create and manipulate textviewer widgets
The base class for all widgets
Create and manipulate Window widgets