Wer will, kann der eigenen Curses::UI-Anwendung auch ein komplettes Menü spendieren, das sich auf modernen Systemen sogar meistens mit der Maus bedienen lässt. Dazu bauen Sie erst ein Menü aus einer Datenstruktur auf, in der ein Menü aus einem Array besteht, in dem Untermenüs als Arrayreferenzen eingebunden werden. Diese Datenstruktur übergeben Sie dann dem Konstruktor für die Klasse »Menubar
«
:
$ui->add( 'menu', 'Menubar', -menu => $menu_data );
Ein Beispiel für die Datenstruktur findet sich in der Dokumentation der Menubar-Klasse. Damit ein Menü ausklappt, muss es aktiviert werden, im Curses::UI-Jargon den sogenannten Focus erhalten. Dafür bietet sich zum Beispiel ein Hotkey an, den Sie etwa so festlegen:
$ui->set_binding(sub {$menu->focus()}, "\cM");
Die Aufzählung der enthaltenen Widgets ließe sich noch eine Zeit lang fortsetzen, so gibt es sogar ein GUI-Element, das Texteditor-Funktionen samt Scrollbars und so weiter bietet. Eine vollständige Liste finden Sie in der Curses::UI-Dokumentation.
Dokumentation für Perl-Curses::UI ist dünn gesät. Neben der offiziellen CPAN-Dokumentation gibt es nur noch einen Vortrag von Marcus Thiesen mit einem Überblick über das Modul [3] und vereinzelte Mailinglisten-Beiträge. Lohnenswert ist ein Blick in das Verzeichnis »examples
«
der Quellcode-Distribution, das für alle GUI-Elemente ausführliche und verständliche Beispiele enthält.
Infos