package com.aelitis.azureus.plugins.chat.ui; ///* // * Created on 2 mars 2005 // * Created by Olivier Chalouhi // * // * Copyright (C) 2004 Aelitis SARL, All rights Reserved // * // * This program is free software; you can redistribute it and/or modify // * it under the terms of the GNU General Public License as published by // * the Free Software Foundation; either version 2 of the License. // * // * This program is distributed in the hope that it will be useful, // * but WITHOUT ANY WARRANTY; without even the implied warranty of // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // * GNU General Public License for more details ( see the LICENSE file ). // * // * You should have received a copy of the GNU General Public License // * along with this program; if not, write to the Free Software // * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // * // * AELITIS, SARL au capital de 30,000 euros, // * 8 Allee Lenotre, La Grille Royale, 78600 Le Mesnil le Roi, France. // */ //package com.aelitis.azureus.plugins.chat.ui; // //import java.util.HashMap; //import java.util.Map; //import org.gudy.azureus2.plugins.download.Download; //import org.gudy.azureus2.plugins.ui.Graphic; //import org.gudy.azureus2.plugins.ui.tables.TableCell; //import org.gudy.azureus2.plugins.ui.tables.TableCellRefreshListener; //import org.gudy.azureus2.ui.swt.plugins.UISWTInstance; // //import com.aelitis.azureus.plugins.chat.ChatPlugin; //import com.aelitis.azureus.plugins.chat.messaging.MessageListener; //import com.aelitis.azureus.plugins.chat.peer.PeerController; // //public class MyTorrentsActivityIndicator implements TableCellRefreshListener, MessageListener { // // PeerController controller; // UISWTInstance swt_ui; // Map downloadsToActivity; // // private static final Integer STATUS_INACTIVE = new Integer(0); // private static final Integer STATUS_ACTIVE = new Integer(1); // private static final Integer STATUS_ACTIVITY = new Integer(2); // // private Graphic gInactive; // private Graphic gActive; // private Graphic gActivity; // // public MyTorrentsActivityIndicator(ChatPlugin plugin,PeerController controller, UISWTInstance _swtui) { // this.swt_ui = _swtui; // this.controller = controller; // controller.addMessageListener(this); // downloadsToActivity = new HashMap(); // // gInactive = swt_ui.createGraphic(plugin.imgInactive); // gActive = swt_ui.createGraphic(plugin.imgActive); // gActivity = swt_ui.createGraphic(plugin.imgActivity); // // } // // public void refresh(TableCell cell) { // Object dataSource = cell.getDataSource(); // if (dataSource == null || ! (dataSource instanceof Download)) { // return; //opps something went wrong // } // Download download = (Download) dataSource; // // Integer status = (Integer) downloadsToActivity.get(download); // if(status == null) status = STATUS_INACTIVE; // // //int nStatus = status.intValue(); // if (!cell.setSortValue(status) && cell.isValid()) // return; // // if(status == STATUS_ACTIVE) { // cell.setGraphic(gActive); // cell.setToolTip("You are connected to at least one other peer using the Chat plugin"); // } // // // if(status == STATUS_ACTIVITY) { // cell.setGraphic(gActivity); // cell.setToolTip("A message just arrived"); // } // // // if(status == STATUS_INACTIVE) { // cell.setGraphic(gInactive); // cell.setToolTip("This torrent chat is not active"); // } // // // if(status == STATUS_ACTIVITY) { // downloadsToActivity.put(download,STATUS_ACTIVE); // } // // } // // public void downloadAdded(Download download) { // downloadsToActivity.put(download,STATUS_INACTIVE); // } // // public void downloadRemoved(Download download) { // downloadsToActivity.remove(download); // } // // public void downloadActive(Download download) { // downloadsToActivity.put(download,STATUS_ACTIVE); // } // // public void downloadInactive(Download download) { // downloadsToActivity.put(download,STATUS_INACTIVE); // } // // public void messageReceived(Download download,byte[] sender,String nick,String text) { // Integer status = (Integer) downloadsToActivity.get(download); // if(status == STATUS_ACTIVE) // downloadsToActivity.put(download,STATUS_ACTIVITY); // } // // //}