// **********************************************************************
//
// <copyright>
//
// BBN Technologies
// 10 Moulton Street
// Cambridge, MA 02138
// (617) 873-8000
//
// Copyright (C) BBNT Solutions LLC. All rights reserved.
//
// </copyright>
// **********************************************************************
//
// $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/gui/time/HotwashTimerControlButtonPanel.java,v $
// $RCSfile: HotwashTimerControlButtonPanel.java,v $
// $Revision: 1.1 $
// $Date: 2007/09/25 17:31:26 $
// $Author: dietrick $
//
// **********************************************************************
package com.bbn.openmap.gui.time;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JToolBar;
import com.bbn.openmap.time.RealTimeHandler;
import com.bbn.openmap.time.TimerStatus;
import com.bbn.openmap.util.Debug;
import com.bbn.openmap.util.PropUtils;
/**
* The TimerControlButtonPanel provides control for starting and stopping a
* clock contained in a RealTimeHandler. This class also has provisions for
* having the clock run the reverse direction, and for stepping the clock
* forward and backward one interval.
*/
public class HotwashTimerControlButtonPanel extends TimerControlButtonPanel {
JButton forwardStepButton;
JButton backwardStepButton;
public HotwashTimerControlButtonPanel() {
}
public HotwashTimerControlButtonPanel(RealTimeHandler rth) {
super(rth);
}
/**
* Set the ImageIcons to whatever is set on the URL variables. Sets the
* running icon to be the pressed icon, and makes the stopped and inactive
* icons.
*/
public void initGUI() {
removeAll();
try {
URL url = PropUtils.getResourceOrFileOrURL(TimerControlButtonPanel.class,
forwardIconURL);
forwardIcon = new ImageIcon(url);
url = PropUtils.getResourceOrFileOrURL(TimerControlButtonPanel.class,
forwardStepIconURL);
forwardStepIcon = new ImageIcon(url);
url = PropUtils.getResourceOrFileOrURL(TimerControlButtonPanel.class,
backwardIconURL);
backwardIcon = new ImageIcon(url);
url = PropUtils.getResourceOrFileOrURL(TimerControlButtonPanel.class,
backwardStepIconURL);
backwardStepIcon = new ImageIcon(url);
url = PropUtils.getResourceOrFileOrURL(TimerControlButtonPanel.class,
pauseIconURL);
pauseIcon = new ImageIcon(url);
} catch (MalformedURLException murle) {
Debug.error("TimerToggleButton: initGUI() bad icon.");
} catch (NullPointerException npe) {
Debug.error("TimerToggleButton: initGUI() bad icon.");
npe.printStackTrace();
}
JToolBar jtb = new JToolBar();
jtb.setFloatable(false);
backwardButton = new JButton(backwardIcon);
backwardButton.setToolTipText("Run Timer Backwards");
backwardButton.setActionCommand(TimerStatus.TIMER_BACKWARD);
backwardButton.addActionListener(this);
// jtb.add(backwardButton);
forwardStepButton = new JButton(backwardStepIcon);
forwardStepButton.setToolTipText("Step Timer Backward");
forwardStepButton.setActionCommand(TimerStatus.TIMER_STEP_BACKWARD);
forwardStepButton.addActionListener(this);
jtb.add(forwardStepButton);
forwardButton = new JButton(forwardIcon);
forwardButton.setToolTipText("Run Timer Forward");
forwardButton.setActionCommand(TimerStatus.TIMER_FORWARD);
forwardButton.addActionListener(this);
jtb.add(forwardButton);
backwardStepButton = new JButton(forwardStepIcon);
backwardStepButton.setToolTipText("Step Timer Forward");
backwardStepButton.setActionCommand(TimerStatus.TIMER_STEP_FORWARD);
backwardStepButton.addActionListener(this);
jtb.add(backwardStepButton);
add(jtb);
}
public void enableForwardButton(boolean set) {
forwardButton.setEnabled(set && clockEnabled);
}
public void enableBackwardButton(boolean set) {
backwardButton.setEnabled(set && clockEnabled);
}
public void setEnableState(boolean set) {
super.setEnableState(set);
forwardStepButton.setEnabled(set);
backwardStepButton.setEnabled(set);
}
}