# IUP::Submenu example # # Creates a dialog with a menu with three submenus. One of the submenus # has a submenu, which has another submenu. use strict; use warnings; use IUP ':all'; # Creates a text, sets its value and turns on text readonly mode my $text = IUP::Text->new( VALUE=>"This text is here only to compose", EXPAND=>"YES" ); # Creates items of menu file my $item_new = IUP::Item->new( TITLE=>"New" ); my $item_open = IUP::Item->new( TITLE=>"Open" ); my $item_close = IUP::Item->new( TITLE=>"Close" ); my $item_exit = IUP::Item->new( TITLE=>"Exit" ); # Creates items of menu edit my $item_copy = IUP::Item->new( TITLE=>"Copy" ); my $item_paste = IUP::Item->new( TITLE=>"Paste" ); # Creates items for menu triangle my $item_equilateral = IUP::Item->new( TITLE=>"Equilateral" ); my $item_isoceles = IUP::Item->new( TITLE=>"Isoceles" ); my $item_scalenus = IUP::Item->new( TITLE=>"Scalenus" ); # Creates menu triangle my $menu_triangle = IUP::Menu->new( child=>[$item_equilateral, $item_isoceles, $item_scalenus] ); # Creates submenu triangle my $submenu_triangle = IUP::Submenu->new( child=>$menu_triangle, TITLE=>"Triangle" ); # Creates items of menu create my $item_line = IUP::Item->new( TITLE=>"Line" ); my $item_circle = IUP::Item->new( TITLE=>"Circle" ); # Creates menu create my $menu_create = IUP::Menu->new( child=>[$item_line, $item_circle, $submenu_triangle] ); # Creates submenu create my $submenu_create = IUP::Submenu->new( child=>$menu_create, TITLE=>"Create" ); # Creates items of menu help my $item_help = IUP::Item->new( TITLE=>"Help" ); # Creates menus of the main menu my $menu_file = IUP::Menu->new( child=>[$item_new, $item_open, $item_close, IUP::Separator->new(), $item_exit] ); my $menu_edit = IUP::Menu->new( child=>[$item_copy, $item_paste, IUP::Separator->new(), $submenu_create] ); my $menu_help = IUP::Menu->new( child=>[$item_help] ); # Creates submenus of the main menu my $submenu_file = IUP::Submenu->new( child=>$menu_file, TITLE=>"File" ); my $submenu_edit = IUP::Submenu->new( child=>$menu_edit, TITLE=>"Edit" ); my $submenu_help = IUP::Submenu->new( child=>$menu_help, TITLE=>"Help" ); # Creates main menu with file submenu my $menu = IUP::Menu->new( child=>[$submenu_file, $submenu_edit, $submenu_help] ); # Creates dialog with a text, sets its title and associates a menu to it my $dlg = IUP::Dialog->new( child=>$text, TITLE=>"IUP::Submenu Example", MENU=>$menu, SIZE=>"QUARTERxEIGHTH" ); # Shows dialog in the center of the screen $dlg->ShowXY (IUP_CENTER,IUP_CENTER); $item_help->ACTION( sub { IUP->Message ("Warning", "Only Help and Exit items performs an operation"); return IUP_DEFAULT; } ); $item_exit->ACTION( sub { return IUP_CLOSE; } ); IUP->MainLoop;