001 package nl.cwi.sen1.gui.plugin;
002
003
004
005 import nl.cwi.sen1.gui.CloseAbortedException;
006 import nl.cwi.sen1.gui.Studio;
007 import nl.cwi.sen1.gui.StudioImplWithPredefinedLayout;
008 import nl.cwi.sen1.gui.StudioWithPredefinedLayout;
009 import nl.cwi.sen1.gui.component.StudioComponent;
010 import nl.cwi.sen1.gui.component.StudioComponentImpl;
011 import aterm.ATerm;
012
013 public class Progress extends DefaultStudioPlugin implements ProgressTif {
014 private static final String TOOL_NAME = "progress";
015
016 private ProgressBridge bridge;
017
018 private ProgressPanel panel;
019
020 public String getName() {
021 return TOOL_NAME;
022 }
023
024 public Progress() {
025 }
026
027 public void initStudioPlugin(Studio studio) {
028 panel = new ProgressPanel();
029
030 bridge = new ProgressBridge(studio.getATermFactory(), this);
031 bridge.setLockObject(this);
032
033 StudioComponent comp = new StudioComponentImpl("Progress", panel) {
034 public void requestClose() throws CloseAbortedException {
035 throw new CloseAbortedException();
036 }
037 };
038 studio.connect(getName(), bridge);
039 ((StudioWithPredefinedLayout) studio).addComponent(comp,
040 StudioImplWithPredefinedLayout.BOTTOM_RIGHT);
041 }
042
043 public void setStatus(ATerm id, String column, ATerm value) {
044 panel.setStatus(id, column, value.toString());
045 }
046
047 public void setMessage(ATerm id, String message) {
048 panel.setMessage(id, message);
049 }
050
051 public void removeStatus(ATerm id) {
052 panel.removeStatus(id);
053 }
054
055 public void clearStatusWindow() {
056 }
057
058 public void recTerminate(ATerm t0) {
059 fireStudioPluginClosed();
060 }
061 }