From 60504d4176b00ae80fb98a738d33429865ff137b Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Mon, 17 Feb 2014 18:07:16 +0000 Subject: [PATCH] JAL-535 interface for GUI state update methods that the AlignViewController can call --- src/jalview/api/AlignViewControllerGuiI.java | 16 ++++++++++++++++ src/jalview/appletgui/AlignFrame.java | 10 ++++++++-- src/jalview/controller/AlignViewController.java | 8 +++++++- src/jalview/gui/AlignFrame.java | 11 ++++++++--- 4 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 src/jalview/api/AlignViewControllerGuiI.java diff --git a/src/jalview/api/AlignViewControllerGuiI.java b/src/jalview/api/AlignViewControllerGuiI.java new file mode 100644 index 0000000..1d150af --- /dev/null +++ b/src/jalview/api/AlignViewControllerGuiI.java @@ -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); + +} diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index 47d3001..638a68f 100644 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -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(); diff --git a/src/jalview/controller/AlignViewController.java b/src/jalview/controller/AlignViewController.java index 16e8cdd..45ab9c4 100644 --- a/src/jalview/controller/AlignViewController.java +++ b/src/jalview/controller/AlignViewController.java @@ -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; } diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 4a06fdd..180a72c 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -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 */ -- 1.7.10.2