package bluej.extmgr;
import javax.swing.JMenuItem;
import bluej.extensions.BPackage;
import bluej.extensions.ExtensionBridge;
import bluej.extensions.MenuGenerator;
import bluej.pkgmgr.Package;
| Implementation of the {}link ExtensionMenu} interface for the Tools
| menu, allowing extensions to add menu items to the Tools menu.
|
| @author Simon Gerlach
|
public class ToolsExtensionMenu
implements ExtensionMenu{
private Package bluejPackage;
| Constructor. Creates a new {}link ToolsExtensionMenu}.
|
| @param bluejPackage
| The package to generate the menu for; null for no open package.
|
public ToolsExtensionMenu(Package bluejPackage)
{
this.bluejPackage = bluejPackage;
}
@SuppressWarnings("deprecation")
@Override
public JMenuItem getMenuItem(MenuGenerator menuGenerator)
{
if (bluejPackage == null) {
JMenuItem menuItem = menuGenerator.getToolsMenuItem(null);
if (menuItem != null) {
return menuItem;
}
return menuGenerator.getMenuItem();
}
BPackage bPackage = ExtensionBridge.newBPackage(bluejPackage);
return menuGenerator.getToolsMenuItem(bPackage);
}
@Override
public void postMenuItem(MenuGenerator menuGenerator, JMenuItem onThisItem)
{
if (bluejPackage == null) {
menuGenerator.notifyPostToolsMenu(null, onThisItem);
}
else {
BPackage bPackage = ExtensionBridge.newBPackage(bluejPackage);
menuGenerator.notifyPostToolsMenu(bPackage, onThisItem);
}
}
}
top,
use,
map,
class ToolsExtensionMenu
. ToolsExtensionMenu
. getMenuItem
. postMenuItem
57 neLoCode
+ 6 LoComm