📄 iconbar.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: IconBar.java
package org.gudy.azureus2.ui.swt;
import com.aelitis.azureus.ui.UIFunctions;
import com.aelitis.azureus.ui.UIFunctionsManager;
import com.aelitis.azureus.ui.swt.imageloader.ImageLoader;
import java.util.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.util.Constants;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.ui.swt.components.BufferedToolItem;
import org.gudy.azureus2.ui.swt.shells.MessageBoxShell;
// Referenced classes of package org.gudy.azureus2.ui.swt:
// IconBarEnabler, Messages, Utils, UISwitcherUtil
public class IconBar
{
public static interface IconBarListener
{
public abstract void iconBarInitialized(CoolBar coolbar, IconBar iconbar);
}
private final boolean OVERRIDE_SHOW_UISWITCHER = System.getProperty("ui.toolbar.uiswitcher", "0").equals("1");
CoolBar coolBar;
Composite parent;
Map itemKeyToControl;
IconBarEnabler currentEnabler;
private Composite cIconBar;
private static List listeners = new ArrayList(0);
private Listener listenerToolItem;
public IconBar(Composite parent)
{
this.parent = parent;
listenerToolItem = new Listener() {
final IconBar this$0;
public void handleEvent(Event e)
{
if (e.type == 13)
{
if (currentEnabler != null)
currentEnabler.itemActivated((String)e.widget.getData("key"));
} else
if (e.type == 12)
ImageLoader.getInstance().releaseImage((String)e.widget.getData("ImageID"));
}
{
this$0 = IconBar.this;
super();
}
};
cIconBar = new Composite(parent, 0);
GridLayout layout = new GridLayout(2, false);
layout.marginHeight = 0;
layout.marginWidth = 0;
layout.horizontalSpacing = 0;
layout.verticalSpacing = 0;
cIconBar.setLayout(layout);
itemKeyToControl = new HashMap();
coolBar = new CoolBar(cIconBar, Constants.isWindows ? 0x800000 : 0);
initBar();
coolBar.setLocked(true);
coolBar.setLayoutData(new GridData(768));
boolean enableUISwitcher = OVERRIDE_SHOW_UISWITCHER || COConfigurationManager.getBooleanParameter("ui.toolbar.uiswitcher") || COConfigurationManager.getBooleanParameter("ui.asked", false);
if (enableUISwitcher)
{
ToolBar tbSwitch = new ToolBar(cIconBar, 0x800000);
GridData gridData = new GridData(128);
tbSwitch.setLayoutData(gridData);
ToolItem tiSwitch = new ToolItem(tbSwitch, 8);
tiSwitch.setImage(ImageLoader.getInstance().getImage("cb_switch"));
Messages.setLanguageText(tiSwitch, "iconBar.switch.tooltip", true);
tiSwitch.addSelectionListener(new SelectionListener() {
final IconBar this$0;
public void widgetSelected(SelectionEvent e)
{
String uiOld = COConfigurationManager.getStringParameter("ui");
String uiNew = UISwitcherUtil.openSwitcherWindow(true);
if (!uiOld.equals(uiNew) && !parent.isDisposed())
{
int result = MessageBoxShell.open(parent.getShell(), MessageText.getString("dialog.uiswitcher.restart.title"), MessageText.getString("dialog.uiswitcher.restart.text"), new String[] {
MessageText.getString("UpdateWindow.restart"), MessageText.getString("UpdateWindow.restartLater")
}, 0);
if (result == 0)
{
UIFunctions uif = UIFunctionsManager.getUIFunctions();
if (uif != null)
uif.dispose(true, false);
}
}
}
public void widgetDefaultSelected(SelectionEvent selectionevent)
{
}
{
this$0 = IconBar.this;
super();
}
});
tiSwitch.addDisposeListener(new DisposeListener() {
final IconBar this$0;
public void widgetDisposed(DisposeEvent e)
{
ImageLoader.getInstance().releaseImage("cb_switch");
}
{
this$0 = IconBar.this;
super();
}
});
}
}
public void setEnabled(String itemKey, boolean enabled)
{
BufferedToolItem BufferedToolItem = (BufferedToolItem)itemKeyToControl.get(itemKey);
if (BufferedToolItem != null)
BufferedToolItem.setEnabled(enabled);
}
public void setSelection(String itemKey, boolean selection)
{
BufferedToolItem BufferedToolItem = (BufferedToolItem)itemKeyToControl.get(itemKey);
if (BufferedToolItem != null)
BufferedToolItem.setSelection(selection);
}
public void setCurrentEnabler(IconBarEnabler enabler)
{
currentEnabler = enabler;
refreshEnableItems();
}
public IconBarEnabler getCurrentEnabler()
{
return currentEnabler;
}
private void refreshEnableItems()
{
Iterator iter = itemKeyToControl.keySet().iterator();
do
{
if (!iter.hasNext())
break;
String key = (String)iter.next();
BufferedToolItem BufferedToolItem = (BufferedToolItem)itemKeyToControl.get(key);
if (BufferedToolItem != null)
if (currentEnabler != null)
{
BufferedToolItem.setEnabled(currentEnabler.isEnabled(key));
BufferedToolItem.setSelection(currentEnabler.isSelected(key));
} else
{
BufferedToolItem.setEnabled(false);
BufferedToolItem.setSelection(false);
}
} while (true);
}
private BufferedToolItem createBufferedToolItem(ToolBar toolBar, int style, String key, String imageName, String toolTipKey)
{
BufferedToolItem bufferedToolItem = new BufferedToolItem(toolBar, style);
bufferedToolItem.setData("key", key);
bufferedToolItem.setData("ImageID", key);
Messages.setLanguageText(bufferedToolItem.getWidget(), toolTipKey, true);
bufferedToolItem.setImage(ImageLoader.getInstance().getImage(imageName));
bufferedToolItem.addListener(13, listenerToolItem);
bufferedToolItem.addListener(12, listenerToolItem);
itemKeyToControl.put(key, bufferedToolItem);
return bufferedToolItem;
}
public void addItemKeyToControl(String key, BufferedToolItem item)
{
itemKeyToControl.put(key, item);
}
private void initBar()
{
CoolItem coolItem = new CoolItem(coolBar, 0);
ToolBar toolBar = new ToolBar(coolBar, 0x800000);
createBufferedToolItem(toolBar, 8, "open", "cb_open_no_default", "iconBar.open.tooltip");
createBufferedToolItem(toolBar, 8, "new", "cb_new", "iconBar.new.tooltip");
toolBar.pack();
Point p = toolBar.getSize();
coolItem.setControl(toolBar);
coolItem.setSize(coolItem.computeSize(p.x, p.y));
coolItem.setMinimumSize(p.x, p.y);
coolItem = new CoolItem(coolBar, 0);
toolBar = new ToolBar(coolBar, 0x800000);
createBufferedToolItem(toolBar, 8, "top", "cb_top", "iconBar.top.tooltip");
createBufferedToolItem(toolBar, 8, "up", "cb_up", "iconBar.up.tooltip");
createBufferedToolItem(toolBar, 8, "down", "cb_down", "iconBar.down.tooltip");
createBufferedToolItem(toolBar, 8, "bottom", "cb_bottom", "iconBar.bottom.tooltip");
new BufferedToolItem(toolBar, 2);
createBufferedToolItem(toolBar, 8, "run", "cb_run", "iconBar.run.tooltip");
new BufferedToolItem(toolBar, 2);
createBufferedToolItem(toolBar, 8, "start", "cb_start", "iconBar.start.tooltip");
createBufferedToolItem(toolBar, 8, "stop", "cb_stop", "iconBar.stop.tooltip");
createBufferedToolItem(toolBar, 8, "remove", "cb_remove", "iconBar.remove.tooltip");
new BufferedToolItem(toolBar, 2);
createBufferedToolItem(toolBar, 8, "editcolumns", "cb_editcolumns", "iconBar.editcolumns.tooltip");
for (Iterator iter = listeners.iterator(); iter.hasNext();)
try
{
IconBarListener l = (IconBarListener)iter.next();
l.iconBarInitialized(coolBar, this);
}
catch (Exception e)
{
Debug.out(e);
}
toolBar.pack();
p = toolBar.getSize();
coolItem.setControl(toolBar);
if (Constants.isOSX)
p.x += 12;
coolItem.setSize(p.x, p.y);
coolItem.setMinimumSize(p.x, p.y);
}
public void setLayoutData(Object layoutData)
{
cIconBar.setLayoutData(layoutData);
}
public static void main(String args[])
{
Display display = new Display();
Shell shell = new Shell(display);
FormLayout layout = new FormLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
shell.setLayout(layout);
IconBar ibar = new IconBar(shell);
FormData formData = new FormData();
formData.left = new FormAttachment(0, 0);
formData.right = new FormAttachment(100, 0);
ibar.setLayoutData(formData);
shell.open();
do
{
if (shell.isDisposed())
break;
if (!display.readAndDispatch())
display.sleep();
} while (true);
display.dispose();
}
public Composite getComposite()
{
return cIconBar;
}
public void delete()
{
Utils.disposeComposite(cIconBar);
itemKeyToControl.clear();
currentEnabler = null;
}
public static void addListener(IconBarListener l)
{
if (!listeners.contains(l))
listeners.add(l);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -