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

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/.