NAME
FLTK::Cookbook::MenuBar::Label - Changing MenuItem's Labels At Runtime
Description
Demonstrates how to access and change menu items at run time. Click on Edit -> Change
to change the contents of the Edit
menu.
The Code
use strict;
use warnings;
use FLTK;
my $win = FLTK::Window->new(400, 400);
$win->begin;
my $menu = FLTK::MenuBar->new(0, 0, 400, 25);
$menu->add("File/Quit", FLTK::CTRL() + ord 'q', sub { exit 0 });
$menu->add(
"Edit/Change",
FLTK::CTRL() + ord 'c',
sub {
my $p = $menu->find('Edit/Submenu/Original Aaa');
return if !$p;
$p->parent->label("New Name"); # Change submenu name
$p->label('New Aaa'); # Change item name
}
);
$menu->add('Edit/Submenu/Original Aaa');
$menu->add('Edit/Submenu/Bbb');
$win->end;
$win->show;
exit FLTK::run();
Awknowlegements
Code based on the work of Greg Ercolano
Author
Sanko Robinson <sanko@cpan.org> - http://sankorobinson.com/
License and Legal
Copyright (C) 2008-2009 by Sanko Robinson <sanko@cpan.org>
This program is free software; you can redistribute it and/or modify it under the terms of The Artistic License 2.0. See the LICENSE file included with this distribution or http://www.perlfoundation.org/artistic_license_2_0. For clarification, see http://www.perlfoundation.org/artistic_2_0_notes.
When separated from the distribution, all original POD documentation is covered by the Creative Commons Attribution-Share Alike 3.0 License. See http://creativecommons.org/licenses/by-sa/3.0/us/legalcode. For clarification, see http://creativecommons.org/licenses/by-sa/3.0/us/.