📄 statsview.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: StatsView.java
package org.gudy.azureus2.ui.swt.views.stats;
import com.aelitis.azureus.core.AzureusCore;
import com.aelitis.azureus.core.AzureusCoreFactory;
import com.aelitis.azureus.core.networkmanager.admin.NetworkAdmin;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.global.GlobalManager;
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.Messages;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.mainwindow.Colors;
import org.gudy.azureus2.ui.swt.views.AbstractIView;
import org.gudy.azureus2.ui.swt.views.IView;
// Referenced classes of package org.gudy.azureus2.ui.swt.views.stats:
// ActivityView, CacheView, DHTView, TransferStatsView,
// VivaldiView
public class StatsView extends AbstractIView
{
private class UpdateThread extends Thread
{
boolean bContinue;
final StatsView this$0;
public void run()
{
bContinue = true;
_L2:
Throwable e;
if (!bContinue)
break; /* Loop/switch isn't completed */
try
{
viewActivity.periodicUpdate();
viewCache.periodicUpdate();
viewStats.periodicUpdate();
for (int i = 0; i < viewDHTs.length; i++)
viewDHTs[i].periodicUpdate();
}
// Misplaced declaration of an exception variable
catch (Throwable e)
{
Debug.printStackTrace(e);
}
Thread.sleep(1000L);
if (true) goto _L2; else goto _L1
e;
Debug.out(e);
_L1:
}
public void stopIt()
{
bContinue = false;
}
public UpdateThread()
{
this$0 = StatsView.this;
super("StatsView Update Thread");
}
}
GlobalManager manager;
AzureusCore core;
TabFolder folder;
TabItem itemActivity;
TabItem itemStats;
TabItem itemCache;
TabItem itemDHTs[];
TabItem itemVivaldis[];
ActivityView viewActivity;
TransferStatsView viewStats;
CacheView viewCache;
DHTView viewDHTs[];
IView viewVivaldis[];
UpdateThread updateThread;
public StatsView()
{
core = AzureusCoreFactory.getSingleton();
manager = core.getGlobalManager();
}
public StatsView(GlobalManager manager, AzureusCore core)
{
this.manager = manager;
this.core = core;
}
public void initialize(Composite composite)
{
folder = new TabFolder(composite, 16384);
folder.setBackground(Colors.background);
List dhts = new ArrayList();
List vivaldis = new ArrayList();
dhts.add(new DHTView(0));
vivaldis.add(new VivaldiView(0));
if (NetworkAdmin.getSingleton().hasIPV6Potential(false))
{
dhts.add(new DHTView(3));
vivaldis.add(new VivaldiView(3));
}
if (Constants.isCVSVersion())
{
dhts.add(new DHTView(1));
vivaldis.add(new VivaldiView(1));
}
viewDHTs = new DHTView[dhts.size()];
viewVivaldis = new IView[vivaldis.size()];
dhts.toArray(viewDHTs);
vivaldis.toArray(viewVivaldis);
itemActivity = new TabItem(folder, 0);
itemStats = new TabItem(folder, 0);
itemCache = new TabItem(folder, 0);
itemDHTs = new TabItem[viewDHTs.length];
for (int i = 0; i < itemDHTs.length; i++)
itemDHTs[i] = new TabItem(folder, 0);
itemVivaldis = new TabItem[viewVivaldis.length];
for (int i = 0; i < itemVivaldis.length; i++)
itemVivaldis[i] = new TabItem(folder, 0);
viewActivity = new ActivityView(manager);
viewStats = new TransferStatsView(manager, core);
viewCache = new CacheView();
Messages.setLanguageText(itemActivity, viewActivity.getData());
Messages.setLanguageText(itemStats, viewStats.getData());
Messages.setLanguageText(itemCache, viewCache.getData());
for (int i = 0; i < viewDHTs.length; i++)
{
Messages.setLanguageText(itemDHTs[i], viewDHTs[i].getData());
Messages.setLanguageText(itemVivaldis[i], viewVivaldis[i].getData());
}
TabItem items[] = {
itemActivity
};
folder.setSelection(items);
viewActivity.initialize(folder);
itemActivity.setControl(viewActivity.getComposite());
viewStats.initialize(folder);
itemStats.setControl(viewStats.getComposite());
viewCache.initialize(folder);
itemCache.setControl(viewCache.getComposite());
for (int i = 0; i < viewDHTs.length; i++)
{
viewDHTs[i].initialize(folder);
itemDHTs[i].setControl(viewDHTs[i].getComposite());
}
for (int i = 0; i < viewVivaldis.length; i++)
{
viewVivaldis[i].initialize(folder);
itemVivaldis[i].setControl(viewVivaldis[i].getComposite());
}
folder.addSelectionListener(new SelectionListener() {
final StatsView this$0;
public void widgetSelected(SelectionEvent e)
{
refresh();
}
public void widgetDefaultSelected(SelectionEvent selectionevent)
{
}
{
this$0 = StatsView.this;
super();
}
});
refresh();
viewActivity.getComposite().layout(true);
for (int i = 0; i < viewVivaldis.length; i++)
viewVivaldis[i].getComposite().layout(true);
updateThread = new UpdateThread();
updateThread.setDaemon(true);
updateThread.start();
}
public void refresh()
{
if (getComposite() == null || getComposite().isDisposed())
return;
int index;
index = folder.getSelectionIndex();
if (index == 0)
{
if (viewActivity != null && !itemActivity.isDisposed())
viewActivity.refresh();
return;
}
if (index == 1)
{
if (viewStats != null && !itemStats.isDisposed())
viewStats.refresh();
return;
}
if (index == 2)
{
if (viewCache != null && !itemCache.isDisposed())
viewCache.refresh();
return;
}
if (index - 3 < viewDHTs.length)
{
if (!itemDHTs[index - 3].isDisposed())
viewDHTs[index - 3].refresh();
return;
}
try
{
if (index - 3 - viewDHTs.length < viewVivaldis.length)
{
if (!itemVivaldis[index - 3 - viewDHTs.length].isDisposed())
viewVivaldis[index - 3 - viewDHTs.length].refresh();
return;
}
}
catch (Exception e)
{
Debug.printStackTrace(e);
}
return;
}
public void showTransfers()
{
folder.setSelection(new TabItem[] {
itemStats
});
}
public void showDHT()
{
folder.setSelection(new TabItem[] {
itemDHTs[0]
});
}
public Composite getComposite()
{
return folder;
}
public String getFullTitle()
{
return MessageText.getString("Stats.title.full");
}
public void delete()
{
updateThread.stopIt();
if (Constants.isOSX && folder != null && !folder.isDisposed())
{
TabItem items[] = folder.getItems();
for (int i = 0; i < items.length; i++)
if (!items[i].isDisposed())
items[i].dispose();
}
viewActivity.delete();
viewStats.delete();
viewCache.delete();
for (int i = 0; i < viewDHTs.length; i++)
viewDHTs[i].delete();
if (!folder.isDisposed())
Utils.disposeComposite(folder);
}
public void dataSourceChanged(Object newDataSource)
{
if (newDataSource instanceof String)
if ("dht".equals(newDataSource))
showDHT();
else
if ("transfers".equals(newDataSource))
showTransfers();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -