/*
 * @(#) UIMainFrame.java  1.10 10/09/02
 *
 * Copyright ***,  All Rights Reserved.
 * 
 * This software is the proprietary information of ********  
 * Use is subject to license terms.
 * 
 */

//package nbuilder;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

/**
 * This class handles the About dialog box implementation
 */
public class UIMainFrame_AboutBox extends JDialog implements ActionListener {

  JPanel panel1 = new JPanel();
  JPanel panel2 = new JPanel();
  JPanel insetsPanel1 = new JPanel();
  JPanel insetsPanel2 = new JPanel();
  JPanel insetsPanel3 = new JPanel();
  JButton button1 = new JButton();
  JLabel imageControl1 = new JLabel();
  ImageIcon imageIcon;
  JLabel label1 = new JLabel();
  JLabel label2 = new JLabel();
  JLabel label3 = new JLabel();
  JLabel label4 = new JLabel();
  BorderLayout borderLayout1 = new BorderLayout();
  BorderLayout borderLayout2 = new BorderLayout();
  FlowLayout flowLayout1 = new FlowLayout();
  FlowLayout flowLayout2 = new FlowLayout();
  GridLayout gridLayout1 = new GridLayout();
  String product = "Network Builder";
  String version = "Version 1.0";
  String copyright = "ISIP 2003";
  String comments = "";

    /**
     * default class constructor
     * 
     * @param parent the Frame from which the dialog is displayed
     */
    public UIMainFrame_AboutBox(Frame parent) {
	super(parent, "about", true);
	enableEvents(AWTEvent.WINDOW_EVENT_MASK);
	try  {
	    jbInit();
	}
	catch(Exception e) {
	    e.printStackTrace();
	}
	imageControl1.setIcon(imageIcon);
	pack();
    }
    
    private void jbInit() throws Exception  {
	imageIcon = new ImageIcon( CData.ABOUT_IMAGE);
	this.setTitle("About");
	setResizable(false);
	panel1.setLayout(borderLayout1);
	panel2.setLayout(borderLayout2);
	insetsPanel1.setLayout(flowLayout1);
	insetsPanel2.setLayout(flowLayout1);
	insetsPanel2.setBorder(new EmptyBorder(10, 10, 10, 10));
	gridLayout1.setRows(4);
	gridLayout1.setColumns(1);
	label1.setText(product);
	label2.setText(version);
	label3.setText(copyright);
	label4.setText(comments);
	insetsPanel3.setLayout(gridLayout1);
	insetsPanel3.setBorder(new EmptyBorder(10, 60, 10, 10));
	button1.setText("OK");
	button1.addActionListener(this);
	insetsPanel2.add(imageControl1, null);
	panel2.add(insetsPanel2, BorderLayout.WEST);
	//    this.getContentPane().add(panel1, null);
	this.getContentPane().add(panel1, BorderLayout.CENTER);
	insetsPanel3.add(label1, null);
	insetsPanel3.add(label2, null);
	insetsPanel3.add(label3, null);
	insetsPanel3.add(label4, null);
	panel2.add(insetsPanel3, BorderLayout.CENTER);
	insetsPanel1.add(button1, null);
	panel1.add(insetsPanel1, BorderLayout.SOUTH);
	panel1.add(panel2, BorderLayout.NORTH);
	panel1.setVisible(true);
    }
    
    protected void processWindowEvent(WindowEvent e) {
	if(e.getID() == WindowEvent.WINDOW_CLOSING) {
	    cancel();
	}
	super.processWindowEvent(e);
    }
    
    /**
     * calls dispose method
     */
    public void cancel() {
	dispose();
    }
    
    /**
     * action handler of class, calls cancel method if button1 is clicked
     *
     * @param e action that calls method
     */
    public void actionPerformed(ActionEvent e) {
	if(e.getSource() == button1) {
	    cancel();
	}
    }
} 
