⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iconbar.java

📁 java 文件下载器。可自定义
💻 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 + -