Changeset 2183
- Timestamp:
- 12/23/08 10:31:13 (3 years ago)
- Location:
- trunk/Padre/lib/Padre
- Files:
-
- 2 edited
-
PluginManager.pm (modified) (1 diff)
-
Wx/Menu/Plugins.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Padre/lib/Padre/PluginManager.pm
r2143 r2183 630 630 } 631 631 632 # recreate the Plugins menu 633 ### TODO - Reimplement this in Padre::Wx::Menu::Plugins 632 # refresh the Plugins menu 634 633 sub _refresh_plugin_menu { 635 634 my $self = shift; 636 my $main = $self->parent->wx->main_window; 637 638 # Regenerate the menu 639 my $menu = $main->menu; 640 my $submenu = Padre::Wx::Menu::Plugins->new($main); 641 my $place = $menu->{wx}->FindMenu( Wx::gettext("Pl&ugins") ); 642 643 # Update the menu 644 $menu->{wx}->Replace( $place, $submenu->wx, Wx::gettext("Pl&ugins") ); 645 $menu->refresh; 635 636 $self->parent->wx->main_window->menu->plugins->refresh; 646 637 } 647 638 -
trunk/Padre/lib/Padre/Wx/Menu/Plugins.pm
r2053 r2183 98 98 $self->Append( -1, Wx::gettext('Plugin Tools'), $tools ); 99 99 100 $self->add_plugin_specific_entries(); 101 102 return $self; 103 } 104 105 sub add_plugin_specific_entries { 106 my $self = shift; 107 100 108 # Get the list of plugins 101 109 my $manager = Padre->ide->plugin_manager; 102 110 my $plugins = $manager->plugins; 103 111 my @plugins = grep { $_ ne 'My' } sort keys %$plugins; 112 113 my $entries = $self->{plugin_menus} || []; 114 $self->remove_plugin_specific_entries() if @$entries; 104 115 105 116 # Add the enabled plugins that want a menu … … 110 121 next unless $plugins->{$name}->{status} eq 'enabled'; 111 122 112 my @menu = $manager->get_menu( $main, $name );123 my @menu = $manager->get_menu( Padre->ide->wx->main_window, $name ); 113 124 next unless @menu; 114 125 115 126 if ( $need_seperator ) { 116 $self->AppendSeparator;127 push @$entries, $self->AppendSeparator; 117 128 $need_seperator = 0; 118 129 } 119 130 120 $self->Append( -1, @menu );131 push @$entries, $self->Append( -1, @menu ); 121 132 if ( $name eq 'My' ) { 122 133 $need_seperator = 1; 123 134 } 124 135 } 136 137 $self->{plugin_menus} = $entries; 138 139 return 1; 140 } 125 141 126 return $self; 142 sub remove_plugin_specific_entries { 143 my $self = shift; 144 my $entries = $self->{plugin_menus} || []; 145 146 while (@$entries) { 147 $self->Destroy(pop @$entries); 148 } 149 $self->{plugin_menus} = $entries; 150 return 1; 151 } 152 153 sub refresh { 154 my $self = shift; 155 156 $self->remove_plugin_specific_entries(); 157 $self->add_plugin_specific_entries(); 158 159 return 1; 127 160 } 128 161
Note: See TracChangeset
for help on using the changeset viewer.
