JAL-535 interface for GUI state update methods that the AlignViewController can call
authorJim Procter <jprocter@compbio.dundee.ac.uk>
Mon, 17 Feb 2014 18:07:16 +0000 (18:07 +0000)
committerJim Procter <jprocter@compbio.dundee.ac.uk>
Mon, 17 Feb 2014 18:10:03 +0000 (18:10 +0000)
src/jalview/api/AlignViewControllerGuiI.java [new file with mode: 0644]
src/jalview/appletgui/AlignFrame.java
src/jalview/controller/AlignViewController.java
src/jalview/gui/AlignFrame.java

diff --git a/src/jalview/api/AlignViewControllerGuiI.java b/src/jalview/api/AlignViewControllerGuiI.java
new file mode 100644 (file)
index 0000000..1d150af
--- /dev/null
@@ -0,0 +1,16 @@
+package jalview.api;
+/**
+ * Interface implemented by gui implementations managing a Jalview Alignment View
+ * @author jimp
+ *
+ */
+public interface AlignViewControllerGuiI
+{
+
+  /**
+   * display the given string in the GUI's status bar
+   * @param string
+   */
+  void setStatus(String string);
+
+}
index 47d3001..638a68f 100644 (file)
@@ -20,6 +20,7 @@ package jalview.appletgui;
 
 import jalview.analysis.AlignmentSorter;
 import jalview.analysis.Conservation;
+import jalview.api.AlignViewControllerGuiI;
 import jalview.api.AlignViewControllerI;
 import jalview.api.SequenceStructureBinding;
 import jalview.bin.JalviewLite;
@@ -93,7 +94,7 @@ import java.util.StringTokenizer;
 import java.util.Vector;
 
 public class AlignFrame extends EmbmenuFrame implements ActionListener,
-        ItemListener, KeyListener
+        ItemListener, KeyListener, AlignViewControllerGuiI
 {
   public AlignViewControllerI avc;
   public AlignmentPanel alignPanel;
@@ -124,7 +125,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
 
     viewport = new AlignViewport(al, applet);
     alignPanel = new AlignmentPanel(this, viewport);
-    avc = new jalview.controller.AlignViewController(viewport, alignPanel);
+    avc = new jalview.controller.AlignViewController(this, viewport, alignPanel);
     viewport.updateConservation(alignPanel);
     viewport.updateConsensus(alignPanel);
 
@@ -3321,6 +3322,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
 
   }
 
+  
+  public void setStatus(String string) {
+    statusBar.setText(string);
+  };
+
   MenuItem featureSettings = new MenuItem();
 
   CheckboxMenuItem sequenceFeatures = new CheckboxMenuItem();
index 16e8cdd..45ab9c4 100644 (file)
@@ -12,15 +12,21 @@ public class AlignViewController implements AlignViewControllerI
 {
   AlignViewportI viewport=null;
   AlignmentViewPanel alignPanel=null;
+  /**
+   * the GUI container that is handling interactions with the user
+   */
+  private AlignViewControllerGuiI avcg;
   @Override
   protected void finalize() throws Throwable {
     viewport = null;
     alignPanel = null;
+    avcg = null;
   };
   
-  public AlignViewController(AlignViewportI viewport,
+  public AlignViewController(AlignViewControllerGuiI alignFrame, AlignViewportI viewport,
           AlignmentViewPanel alignPanel)
   {
+    this.avcg = alignFrame;
     this.viewport=viewport;
     this.alignPanel = alignPanel;
   }
index 4a06fdd..180a72c 100644 (file)
@@ -25,6 +25,7 @@ import jalview.analysis.CrossRef;
 import jalview.analysis.NJTree;
 import jalview.analysis.ParseProperties;
 import jalview.analysis.SequenceIdMatcher;
+import jalview.api.AlignViewControllerGuiI;
 import jalview.api.AlignViewControllerI;
 import jalview.bin.Cache;
 import jalview.commands.CommandI;
@@ -136,7 +137,7 @@ import javax.swing.SwingUtilities;
  * @version $Revision$
  */
 public class AlignFrame extends GAlignFrame implements DropTargetListener,
-        IProgressIndicator
+        IProgressIndicator, AlignViewControllerGuiI
 {
 
   /** DOCUMENT ME!! */
@@ -294,7 +295,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
    */
   void init()
   {
-    avc = new jalview.controller.AlignViewController(viewport, alignPanel);
+    avc = new jalview.controller.AlignViewController(this, viewport, alignPanel);
     if (viewport.getAlignmentConservationAnnotation() == null)
     {
       BLOSUM62Colour.setEnabled(false);
@@ -564,7 +565,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   public void addAlignmentPanel(final AlignmentPanel ap, boolean newPanel)
   {
     ap.alignFrame = this;
-    avc = new jalview.controller.AlignViewController(viewport, alignPanel);
+    avc = new jalview.controller.AlignViewController(this, viewport, alignPanel);
 
     alignPanels.addElement(ap);
 
@@ -848,6 +849,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     return false;
   }
 
+  @Override
+  public void setStatus(String text) {
+    statusBar.setText(text);
+  };
   /*
    * Added so Castor Mapping file can obtain Jalview Version
    */