// Path: src/net/i2p/itoopie/gui/WindowHandler.java
// public class WindowHandler {
// 	private final HashSet<JFrame> _frames = new HashSet<JFrame>();
// 	private RegisteredFrame mainFrame;
// 	private boolean areFramesShown;
// 	private final ConfigurationManager _conf;
// 
// 	public WindowHandler(ConfigurationManager conf) {
// 		_conf = conf;
// 	}
// 
// 	public void register(JFrame frame){
// 		_frames.add(frame);
// 	}
// 	
// 	public void registerMain(RegisteredFrame frame){
// 		mainFrame = frame;
// 	}
// 	
// 	public void destroyMain() {
// 		if (mainFrame != null) {
// 			mainFrame.kill();
// 			_frames.remove(mainFrame);
// 			mainFrame = null;
// 		}
// 	}
// 
// 	public void deRegister(JFrame frame){
// 		// don't remove the main frame when
// 		// the user clicks on the X, so we have the updated
// 		// graph when the user clicks on the icon again
// 		if (frame == mainFrame)
// 			hideFrames();
// 		else
// 			_frames.remove(frame);
// 	}
// 	
// 	public void hideFrames(){
// 		for (JFrame frame : _frames){
// 			frame.setVisible(false);
// 		}
// 		if (mainFrame != null){
// 			mainFrame.setVisible(false);
// 		}
// 		areFramesShown = false;
// 	}
// 	
// 	public void showFrames(){
// 		for (JFrame frame : _frames){
// 			frame.setVisible(true);
// 		}
// 		if (mainFrame != null){
// 			mainFrame.setVisible(true);
// 		}
// 		areFramesShown = true;
// 	}
// 	
// 	public void toggleFrames(){
// 		if (_frames.isEmpty()){
// 			new Main(this, _conf);
// 		} else {
// 			if (areFramesShown){
// 				hideFrames();
// 			} else {
// 				showFrames();
// 			}
// 		}
// 	}
// }
// 
// Path: src/net/i2p/itoopie/util/IconLoader.java
// public class IconLoader {
// 	
//     /**
//      * Get tray icon image from the itoopie resources in the jar file.
//      * @return image used for the tray icon
//      */
//     public static Image getTrayImage() {
//         
//         // Assume square icons.
//         int icoHeight = (int) SystemTray.getSystemTray().getTrayIconSize().getHeight();
//         int desiredHeight;
//         if	(icoHeight == 16 ||
//         		icoHeight == 24 ||
//         		icoHeight == 32 ||
//         		icoHeight == 48 ||
//         		icoHeight == 64 ||
//         		icoHeight == 128 ||
//         		icoHeight == 256 ||
//         		icoHeight == 512){
//         	desiredHeight = icoHeight;
//         } else {
//         	desiredHeight = 512;
//         }
//         
//         if (IsJar.isRunningJar()){
//         	Class classurl = (new IsJarTester()).getClass();
//         	URL url = classurl.getResource("/resources/images/itoopie-"+desiredHeight+".png");
//         	return Toolkit.getDefaultToolkit().getImage(url);
//         } else {
//         	return Toolkit.getDefaultToolkit().getImage("resources/images/itoopie-"+desiredHeight+".png");
//         }
//     }
//     
//     /**
//      * Get tray icon image from the itoopie resources in the jar file.
//      * @return image used for the tray icon
//      */
//     public static Image getIcon(String iconName, int icoHeight) {
//         
//         // Assume square icons.
//         int desiredHeight;
//         if	(icoHeight == 16 ||
//         		icoHeight == 24 ||
//         		icoHeight == 32 ||
//         		icoHeight == 48 ||
//         		icoHeight == 64 ||
//         		icoHeight == 128 ||
//         		icoHeight == 256 ||
//         		icoHeight == 512){
//         	desiredHeight = icoHeight;
//         } else {
//         	desiredHeight = 512;
//         }
//         
//         if (IsJar.isRunningJar()){
//         	Class classurl = (new IsJarTester()).getClass();
//         	URL url = classurl.getResource("/resources/images/" + iconName + "-" + desiredHeight + ".png");
//         	return Toolkit.getDefaultToolkit().getImage(url);
//         } else {
//         	return Toolkit.getDefaultToolkit().getImage("resources/images/" + iconName + "-" + desiredHeight + ".png");        
//         }
//     }
// }


import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
import net.i2p.itoopie.gui.WindowHandler;
import net.i2p.itoopie.util.IconLoader;
package net.i2p.itoopie.gui.component;




public class RegisteredFrame extends JFrame implements WindowListener{
	private static final long serialVersionUID = 3351260168651061327L;
	private final WindowHandler windowHandler;

	public RegisteredFrame(String name, WindowHandler wh) {
		super(name);
		super.addWindowListener(this);
		windowHandler = wh;
		windowHandler.register(this);
// Path: src/net/i2p/itoopie/gui/WindowHandler.java
// public class WindowHandler {
// 	private final HashSet<JFrame> _frames = new HashSet<JFrame>();
// 	private RegisteredFrame mainFrame;
// 	private boolean areFramesShown;
// 	private final ConfigurationManager _conf;
// 
// 	public WindowHandler(ConfigurationManager conf) {
// 		_conf = conf;
// 	}
// 
// 	public void register(JFrame frame){
// 		_frames.add(frame);
// 	}
// 	
// 	public void registerMain(RegisteredFrame frame){
// 		mainFrame = frame;
// 	}
// 	
// 	public void destroyMain() {
// 		if (mainFrame != null) {
// 			mainFrame.kill();
// 			_frames.remove(mainFrame);
// 			mainFrame = null;
// 		}
// 	}
// 
// 	public void deRegister(JFrame frame){
// 		// don't remove the main frame when
// 		// the user clicks on the X, so we have the updated
// 		// graph when the user clicks on the icon again
// 		if (frame == mainFrame)
// 			hideFrames();
// 		else
// 			_frames.remove(frame);
// 	}
// 	
// 	public void hideFrames(){
// 		for (JFrame frame : _frames){
// 			frame.setVisible(false);
// 		}
// 		if (mainFrame != null){
// 			mainFrame.setVisible(false);
// 		}
// 		areFramesShown = false;
// 	}
// 	
// 	public void showFrames(){
// 		for (JFrame frame : _frames){
// 			frame.setVisible(true);
// 		}
// 		if (mainFrame != null){
// 			mainFrame.setVisible(true);
// 		}
// 		areFramesShown = true;
// 	}
// 	
// 	public void toggleFrames(){
// 		if (_frames.isEmpty()){
// 			new Main(this, _conf);
// 		} else {
// 			if (areFramesShown){
// 				hideFrames();
// 			} else {
// 				showFrames();
// 			}
// 		}
// 	}
// }
// 
// Path: src/net/i2p/itoopie/util/IconLoader.java
// public class IconLoader {
// 	
//     /**
//      * Get tray icon image from the itoopie resources in the jar file.
//      * @return image used for the tray icon
//      */
//     public static Image getTrayImage() {
//         
//         // Assume square icons.
//         int icoHeight = (int) SystemTray.getSystemTray().getTrayIconSize().getHeight();
//         int desiredHeight;
//         if	(icoHeight == 16 ||
//         		icoHeight == 24 ||
//         		icoHeight == 32 ||
//         		icoHeight == 48 ||
//         		icoHeight == 64 ||
//         		icoHeight == 128 ||
//         		icoHeight == 256 ||
//         		icoHeight == 512){
//         	desiredHeight = icoHeight;
//         } else {
//         	desiredHeight = 512;
//         }
//         
//         if (IsJar.isRunningJar()){
//         	Class classurl = (new IsJarTester()).getClass();
//         	URL url = classurl.getResource("/resources/images/itoopie-"+desiredHeight+".png");
//         	return Toolkit.getDefaultToolkit().getImage(url);
//         } else {
//         	return Toolkit.getDefaultToolkit().getImage("resources/images/itoopie-"+desiredHeight+".png");
//         }
//     }
//     
//     /**
//      * Get tray icon image from the itoopie resources in the jar file.
//      * @return image used for the tray icon
//      */
//     public static Image getIcon(String iconName, int icoHeight) {
//         
//         // Assume square icons.
//         int desiredHeight;
//         if	(icoHeight == 16 ||
//         		icoHeight == 24 ||
//         		icoHeight == 32 ||
//         		icoHeight == 48 ||
//         		icoHeight == 64 ||
//         		icoHeight == 128 ||
//         		icoHeight == 256 ||
//         		icoHeight == 512){
//         	desiredHeight = icoHeight;
//         } else {
//         	desiredHeight = 512;
//         }
//         
//         if (IsJar.isRunningJar()){
//         	Class classurl = (new IsJarTester()).getClass();
//         	URL url = classurl.getResource("/resources/images/" + iconName + "-" + desiredHeight + ".png");
//         	return Toolkit.getDefaultToolkit().getImage(url);
//         } else {
//         	return Toolkit.getDefaultToolkit().getImage("resources/images/" + iconName + "-" + desiredHeight + ".png");        
//         }
//     }
// }


// Path: src/net/i2p/itoopie/gui/component/RegisteredFrame.java
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
import net.i2p.itoopie.gui.WindowHandler;
import net.i2p.itoopie.util.IconLoader;

package net.i2p.itoopie.gui.component;




public class RegisteredFrame extends JFrame implements WindowListener{
	private static final long serialVersionUID = 3351260168651061327L;
	private final WindowHandler windowHandler;

	public RegisteredFrame(String name, WindowHandler wh) {
		super(name);
		super.addWindowListener(this);
		windowHandler = wh;
		windowHandler.register(this);
		this.setIconImage(IconLoader.getIcon("itoopie", 128));