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

📄 statsview.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:   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 + -