📄 shellmanager.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 + -