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 }