package org.positrium.chikarawo;

import java.awt.PopupMenu;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.io.FileNotFoundException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * append Genkidama controller to System Tray
 * 
 * @author token , 2009 CC BY-SA
 * @version $Rev: 119 $
 * 
 */

public class MyTrayIcon extends TrayIcon implements StateChangeListener {
	public static Log logger = LogFactory.getLog(MyTrayIcon.class);

	public MyTrayIcon(String tooltip, PopupMenu popup)
			throws FileNotFoundException {
		// TODO: FileResourceに依存しない形でリソースを呼び出す
		super(Toolkit.getDefaultToolkit().getImage(
				new FileResource("resource/genkidama_initial.png").toURL()), tooltip,
				popup);
	}

	@Deprecated
	@Override
	/*
	 * @author token イベントは使われてないからDeprecated指定にしてある。<br/> genkidama ver 0.3.2
	 */
	public void serverStateChanged(StateChangeEvent e) {
		try{
		switch (e.getStatus()) {
		case INITIAL:
			super.setImage(Toolkit.getDefaultToolkit().getImage(
					new FileResource("resource/genkidama_initial.png").toURL()));
			logger.info("tray icon initial");
		case START:
			super.setImage(Toolkit.getDefaultToolkit()
					.getImage(
							new FileResource("resource/genkidama_begin.png")
									.toURL()));
			logger.info("tray icon begin");
		}
		}catch(FileNotFoundException ex){
			logger.fatal(ex);
		}
	}
}
