📄 menufactory.java
字号:
}
}
{
shell = shell1;
super();
}
});
Listener enableHandler = new Listener(shell, item) {
final Shell val$shell;
final MenuItem val$item;
public void handleEvent(Event event)
{
if (!shell.isDisposed() && !item.isDisposed())
{
if (!Constants.isOSX)
if (shell.getMaximized())
Messages.setLanguageText(item, MessageText.resolveLocalizationKey("MainWindow.menu.window.zoom.restore"));
else
Messages.setLanguageText(item, MessageText.resolveLocalizationKey("MainWindow.menu.window.zoom.maximize"));
if ((shell.getStyle() & 0x400) != 0)
item.setEnabled(!shell.getMinimized());
else
item.setEnabled(false);
}
}
{
shell = shell1;
item = menuitem;
super();
}
};
menuParent.addListener(22, enableHandler);
shell.addListener(15, enableHandler);
shell.addListener(19, enableHandler);
shell.addListener(20, enableHandler);
return item;
}
public static MenuItem addAboutMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.help.about", new Listener() {
public void handleEvent(Event e)
{
AboutWindow.show(MenuFactory.getDisplay());
}
});
}
public static MenuItem addHealthMenuItem(Menu menu)
{
return addMenuItem(menu, "MyTorrentsView.menu.health", new Listener() {
public void handleEvent(Event e)
{
HealthHelpWindow.show(MenuFactory.getDisplay());
}
});
}
public static MenuItem addWhatsNewMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.help.whatsnew", new Listener() {
public void handleEvent(Event e)
{
Utils.launch("http://azureus.sourceforge.net/changelog.php?version=4.2.0.0");
}
});
}
public static MenuItem addWikiMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.community.wiki", new Listener() {
public void handleEvent(Event e)
{
Utils.launch("http://www.azureuswiki.com/index.php/");
}
});
}
public static MenuItem addReleaseNotesMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.help.releasenotes", new Listener(menu) {
final Menu val$menu;
public void handleEvent(Event e)
{
new WelcomeWindow(menu.getShell());
}
{
menu = menu1;
super();
}
});
}
public static MenuItem addHelpSupportMenuItem(Menu menu, String support_url)
{
return addMenuItem(menu, "MainWindow.menu.help.support", new Listener(support_url) {
final String val$support_url;
public void handleEvent(Event e)
{
Utils.launch(support_url);
}
{
support_url = s;
super();
}
});
}
public static MenuItem addDonationMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.help.donate", new Listener() {
public void handleEvent(Event e)
{
DonationWindow.open(true);
}
});
}
public static MenuItem addGetPluginsMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.help.plugins", new Listener() {
public void handleEvent(Event e)
{
Utils.launch("http://azureus.sourceforge.net/plugin_list.php");
}
});
}
public static MenuItem addDebugHelpMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.help.debug", new Listener() {
public void handleEvent(Event e)
{
UIDebugGenerator.generate();
}
});
}
public static MenuItem addCheckUpdateMenuItem(Menu menu)
{
return addMenuItem(menu, "MainWindow.menu.help.checkupdate", new Listener(menu) {
final Menu val$menu;
public void handleEvent(Event e)
{
UIFunctionsSWT uiFunctions = UIFunctionsManagerSWT.getUIFunctionsSWT();
if (uiFunctions != null)
uiFunctions.bringToFront();
UpdateMonitor.getSingleton(MenuFactory.getCore()).performCheck(true, false, false, new UpdateCheckInstanceListener() {
final 61 this$0;
public void cancelled(UpdateCheckInstance updatecheckinstance)
{
}
public void complete(UpdateCheckInstance instance)
{
if (instance.getUpdates().length == 0)
Utils.execSWTThread(new AERunnable() {
final 1 this$1;
public void runSupport()
{
Utils.openMessageBox(menu.getShell(), 34, "window.update.noupdates", (String[])null);
}
{
this$1 = 1.this;
super();
}
});
}
{
this$0 = 61.this;
super();
}
});
}
{
menu = menu1;
super();
}
});
}
public static MenuItem addPluginInstallMenuItem(Menu menuParent)
{
return addMenuItem(menuParent, "MainWindow.menu.plugins.installPlugins", new Listener() {
public void handleEvent(Event e)
{
new InstallPluginWizard(MenuFactory.getCore(), MenuFactory.getDisplay());
}
});
}
public static MenuItem addPluginUnInstallMenuItem(Menu menuParent)
{
return addMenuItem(menuParent, "MainWindow.menu.plugins.uninstallPlugins", new Listener() {
public void handleEvent(Event e)
{
new UnInstallPluginWizard(MenuFactory.getCore(), MenuFactory.getDisplay());
}
});
}
public static final MenuItem addLabelMenuItem(Menu menu, String localizationKey)
{
MenuItem item = new MenuItem(menu, 0);
Messages.setLanguageText(item, localizationKey);
item.setEnabled(false);
return item;
}
public static MenuItem addSeparatorMenuItem(Menu menuParent)
{
return new MenuItem(menuParent, 2);
}
public static MenuItem createTopLevelMenuItem(Menu menuParent, String localizationKey)
{
Menu menu = new Menu(menuParent.getShell(), 4);
MenuItem menuItem = new MenuItem(menuParent, 64);
Messages.setLanguageText(menuItem, localizationKey);
menuItem.setMenu(menu);
menu.setData("key.menu.id", localizationKey);
menuItem.setData("key.menu.id", localizationKey);
return menuItem;
}
public static final MenuItem addMenuItem(Menu menu, String localizationKey, Listener selListener)
{
return addMenuItem(menu, localizationKey, selListener, 0);
}
public static final MenuItem addMenuItem(Menu menu, String localizationKey, Listener selListener, int style)
{
MenuItem menuItem = new MenuItem(menu, style);
Messages.setLanguageText(menuItem, MessageText.resolveLocalizationKey(localizationKey));
KeyBindings.setAccelerator(menuItem, MessageText.resolveAcceleratorKey(localizationKey));
if (null != selListener)
menuItem.addListener(13, selListener);
menuItem.setData("key.menu.id", localizationKey);
return menuItem;
}
public static final MenuItem addMenuItem(Menu menu, int style, String localizationKey, Listener selListener)
{
return addMenuItem(menu, style, -1, localizationKey, selListener);
}
public static final MenuItem addMenuItem(Menu menu, int style, int index, String localizationKey, Listener selListener)
{
if (index < 0 || index > menu.getItemCount())
index = menu.getItemCount();
MenuItem menuItem = new MenuItem(menu, style, index);
Messages.setLanguageText(menuItem, localizationKey);
KeyBindings.setAccelerator(menuItem, localizationKey);
menuItem.addListener(13, selListener);
menuItem.setData("key.menu.id", localizationKey);
return menuItem;
}
private static UIFunctionsSWT getUIFunctionSWT()
{
UIFunctionsSWT uiFunctions = UIFunctionsManagerSWT.getUIFunctionsSWT();
if (null != uiFunctions)
return uiFunctions;
else
throw new IllegalStateException("No instance of UIFunctionsSWT found; the UIFunctionsManager might not have been initialized properly");
}
private static AzureusCore getCore()
{
return AzureusCoreFactory.getSingleton();
}
private static Display getDisplay()
{
return SWTThread.getInstance().getDisplay();
}
public static void updateMenuText(Object menu)
{
if (menu == null)
return;
if (menu instanceof Menu)
{
MenuItem menus[] = ((Menu)menu).getItems();
for (int i = 0; i < menus.length; i++)
updateMenuText(menus[i]);
} else
if (menu instanceof MenuItem)
{
MenuItem item = (MenuItem)menu;
if (item.getData("key.menu.id") instanceof String)
{
String localizationKey = (String)item.getData("key.menu.id");
item.setText(MessageText.getString(localizationKey));
KeyBindings.setAccelerator(item, MessageText.resolveAcceleratorKey(localizationKey));
updateMenuText(item.getMenu());
} else
{
Messages.updateLanguageForControl(item);
}
}
}
public static void performOneTimeDisable(MenuItem item, boolean affectsChildMenuItems)
{
item.setEnabled(false);
if (affectsChildMenuItems)
{
Menu childMenu = item.getMenu();
if (childMenu == null)
return;
for (int i = 0; i < childMenu.getItemCount(); i++)
childMenu.getItem(i).setEnabled(false);
}
}
public static Menu findMenu(Menu menuToStartWith, String idToMatch)
{
if (null == menuToStartWith || menuToStartWith.isDisposed() || null == idToMatch || idToMatch.length() < 1)
return null;
if (idToMatch.equals(getID(menuToStartWith)))
return menuToStartWith;
MenuItem items[] = menuToStartWith.getItems();
for (int i = 0; i < items.length; i++)
{
MenuItem item = items[i];
Menu menuToFind = findMenu(item.getMenu(), idToMatch);
if (null != menuToFind)
return menuToFind;
}
return null;
}
public static MenuItem findMenuItem(Menu menuToStartWith, String idToMatch)
{
if (null == menuToStartWith || menuToStartWith.isDisposed() || null == idToMatch || idToMatch.length() < 1)
return null;
MenuItem items[] = menuToStartWith.getItems();
for (int i = 0; i < items.length; i++)
{
MenuItem item = items[i];
if (idToMatch.equals(getID(item)))
return item;
MenuItem menuItemToFind = findMenuItem(item.getMenu(), idToMatch);
if (null != menuItemToFind)
return menuItemToFind;
}
return null;
}
private static String getID(Widget widget)
{
if (null != widget && !widget.isDisposed())
{
Object id = widget.getData("key.menu.id");
if (null != id)
return id.toString();
}
return "";
}
public static void setEnablementKeys(Widget widget, int keys)
{
if (null != widget && !widget.isDisposed())
widget.setData("key.enablement", new Integer(keys));
}
public static int getEnablementKeys(Widget widget)
{
if (null != widget && !widget.isDisposed())
{
Object keys = widget.getData("key.enablement");
if (keys instanceof Integer)
return ((Integer)keys).intValue();
}
return -1;
}
public static void updateEnabledStates(Menu menuToStartWith)
{
if (null == menuToStartWith || menuToStartWith.isDisposed())
return;
if (!setEnablement(menuToStartWith))
return;
MenuItem items[] = menuToStartWith.getItems();
for (int i = 0; i < items.length; i++)
{
MenuItem item = items[i];
if (setEnablement(item))
updateEnabledStates(item.getMenu());
}
}
public static boolean setEnablement(Widget widget)
{
if (null != widget && !widget.isDisposed())
{
boolean isEnabled = isEnabledForCurrentMode(widget);
if (widget instanceof MenuItem)
((MenuItem)widget).setEnabled(isEnabled);
else
if (widget instanceof Menu)
((Menu)widget).setEnabled(isEnabled);
return isEnabled;
} else
{
return false;
}
}
public static boolean isEnabledForCurrentMode(Widget widget)
{
int keys = getEnablementKeys(widget);
if (keys <= 0)
return true;
if (isAZ3_ADV)
return (keys & 4) != 0;
if (isAZ3)
return (keys & 2) != 0;
else
return (keys & 1) != 0;
}
private static TableRow wrapAsRow(Object o, String table_name)
{
return new TableRow(o, table_name) {
final Object val$o;
final String val$table_name;
public Object getDataSource()
{
return o;
}
public String getTableID()
{
return table_name;
}
private void notSupported()
{
throw new RuntimeException("method is not supported - table row is a \"virtual\" one, only getDataSource and getTableID are supported.");
}
private void setForegroundDebug()
{
if (MenuFactory.DEBUG_SET_FOREGROUND)
Debug.out("setForeground on fake TableRow");
}
public void setForeground(int red, int green, int blue)
{
setForegroundDebug();
notSupported();
}
public void setForeground(int rgb[])
{
setForegroundDebug();
notSupported();
}
public void setForegroundToErrorColor()
{
setForegroundDebug();
notSupported();
}
public boolean isValid()
{
notSupported();
return false;
}
public TableCell getTableCell(String sColumnName)
{
notSupported();
return null;
}
public boolean isSelected()
{
notSupported();
return false;
}
public void addMouseListener(TableRowMouseListener listener)
{
notSupported();
}
public void removeMouseListener(TableRowMouseListener listener)
{
notSupported();
}
{
o = obj;
table_name = s;
super();
}
};
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -