📄 pluginsmenuhelper.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: PluginsMenuHelper.java
package org.gudy.azureus2.ui.swt.mainwindow;
import com.aelitis.azureus.ui.swt.UIFunctionsManagerSWT;
import com.aelitis.azureus.ui.swt.UIFunctionsSWT;
import java.util.*;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.util.AEMonitor;
import org.gudy.azureus2.core3.util.AERunnable;
import org.gudy.azureus2.ui.common.util.MenuItemManager;
import org.gudy.azureus2.ui.swt.MenuBuildUtils;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.plugins.UISWTViewEventListener;
import org.gudy.azureus2.ui.swt.pluginsimpl.BasicPluginViewImpl;
import org.gudy.azureus2.ui.swt.views.AbstractIView;
// Referenced classes of package org.gudy.azureus2.ui.swt.mainwindow:
// MenuFactory
public class PluginsMenuHelper
{
public static class IViewInfo
{
public AbstractIView view;
public String name;
public String viewID;
public UISWTViewEventListener event_listener;
public void openView(UIFunctionsSWT uiFunctions)
{
if (event_listener != null)
uiFunctions.openPluginView("Main", viewID, event_listener, null, true);
else
uiFunctions.openPluginView(view, name);
}
public IViewInfo()
{
}
}
public static interface PluginAddedViewListener
{
public abstract void pluginViewAdded(IViewInfo iviewinfo);
}
private static PluginsMenuHelper INSTANCE = null;
private AEMonitor plugin_helper_mon;
private Map plugin_view_info_map;
private Map plugin_logs_view_info_map;
private List pluginAddedViewListener;
private PluginsMenuHelper()
{
plugin_helper_mon = new AEMonitor("plugin_helper_mon");
plugin_view_info_map = new TreeMap();
plugin_logs_view_info_map = new TreeMap();
pluginAddedViewListener = new ArrayList();
}
public static PluginsMenuHelper getInstance()
{
if (null == INSTANCE)
INSTANCE = new PluginsMenuHelper();
return INSTANCE;
}
public void buildPluginMenu(Menu pluginMenu, Shell parent, boolean includeGetPluginsMenu)
{
plugin_helper_mon.enter();
createIViewInfoMenuItems(pluginMenu, plugin_view_info_map);
MenuItem menu_plugin_logViews = MenuFactory.addLogsViewMenuItem(pluginMenu);
createIViewInfoMenuItems(menu_plugin_logViews.getMenu(), plugin_logs_view_info_map);
plugin_helper_mon.exit();
break MISSING_BLOCK_LABEL_57;
Exception exception;
exception;
plugin_helper_mon.exit();
throw exception;
MenuFactory.addSeparatorMenuItem(pluginMenu);
org.gudy.azureus2.plugins.ui.menus.MenuItem plugin_items[] = MenuItemManager.getInstance().getAllAsArray("mainmenu");
if (plugin_items.length > 0)
{
MenuBuildUtils.addPluginMenuItems(parent, plugin_items, pluginMenu, true, true, MenuBuildUtils.BASIC_MENU_ITEM_CONTROLLER);
MenuFactory.addSeparatorMenuItem(pluginMenu);
}
MenuFactory.addPluginInstallMenuItem(pluginMenu);
MenuFactory.addPluginUnInstallMenuItem(pluginMenu);
if (includeGetPluginsMenu)
MenuFactory.addGetPluginsMenuItem(pluginMenu);
return;
}
public void addPluginView(String sViewID, UISWTViewEventListener l)
{
IViewInfo view_info;
String name;
Map map_to_use;
view_info = new IViewInfo();
view_info.viewID = sViewID;
view_info.event_listener = l;
String sResourceID = (new StringBuilder()).append("Views.plugins.").append(sViewID).append(".title").toString();
boolean bResourceExists = MessageText.keyExists(sResourceID);
if (bResourceExists)
{
name = MessageText.getString(sResourceID);
} else
{
sResourceID = sViewID;
bResourceExists = MessageText.keyExists(sResourceID);
if (bResourceExists)
name = MessageText.getString(sResourceID);
else
name = sViewID.replace('.', ' ');
}
view_info.name = name;
map_to_use = (l instanceof BasicPluginViewImpl) ? plugin_logs_view_info_map : plugin_view_info_map;
plugin_helper_mon.enter();
map_to_use.put(name, view_info);
plugin_helper_mon.exit();
break MISSING_BLOCK_LABEL_167;
Exception exception;
exception;
plugin_helper_mon.exit();
throw exception;
triggerPluginAddedViewListeners(view_info);
return;
}
private void removePluginViewsWithID(String sViewID, Map map)
{
if (sViewID == null)
return;
Iterator itr = map.values().iterator();
IViewInfo view_info = null;
do
{
if (!itr.hasNext())
break;
view_info = (IViewInfo)itr.next();
if (sViewID.equals(view_info.viewID))
itr.remove();
} while (true);
}
public void removePluginViews(final String sViewID)
{
plugin_helper_mon.enter();
removePluginViewsWithID(sViewID, plugin_view_info_map);
removePluginViewsWithID(sViewID, plugin_logs_view_info_map);
plugin_helper_mon.exit();
break MISSING_BLOCK_LABEL_45;
Exception exception;
exception;
plugin_helper_mon.exit();
throw exception;
Utils.execSWTThread(new AERunnable() {
final String val$sViewID;
final PluginsMenuHelper this$0;
public void runSupport()
{
UIFunctionsSWT uiFunctions = UIFunctionsManagerSWT.getUIFunctionsSWT();
if (uiFunctions != null)
uiFunctions.closePluginViews(sViewID);
}
{
this$0 = PluginsMenuHelper.this;
sViewID = s;
super();
}
});
return;
}
public void addPluginView(AbstractIView view, String name)
{
IViewInfo view_info;
view_info = new IViewInfo();
view_info.name = name;
view_info.view = view;
plugin_helper_mon.enter();
plugin_view_info_map.put(name, view_info);
plugin_helper_mon.exit();
break MISSING_BLOCK_LABEL_59;
Exception exception;
exception;
plugin_helper_mon.exit();
throw exception;
triggerPluginAddedViewListeners(view_info);
return;
}
public void removePluginView(final AbstractIView view, String name)
{
IViewInfo view_info = null;
plugin_helper_mon.enter();
view_info = (IViewInfo)plugin_view_info_map.remove(name);
plugin_helper_mon.exit();
break MISSING_BLOCK_LABEL_45;
Exception exception;
exception;
plugin_helper_mon.exit();
throw exception;
if (view_info != null)
Utils.execSWTThread(new AERunnable() {
final AbstractIView val$view;
final PluginsMenuHelper this$0;
public void runSupport()
{
UIFunctionsSWT uiFunctions = UIFunctionsManagerSWT.getUIFunctionsSWT();
if (uiFunctions != null)
uiFunctions.closePluginView(view);
}
{
this$0 = PluginsMenuHelper.this;
view = abstractiview;
super();
}
});
return;
}
private void createIViewInfoMenuItem(Menu parent, final IViewInfo info)
{
MenuItem item = new MenuItem(parent, 0);
item.setText(info.name);
if (info.viewID != null)
item.setData("ViewID", info.viewID);
item.addListener(13, new Listener() {
final IViewInfo val$info;
final PluginsMenuHelper this$0;
public void handleEvent(Event e)
{
UIFunctionsSWT uiFunctions = UIFunctionsManagerSWT.getUIFunctionsSWT();
if (uiFunctions != null)
info.openView(uiFunctions);
}
{
this$0 = PluginsMenuHelper.this;
info = iviewinfo;
super();
}
});
}
private void createIViewInfoMenuItems(Menu parent, Map menu_data)
{
for (Iterator itr = menu_data.values().iterator(); itr.hasNext(); createIViewInfoMenuItem(parent, (IViewInfo)itr.next()));
}
public IViewInfo[] getPluginViewsInfo()
{
return (IViewInfo[])(IViewInfo[])plugin_view_info_map.values().toArray(new IViewInfo[0]);
}
public IViewInfo[] getPluginLogViewsInfo()
{
return (IViewInfo[])(IViewInfo[])plugin_logs_view_info_map.values().toArray(new IViewInfo[0]);
}
public void addPluginAddedViewListener(PluginAddedViewListener l)
{
pluginAddedViewListener.add(l);
}
public void triggerPluginAddedViewListeners(IViewInfo viewInfo)
{
Object listeners[] = pluginAddedViewListener.toArray();
for (int i = 0; i < listeners.length; i++)
{
PluginAddedViewListener l = (PluginAddedViewListener)listeners[i];
l.pluginViewAdded(viewInfo);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -