extend alignPanel api with OOMHandler call to raise OOM events appropriately in GUI
authorjprocter <jprocter@compbio.dundee.ac.uk>
Wed, 19 Oct 2011 17:24:08 +0000 (18:24 +0100)
committerjprocter <jprocter@compbio.dundee.ac.uk>
Fri, 21 Oct 2011 14:53:23 +0000 (15:53 +0100)
src/jalview/api/AlignmentViewPanel.java
src/jalview/api/OOMHandlerI.java [new file with mode: 0644]
src/jalview/appletgui/AlignmentPanel.java
src/jalview/gui/AlignmentPanel.java

index d9c97f4..d971acb 100644 (file)
@@ -26,9 +26,10 @@ import jalview.structure.StructureSelectionManager;
  * @author JimP
  *
  */
-public interface AlignmentViewPanel
+public interface AlignmentViewPanel extends OOMHandlerI
 {
 
   AlignmentI getAlignment();
   StructureSelectionManager getStructureSelectionManager();
+  void paintAlignment(boolean b);
 }
diff --git a/src/jalview/api/OOMHandlerI.java b/src/jalview/api/OOMHandlerI.java
new file mode 100644 (file)
index 0000000..c14b4f7
--- /dev/null
@@ -0,0 +1,8 @@
+package jalview.api;
+
+public interface OOMHandlerI
+{
+
+  void raiseOOMWarning(String string, OutOfMemoryError error);
+
+}
index 224b966..c5adccb 100644 (file)
@@ -979,5 +979,12 @@ public class AlignmentPanel extends Panel implements AdjustmentListener, Alignme
   {
     return StructureSelectionManager.getStructureSelectionManager(av.applet);
   }
+  @Override
+  public void raiseOOMWarning(String string, OutOfMemoryError error)
+  {
+    // TODO: JAL-960
+    System.err.println("Out of memory whilst '"+string+"'");
+    error.printStackTrace();
+  }
 
 }
index 36983d5..bcfb088 100644 (file)
@@ -1451,4 +1451,10 @@ public class AlignmentPanel extends GAlignmentPanel implements
   {
     return av.getStructureSelectionManager();
   }
+
+  @Override
+  public void raiseOOMWarning(String string, OutOfMemoryError error)
+  {
+    new OOMWarning(string,  error, this);
+  }
 }