bugfix for writing fasta file without gap characters.
[jalview.git] / src / jalview / gui / SeqPanel.java
index 5d2a741..468fadb 100755 (executable)
@@ -42,7 +42,7 @@ public class SeqPanel extends JPanel
 \r
       public void mouseDragged(MouseEvent evt)\r
       {\r
-        if(evt.isShiftDown() || evt.isControlDown())\r
+        if(evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())\r
           doMouseDragged(evt);\r
         else\r
           doMouseDraggedDefineMode(evt);\r
@@ -53,14 +53,14 @@ public class SeqPanel extends JPanel
     {\r
       public void mouseReleased(MouseEvent evt)\r
       {\r
-        if(evt.isShiftDown() || evt.isControlDown())\r
+        if(evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())\r
           doMouseReleased(evt);\r
         else\r
           doMouseReleasedDefineMode(evt);\r
       }\r
       public void mousePressed(MouseEvent evt)\r
       {\r
-        if(evt.isShiftDown() || evt.isControlDown())\r
+        if(evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())\r
           doMousePressed(evt);\r
         else\r
           doMousePressedDefineMode(evt);\r
@@ -184,7 +184,7 @@ public class SeqPanel extends JPanel
     if (res != lastres)\r
     {\r
        // Group editing\r
-       if (evt.isControlDown())\r
+       if (evt.isAltDown() || evt.isControlDown())\r
         {\r
          SequenceGroup sg = av.getAlignment().findGroup(startseq);\r
           if (sg != null)\r
@@ -208,10 +208,20 @@ public class SeqPanel extends JPanel
 \r
                 if(!deleteAllowed && allGaps)\r
                   deleteAllowed = true;\r
-\r
               }\r
             }\r
 \r
+            // drag to right\r
+            if (res < av.getAlignment().getWidth() && res > lastres)\r
+                sg.setEndRes(sg.getEndRes() + 1);\r
+\r
+            // drag to left\r
+            else if (deleteAllowed && res < av.getAlignment().getWidth() &&\r
+                     res < lastres)\r
+                sg.setEndRes(sg.getEndRes() - 1);\r
+\r
+\r
+\r
 \r
             for (int i = 0; i < sg.getSize(); i++)\r
             {\r
@@ -323,6 +333,20 @@ public class SeqPanel extends JPanel
             || stretchGroup.getEndRes()<res)\r
      {\r
        stretchGroup = null;\r
+\r
+       SequenceGroup[] allGroups = av.alignment.findAllGroups( (Sequence) av.\r
+           getAlignment().\r
+           getSequenceAt(seq));\r
+\r
+       if (allGroups != null)\r
+         for (int i = 0; i < allGroups.length; i++)\r
+           if (allGroups[i].getStartRes() <= res &&\r
+               allGroups[i].getEndRes() >= res)\r
+           {\r
+             stretchGroup = allGroups[i];\r
+             av.setRubberbandGroup(stretchGroup);\r
+             break;\r
+           }\r
      }\r
 \r
     if(stretchGroup==null)\r