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

📄 shellmanager.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:   ShellManager.java

package org.gudy.azureus2.ui.swt.components.shell;

import java.util.*;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.logging.*;
import org.gudy.azureus2.ui.swt.Utils;

public class ShellManager
{

	private static ShellManager instance = new ShellManager();
	private final Collection shells = new ArrayList();
	private final List addHandlers = new LinkedList();
	private final List removeHandlers = new LinkedList();

	public ShellManager()
	{
	}

	public static final ShellManager sharedManager()
	{
		return instance;
	}

	public final void addWindow(final Shell shell)
	{
		if (shells.contains(shell))
		{
			return;
		} else
		{
			shells.add(shell);
			notifyAddListeners(shell);
			shell.addDisposeListener(new DisposeListener() {

				final Shell val$shell;
				final ShellManager this$0;

				public void widgetDisposed(DisposeEvent event)
				{
					try
					{
						removeWindow(shell);
					}
					catch (Exception e)
					{
						Logger.log(new LogEvent(LogIDs.GUI, "removeWindow", e));
					}
				}

			
			{
				this$0 = ShellManager.this;
				shell = shell1;
				super();
			}
			});
			shell.addListener(22, new Listener() {

				final Shell val$shell;
				final ShellManager this$0;

				public void handleEvent(Event event)
				{
					Utils.verifyShellRect(shell, false);
				}

			
			{
				this$0 = ShellManager.this;
				shell = shell1;
				super();
			}
			});
			return;
		}
	}

	public final void removeWindow(Shell shell)
	{
		shells.remove(shell);
		notifyRemoveListeners(shell);
	}

	public final Iterator getWindows()
	{
		return shells.iterator();
	}

	public final boolean isEmpty()
	{
		return shells.isEmpty();
	}

	public final int getSize()
	{
		return shells.size();
	}

	public final void performForShells(Listener command)
	{
		Iterator iter = shells.iterator();
		for (int i = 0; i < shells.size(); i++)
		{
			Shell aShell = (Shell)iter.next();
			Event evt = new Event();
			evt.widget = aShell;
			evt.data = this;
			command.handleEvent(evt);
		}

	}

	protected final Collection getManagedShellSet()
	{
		return shells;
	}

	public final void addWindowAddedListener(Listener listener)
	{
		addHandlers.add(listener);
	}

	public final void removeWindowAddedListener(Listener listener)
	{
		addHandlers.remove(listener);
	}

	public final void addWindowRemovedListener(Listener listener)
	{
		removeHandlers.add(listener);
	}

	public final void removeWindowRemovedListener(Listener listener)
	{
		removeHandlers.remove(listener);
	}

	protected final void notifyAddListeners(Shell sender)
	{
		Iterator iter = addHandlers.iterator();
		for (int i = 0; i < addHandlers.size(); i++)
			((Listener)iter.next()).handleEvent(getSWTEvent(sender));

	}

	protected final void notifyRemoveListeners(Shell sender)
	{
		Iterator iter = removeHandlers.iterator();
		for (int i = 0; i < removeHandlers.size(); i++)
			((Listener)iter.next()).handleEvent(getSWTEvent(sender));

	}

	protected Event getSWTEvent(Shell shell)
	{
		Event e = new Event();
		e.widget = shell;
		e.item = shell;
		return e;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -