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

📄 piecesview.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:   PiecesView.java

package org.gudy.azureus2.ui.swt.views;

import com.aelitis.azureus.ui.common.table.*;
import org.eclipse.swt.widgets.Composite;
import org.gudy.azureus2.core3.download.*;
import org.gudy.azureus2.core3.peer.*;
import org.gudy.azureus2.ui.swt.components.Legend;
import org.gudy.azureus2.ui.swt.views.piece.MyPieceDistributionView;
import org.gudy.azureus2.ui.swt.views.piece.PieceInfoView;
import org.gudy.azureus2.ui.swt.views.table.TableViewSWT;
import org.gudy.azureus2.ui.swt.views.table.impl.TableViewSWTImpl;
import org.gudy.azureus2.ui.swt.views.table.impl.TableViewTab;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.AvailabilityItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.BlockCountItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.BlocksItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.CompletedItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.PieceNumberItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.PriorityItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.RequestedItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.ReservedByItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.SizeItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.SpeedItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.TypeItem;
import org.gudy.azureus2.ui.swt.views.tableitems.pieces.WritersItem;

// Referenced classes of package org.gudy.azureus2.ui.swt.views:
//			IView

public class PiecesView extends TableViewTab
	implements DownloadManagerPeerListener, DownloadManagerPieceListener, TableDataSourceChangedListener, TableLifeCycleListener
{

	private static final TableColumnCore basicItems[] = {
		new PieceNumberItem(), new SizeItem(), new BlockCountItem(), new BlocksItem(), new CompletedItem(), new AvailabilityItem(), new TypeItem(), new ReservedByItem(), new WritersItem(), new PriorityItem(), 
		new SpeedItem(), new RequestedItem()
	};
	DownloadManager manager;
	private TableViewSWTImpl tv;
	private Composite legendComposite;
	private PieceInfoView pieceInfoView;
	private MyPieceDistributionView pieceDistView;

	public PiecesView()
	{
		tv = new TableViewSWTImpl("Pieces", "PiecesView", basicItems, basicItems[0].getName(), 0x10010004);
		setTableView(tv);
		tv.setEnableTabViews(true);
		pieceInfoView = new PieceInfoView();
		pieceDistView = new MyPieceDistributionView();
		tv.setCoreTabViews(new IView[] {
			pieceInfoView, pieceDistView
		});
		tv.addTableDataSourceChangedListener(this, true);
		tv.addLifeCycleListener(this);
	}

	public void tableDataSourceChanged(Object newDataSource)
	{
		if (manager != null)
		{
			manager.removePeerListener(this);
			manager.removePieceListener(this);
		}
		if (newDataSource == null)
			manager = null;
		else
		if (newDataSource instanceof Object[])
			manager = (DownloadManager)((Object[])(Object[])newDataSource)[0];
		else
			manager = (DownloadManager)newDataSource;
		if (manager != null)
		{
			manager.addPeerListener(this, false);
			manager.addPieceListener(this, false);
			addExistingDatasources();
		}
		if (pieceInfoView != null)
			pieceInfoView.dataSourceChanged(manager);
		if (pieceDistView != null)
			pieceDistView.dataSourceChanged(manager);
	}

	public void tableViewInitialized()
	{
		if (legendComposite != null && (tv instanceof TableViewSWT))
		{
			Composite composite = tv.getTableComposite();
			legendComposite = Legend.createLegendComposite(composite, BlocksItem.colors, new String[] {
				"PiecesView.legend.requested", "PiecesView.legend.written", "PiecesView.legend.downloaded", "PiecesView.legend.incache"
			});
		}
		if (manager != null)
		{
			manager.removePeerListener(this);
			manager.removePieceListener(this);
			manager.addPeerListener(this, false);
			manager.addPieceListener(this, false);
			addExistingDatasources();
		}
	}

	public void tableViewDestroyed()
	{
		if (legendComposite != null && legendComposite.isDisposed())
			legendComposite.dispose();
		if (manager != null)
		{
			manager.removePeerListener(this);
			manager.removePieceListener(this);
		}
	}

	public void pieceAdded(PEPiece created)
	{
		tv.addDataSource(created);
	}

	public void pieceRemoved(PEPiece removed)
	{
		tv.removeDataSource(removed);
	}

	public void peerAdded(PEPeer pepeer)
	{
	}

	public void peerRemoved(PEPeer pepeer)
	{
	}

	public void peerManagerWillBeAdded(PEPeerManager pepeermanager)
	{
	}

	public void peerManagerAdded(PEPeerManager pepeermanager)
	{
	}

	public void peerManagerRemoved(PEPeerManager manager)
	{
		tv.removeAllTableRows();
	}

	private void addExistingDatasources()
	{
		if (manager == null || tv.isDisposed())
			return;
		Object dataSources[] = manager.getCurrentPieces();
		if (dataSources == null || dataSources.length == 0)
		{
			return;
		} else
		{
			tv.addDataSources(dataSources);
			tv.processDataSourceQueue();
			return;
		}
	}

	public DownloadManager getManager()
	{
		return manager;
	}

}

⌨️ 快捷键说明

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