JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / gui / AlignViewport.java
index b357734..7d01222 100644 (file)
@@ -48,7 +48,6 @@ import jalview.structure.SelectionSource;
 import jalview.structure.StructureSelectionManager;
 import jalview.structure.VamsasSource;
 import jalview.util.MessageManager;
-import jalview.util.dialogrunner.RunResponse;
 import jalview.viewmodel.AlignmentViewport;
 import jalview.ws.params.AutoCalcSetting;
 
@@ -80,7 +79,7 @@ public class AlignViewport extends AlignmentViewport
 
   private Rectangle explodedGeometry;
 
-  String viewName;
+  private String viewName;
 
   /*
    * Flag set true on the view that should 'gather' multiple views of the same
@@ -291,7 +290,7 @@ public class AlignViewport extends AlignmentViewport
               ResidueColourScheme.NONE);
     }
     ColourSchemeI colourScheme = ColourSchemeProperty
-            .getColourScheme(alignment, schemeName);
+            .getColourScheme(this, alignment, schemeName);
     residueShading = new ResidueShader(colourScheme);
 
     if (colourScheme instanceof UserColourScheme)
@@ -305,6 +304,7 @@ public class AlignViewport extends AlignmentViewport
     {
       residueShading.setConsensus(hconsensus);
     }
+    setColourAppliesToAllGroups(true);
   }
 
   boolean validCharWidth;
@@ -712,14 +712,16 @@ public class AlignViewport extends AlignmentViewport
         return;
       }
     }
-    alignmentDataAdded(toAdd);
+    addDataToAlignment(toAdd);
   }
 
-  private void alignmentDataAdded(AlignmentI toAdd)
+  /**
+   * adds sequences to this alignment
+   * 
+   * @param toAdd
+   */
+  void addDataToAlignment(AlignmentI toAdd)
   {
-    /*
-     * No mappings, or offer declined - add sequences to this alignment
-     */
     // TODO: JAL-407 regardless of above - identical sequences (based on ID and
     // provenance) should share the same dataset sequence
 
@@ -741,7 +743,7 @@ public class AlignViewport extends AlignmentViewport
       }
     }
 
-    ranges.setEndSeq(getAlignment().getHeight());
+    ranges.setEndSeq(getAlignment().getHeight() - 1); // BH 2019.04.18
     firePropertyChange("alignment", null, getAlignment().getSequences());
   }
 
@@ -762,29 +764,36 @@ public class AlignViewport extends AlignmentViewport
     final String question = JvSwingUtils.wrapTooltip(true,
             MessageManager.getString("label.open_split_window?"));
     final AlignViewport us = this;
-    JvOptionPane.newOptionDialog(Desktop.desktop)
-            .response(new RunResponse(1)
+    
+    /*
+     * options No, Split Window, New Window correspond to
+     * dialog responses 0, 1, 2 (even though JOptionPane shows them
+     * in reverse order)
+     */
+    JvOptionPane dialog = JvOptionPane.newOptionDialog(Desktop.desktop)
+            .setResponseHandler(0, new Runnable()
             {
               @Override
               public void run()
               {
-                us.openLinkedAlignmentAs(al, title, true);
+                  addDataToAlignment(al);
               }
-            }).response(new RunResponse(2)
+            }).setResponseHandler(1, new Runnable()
             {
               @Override
               public void run()
               {
-                us.openLinkedAlignmentAs(al, title, false);
+                us.openLinkedAlignmentAs(al, title, true);
               }
-            }).defaultResponse(new Runnable()
+            }).setResponseHandler(2, new Runnable()
             {
               @Override
               public void run()
               {
-                alignmentDataAdded(al);
+                us.openLinkedAlignmentAs(al, title, false);
               }
-            }).showDialog(question,
+            });
+       dialog.showDialog(question,
             MessageManager.getString("label.open_split_window"),
             JvOptionPane.DEFAULT_OPTION, JvOptionPane.PLAIN_MESSAGE, null,
             options, options[0]);
@@ -1054,4 +1063,14 @@ public class AlignViewport extends AlignmentViewport
     }
     fr.setTransparency(featureSettings.getTransparency());
   }
+
+  public String getViewName()
+  {
+    return viewName;
+  }
+
+  public void setViewName(String viewName)
+  {
+    this.viewName = viewName;
+  }
 }