Files
eva2/src/javaeva/gui/JModuleGeneralPanel.java
2007-12-11 16:38:11 +00:00

205 lines
6.0 KiB
Java

package javaeva.gui;
/*
* Title: JavaEvA
* Description:
* Copyright: Copyright (c) 2003
* Company: University of Tuebingen, Computer Architecture
* @author Holger Ulmer, Felix Streichert, Hannes Planatscher
* @version: $Revision: 284 $
* $Date: 2007-11-27 14:37:05 +0100 (Tue, 27 Nov 2007) $
* $Author: mkron $
*/
/*==========================================================================*
* IMPORTS
*==========================================================================*/
import java.io.Serializable;
import java.net.InetAddress;
import javaeva.server.modules.ModuleAdapter;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JPanel;
import wsi.ra.jproxy.RMIProxyLocal;
import wsi.ra.jproxy.RemoteStateListener;
/*==========================================================================*
* CLASS DECLARATION
*==========================================================================*/
/**
*
*/
public class JModuleGeneralPanel implements RemoteStateListener, Serializable {
public static boolean TRACE = false;
private String m_Name ="undefined";
private ModuleAdapter m_Adapter;
private boolean m_State;
private JButton m_RunButton;
// private JButton m_RestartButton;
private JButton m_actStop;
// private JButton m_actExitMod;
private JButton m_JHelpButton;
private JPanel m_Panel;
private String m_HelperFileName;
/**
*
*/
public JModuleGeneralPanel(ModuleAdapter Adapter, boolean state) {
m_Name = "GENERAL";
m_State = state;
if (TRACE) System.out.println("Constructor JModuleGeneralPanel:");
m_Adapter = Adapter;
}
/**
*
*/
public JComponent installActions() {
String myhostname = null;
m_Panel= new JPanel();
if(TRACE) System.out.println("JModuleGeneral.installAction()");
if (m_Adapter.hasConnection()) { // we might be in rmi mode
try {
myhostname = InetAddress.getLocalHost().getHostName();
} catch (Exception e) {
System.err.println("ERROR getting myhostname "+e.getMessage());
}
}
if (!m_Adapter.hasConnection()) {
m_Adapter.addRemoteStateListener((RemoteStateListener)(this));
} else {// there is a network RMI connection
m_Adapter.addRemoteStateListener((RemoteStateListener)RMIProxyLocal.newInstance(this));
}
//////////////////////////////////////////////////////////////
m_RunButton= new JButton("Start Optimization");
m_RunButton.setToolTipText("Start the current optimization run.");
//System.out.println("Start tm_RunButton.addActionListener Run Opt pressed ====================!!!!!!!!!!!!!!!!!!");
m_RunButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
//System.out.println("Run Opt pressed !!!!!!!!!!!!!!!!======================!!");
try {
m_Adapter.startOpt();
m_actStop.setEnabled(true);
m_RunButton.setEnabled(false);
// m_RestartButton.setEnabled(false);
m_JHelpButton.setEnabled(true);
} catch (Exception ee) {
ee.printStackTrace();
System.out.print ("Error in run: " +ee +" : " + ee.getMessage() );
}
}
}
);
if (m_State == false )
m_RunButton.setEnabled(true);
else
m_RunButton.setEnabled(false);
m_Panel.add(m_RunButton);
// m_Panel.setBorder(BorderFactory.createTitledBorder("general action buttons"));
// //////////////////////////////////////////////////////////////
// m_RestartButton= new JButton("Restart Optimization");
// m_RestartButton.setToolTipText("Restart the current optimization run.");
// m_RestartButton.addActionListener(new ActionListener() {
// public void actionPerformed(ActionEvent e){
// try {
// m_Adapter.restartOpt();
// m_actStop.setEnabled(true);
// m_RunButton.setEnabled(false);
// m_RestartButton.setEnabled(false);
// } catch (Exception ee) {
// ee.printStackTrace();
// System.out.println("Error in run: " +ee +" : " + ee.getMessage() );
// }
// }
// }
// );
// if (m_State == false )
// m_RestartButton.setEnabled(false);
// else
// m_RestartButton.setEnabled(false);
// m_Panel.add(m_RestartButton);
//////////////////////////////////////////////////////////////
m_actStop= new JButton("Stop");
m_actStop.setToolTipText("Stop the current optimization run.");
m_actStop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
try {
m_Adapter.stopOpt(); // this means user break
} catch (Exception ee) { System.out.print ("Error in stop: " + ee.getMessage() ); }
}
}
);
// if (m_State == false )
// m_RestartButton.setEnabled(false);
// else
// m_RestartButton.setEnabled(true);
m_Panel.add(m_actStop);
if (m_HelperFileName.equals("")== false) {
m_JHelpButton= new JButton("Description");
m_JHelpButton.setToolTipText("Description of the current optimization algorithm.");
m_JHelpButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
//System.out.println("Run Opt pressed !!!!!!!!!!!!!!!!======================!!");
try {
if (m_HelperFileName!=null) {
HtmlDemo temp = new HtmlDemo(m_HelperFileName);
temp.show();
}
m_JHelpButton.setEnabled(true);
} catch (Exception ee) {
ee.printStackTrace();
System.out.print ("Error in run: " +ee +" : " + ee.getMessage() );
}
}
}
);
m_Panel.add(m_JHelpButton);
}
// m_actExitMod = new JButton("Exit Module");
// m_actExitMod.setToolTipText("todo !!.");// TODO
return m_Panel;
}
/**
*
*/
public void performedStop() {
if (TRACE) System.out.println("JModuleGeneralPanel.stopOptPerformed");
m_RunButton.setEnabled(true);
// m_RestartButton.setEnabled(true);
m_RunButton.repaint();
m_actStop.setEnabled(false);
m_Panel.repaint();
}
public void performedStart(String infoString) {
}
public void performedRestart(String infoString) {
}
public void updateProgress(final int percent) {
}
/**
*
*/
public String getName() {
return m_Name;
}
/**
*
*/
public void setHelperFilename (String s) {
m_HelperFileName = s;
}
}