Dear reader(s),

I would like to register as a perl developer.
Here is the requested information:

Name:     Maurice Makaay
E-mail:   [EMAIL PROTECTED]
Homepage: http://www.gitaar.net/ (Dutch)
User-ID:  MMAKAAY

What I would like to contribute to CPAN is my collection of
Curses based user interface modules (Curses::MWS::*) (MWS = 
Maurice's Widget Set). Using these modules it's quite easy to
create curses based applications in perl. Currently I have
the following modules (and more modules are planned). I'll try 
to provide a little explanation for each of them:

Curses::MWS::Frame              A frame widget that can handle
                                positioning, border drawing, internal-
                                and external padding
Curses::MWS::Common             Common methods for all widgets
Curses::MWS::Container          A frame containing a widget collection.
                                A container will automatically take
                                care of focusing the right widgets,
                                so it's easy to create a form with it.
                                NOTE: You'll mostly use the Window widget,
                                which is a descendant of Container.
Curses::MWS::RootWindow         A curses window in which all work is done
Curses::MWS::Window             A curses window that can be added
                                to the RootWindow
Curses::MWS::Buttons            A buttonbar
Curses::MWS::CheckBox           A checkbox
Curses::MWS::Dialog             A dialogbox (message + buttons popup)
Curses::MWS::ErrorDialog        An error dialogbox (with an ascii drawn
                                exclamation mark sign :-)
Curses::MWS::FileBrowser        A widget to select a file, including
                                filemasks and filename-editing
Curses::MWS::Label              A simple textlabel
Curses::MWS::ListBox            A listbox / optionlist with integrated
                                search functionality (like 'less' does)
Curses::MWS::MenuBar            A menubar on top of the screen
Curses::MWS::MenuListBox        Used internally by MenuBar. Using the
                                MenuBar it's possible to create 
                                menu's for your application. Each menu
                                can have one or more submenu's
Curses::MWS::PopupBox           A pulldown menu
Curses::MWS::ProgressBar        A progress bar
Curses::MWS::RadioButtonBox     A list of radiobuttons
Curses::MWS::SearchEntry        Used by ListBox and TextViewer for searching
Curses::MWS::Searchable         Used by LIstBox and TextViewer for searching
Curses::MWS::TextEditor         A texteditor widget including wrapping,
                                undo, hard return viewing
Curses::MWS::TextEntry          A single line of textinput
Curses::MWS::TextViewer         A viewer for textfiles with integrated
                                search functionality (like 'less' does)

One of the great features of this widget set, is that an application
that is build with it will be automaticalliy resizeable! That was the
main reason for me to build my own widget set. I couldn't find an
easy solution for building curses based applications that could do
that. In Curses::MWS all widgets have their own layout() method and
the RootWindow will recursively call this method for all widgets if
the window is resized.

I haven't used any of the ncurses specific functions, so these 
modules will work correctly with standard curses (for example
curses on Sun Solaris systems).

If you have any questions, I'll be happy to answer them.

With kind regards,

Maurice Makaay
System Administrator

Reply via email to