Almost working
[jalview.git] / src / jalview / viewmodel / AlignmentViewport.java
index 975b292..08444d8 100644 (file)
@@ -33,6 +33,7 @@ import java.util.List;
 import java.util.Map;
 
 import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
+import jalview.analysis.Connectivity;
 import jalview.analysis.Conservation;
 import jalview.analysis.TreeModel;
 import jalview.api.AlignCalcManagerI;
@@ -50,6 +51,8 @@ import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AlignmentView;
 import jalview.datamodel.Annotation;
 import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.ContactListI;
+import jalview.datamodel.ContactMatrixI;
 import jalview.datamodel.HiddenColumns;
 import jalview.datamodel.HiddenSequences;
 import jalview.datamodel.ProfilesI;
@@ -58,6 +61,7 @@ import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceCollectionI;
 import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
+import jalview.gui.QuitHandler;
 import jalview.project.Jalview2XML;
 import jalview.renderer.ResidueShader;
 import jalview.renderer.ResidueShaderI;
@@ -104,7 +108,7 @@ public abstract class AlignmentViewport
   /**
    * used to determine if quit should be confirmed
    */
-  private boolean savedUpToDate = true;
+  private boolean savedUpToDate = false;
 
   /**
    * alignment displayed in the viewport. Please use get/setter
@@ -2129,7 +2133,7 @@ public abstract class AlignmentViewport
 
         if (aa.graph > 0)
         {
-          aa.height += aa.graphHeight;
+          aa.height += aa.graphHeight+20;
         }
 
         if (aa.height == 0)
@@ -2940,6 +2944,19 @@ public abstract class AlignmentViewport
     return searchResults;
   }
 
+  @Override
+  public ContactListI getContactList(AlignmentAnnotation _aa, int column)
+  {
+    return alignment.getContactListFor(_aa, column);
+  }
+
+  @Override
+  public ContactMatrixI getContactMatrix(
+          AlignmentAnnotation alignmentAnnotation)
+  {
+    return alignment.getContactMatrixFor(alignmentAnnotation);
+  }
+
   /**
    * get the consensus sequence as displayed under the PID consensus annotation
    * row.
@@ -3108,9 +3125,15 @@ public abstract class AlignmentViewport
 
   public void setSavedUpToDate(boolean s)
   {
+    setSavedUpToDate(s, QuitHandler.Message.UNSAVED_CHANGES);
+  }
+
+  public void setSavedUpToDate(boolean s, QuitHandler.Message m)
+  {
     Console.debug(
             "Setting " + this.getViewId() + " setSavedUpToDate to " + s);
     savedUpToDate = s;
+    QuitHandler.setMessage(m);
   }
 
   public boolean savedUpToDate()
@@ -3119,4 +3142,9 @@ public abstract class AlignmentViewport
             + savedUpToDate);
     return savedUpToDate;
   }
+
+  public Hashtable<SequenceI, Integer> calculateConnectivity(float[][] scores, byte dim)
+  {
+    return Connectivity.getConnectivity(this, scores, dim);
+  }
 }