Provided by: libgtk2-ex-formfactory-perl_0.67-0ubuntu1_all bug

NAME

       Gtk2::Ex::FormFactory::Menu - A Menu in a FormFactory framework

SYNOPSIS

         Gtk2::Ex::FormFactory::Menu->new (
           menu_tree        => Hierarchical definition of the Menu,
           default_callback => Default callback for menu items,
           user_data        => User data for the default callback,
           ...
           Gtk2::Ex::FormFactory::Widget attributes
         );

DESCRIPTION

       This class implements a Menu in a Gtk2::Ex::FormFactory framework and pretty much wraps
       Gtk2::Ex::Simple::Menu. No application object attributes are associated with a Menu as a whole.

       But you may associate single Menu entries with an object. This way the correspondent entries will set
       insensitive automatically if the underlying object is undef and vice versa are activated once the object
       is defined.

OBJECT HIERARCHY

         Gtk2::Ex::FormFactory::Intro

         Gtk2::Ex::FormFactory::Widget
         +--- Gtk2::Ex::FormFactory::Menu

         Gtk2::Ex::FormFactory::Layout
         Gtk2::Ex::FormFactory::Rules
         Gtk2::Ex::FormFactory::Context
         Gtk2::Ex::FormFactory::Proxy

ATTRIBUTES

       Attributes are handled through the common get_ATTR(), set_ATTR() style accessors, but they are mostly
       passed once to the object constructor and must not be altered after the associated FormFactory was built.

       menu_tree = ARRAYREF [mandatory]
           This  is  a  slightly  extended  menu  tree  definition  in  terms of Gtk2::Ex::Simple::Menu. You may
           optionally associate each entry with an application object by specifying its name with the object key
           in the item definition hash. This way the item is active only if the correspondent object is defined.

           As well you can control widget activity more detailed using the active_cond and  active_depends  keys
           as described in the Gtk2::Ex::FormFactory::Widget manpage.

           A  short  example.  This  is a File menu where the 'Save' and 'Close' entries are sensitive only if a
           file was opened. We presume that opening a file sets the 'worksheet' object, which is registered with
           this name to the Context of the associated FormFactory.  Additionally  the  'Manage  rows'  entry  is
           active only if more than three rows are selected:

             $menu_tree = [
               _File => {
                 item_type => <Branch>',
                 children  => [
                   _Open  => {
                     callback => \&open_worksheet,
                                 # sets the 'worksheet' object
                   },
                   _Save => {
                     callback => \&save_worksheet,
                     object   => 'worksheet',
                   },
                   _Close => {
                     callback => \&close_worksheet,
                     object   => 'worksheet',
                   },
                   "_Manage rows" => {
                     callback       => \&manage_rows,
                     object         => 'worksheet',
                     active_cond    => sub { $worksheet->get_selected_rows_cnt > 3 },
                     active_depends => "worksheet.rows",
                 ],
               },
             ];

       default_callback = CODEREF [optional]
           The default callback of this menu. Refer to Gtk2::Ex::Simple::Menu for details.

       user_data = SCALAR [optional]
           User data of the default callback of this menu. Refer to Gtk2::Ex::Simple::Menu for details.

       For more attributes refer to Gtk2::Ex::FormFactory::Widget.

AUTHORS

        Joern Reder <joern at zyn dot de>

COPYRIGHT AND LICENSE

       Copyright 2004-2006 by Joern Reder.

       This  library  is  free  software;  you  can  redistribute it and/or modify it under the terms of the GNU
       Library General Public License as published by the Free Software Foundation; either version  2.1  of  the
       License, or (at your option) any later version.

       This  library  is  distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
       the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General
       Public License for more details.

       You should have received a copy of the GNU Library General Public License along  with  this  library;  if
       not,  write  to  the  Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307
       USA.

perl v5.14.2                                       2006-02-27                   Gtk2::Ex::FormFactory::Menu(3pm)