Changeset 2200
- Timestamp:
- 12/26/08 01:42:02 (3 years ago)
- File:
-
- 1 edited
-
trunk/Padre/lib/Padre/Plugin.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Padre/lib/Padre/Plugin.pm
r2184 r2200 345 345 my $label = shift @$items; 346 346 my $value = shift @$items; 347 if ( ref $value eq 'ARRAY' ) { 347 if (not defined $value) { 348 if ($label =~ /^---/) { 349 $menu->AppendSeparator; 350 } else { 351 Carp::cluck("Undefined value for label '$label'"); 352 } 353 } elsif (not ref $value) { 354 Carp::cluck("Not reference '$value'"); 355 } elsif ( ref $value eq 'ARRAY' ) { 348 356 my $submenu = $self->_menu_plugins_submenu( $win, $value ); 349 357 $menu->Append( -1, $label, $submenu ); 350 } else { 351 if($label =~ /^---/) { 352 $menu->AppendSeparator; 353 } else { 354 Wx::Event::EVT_MENU( $win, $menu->Append( -1, $label), $value ); 355 } 358 } elsif (ref $value eq 'CODE') { 359 Wx::Event::EVT_MENU( $win, $menu->Append( -1, $label), sub { eval { $value->(@_) }; Carp::cluck($@) if $@; } ); 360 } else { 361 Carp::cluck("Cannot deal with '$value' for label '$label'"); 356 362 } 357 363 }
Note: See TracChangeset
for help on using the changeset viewer.
