// Carnegie Mellon University
//   Information Networking Institute and
//   School of Computer Science
//
// Master Thesis: A Monitoring Tool for Overlay Network
// By: TungFai Chan and Annie Cheng
//
// File: ImagesList.java
// Path: userInterfaces/images/
// Description: static class storing all referencing images and icons


package userInterfaces.images;

import userInterfaces.*;

import java.awt.*;
import java.awt.image.*;
import javax.swing.*;


public class ImagesList {

    final static public Image nodeImage =
                        Toolkit.getDefaultToolkit().getImage(("./userInterfaces/images/computer.gif"));
    final static public Image nodeSelectedImage =
                        Toolkit.getDefaultToolkit().getImage(("./userInterfaces/images/computer_sel.gif"));


    final static public ImageIcon monitorImage =
                        new ImageIcon(("./userInterfaces/images/flashLight.gif"));
    final static public ImageIcon openImage =
                        new ImageIcon(("./userInterfaces/images/openFile.gif"));
    final static public ImageIcon networkImage =
                        new ImageIcon(("./userInterfaces/images/network.gif"));
    final static public ImageIcon networkBigImage =
                        new ImageIcon(("./userInterfaces/images/network_big.gif"));
    final static public ImageIcon closeImage =
                        new ImageIcon(("./userInterfaces/images/closeFile.gif"));
    final static public ImageIcon relocateImage =
                        new ImageIcon(("./userInterfaces/images/relocate.gif"));
    final static public ImageIcon helpImage =
                        new ImageIcon(("./userInterfaces/images/help.gif"));
    final static public ImageIcon emptyImage =
                        new ImageIcon(("./userInterfaces/images/empty.gif"));
    final static public ImageIcon playImage =
                        new ImageIcon(("./userInterfaces/images/play.gif"));
    final static public ImageIcon pauseImage =
                        new ImageIcon(("./userInterfaces/images/pause.gif"));
    final static public ImageIcon stopImage =
                        new ImageIcon(("./userInterfaces/images/stop.gif"));
    final static public ImageIcon stepBackImage =
                        new ImageIcon(("./userInterfaces/images/stepBack.gif"));
    final static public ImageIcon stepForwardImage =
                        new ImageIcon(("./userInterfaces/images/stepForward.gif"));

    final static public ImageIcon computerImage =
                        new ImageIcon(("./userInterfaces/images/computer.gif"));
    final static public ImageIcon computerDeadImage =
                        new ImageIcon(("./userInterfaces/images/computer_dead.gif"));
    final static public ImageIcon computerLeaveImage =
                        new ImageIcon(("./userInterfaces/images/computer_leave.gif"));

    static public void waitForImagesReady(JPanel panel, MainScreen mainScreen) {
        MediaTracker mt = new MediaTracker(panel);
        try {
            mt.addImage(nodeImage, 0);
            mt.addImage(nodeSelectedImage, 1);
            mt.waitForAll();
        }
        catch (InterruptedException e) {
            mainScreen.printConsoleError("ImagesList", "waitForImagesReady",
                                         "InterruptedException", e);
        }

    }


}