X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FGroupEditor.java;h=3ee186b1151488b8ad05eb6ebbef37a75c7f4cee;hb=028bc343135a72515c6b109eb0deb8d6034ca520;hp=3c58df3ac2775705b85478cd7f0c8bdc8308a140;hpb=5e9a8519d84c8f2b6fa6adec6620f2ccf87cf4a4;p=jalview.git diff --git a/src/jalview/gui/GroupEditor.java b/src/jalview/gui/GroupEditor.java index 3c58df3..3ee186b 100755 --- a/src/jalview/gui/GroupEditor.java +++ b/src/jalview/gui/GroupEditor.java @@ -29,8 +29,11 @@ public class GroupEditor extends GGroupEditor for (int i=0; i < ColourProperties.getColourSchemeNames().size(); i++) colourCombo.addItem(ColourProperties.getColourSchemeNames().elementAt(i)); - showGroup(); - updateGroupcombo(); + if(groups.size()>0) + { + showGroup(); + updateGroupcombo(); + } assignedList.addMouseListener( new MouseAdapter() { @@ -111,6 +114,9 @@ public class GroupEditor extends GGroupEditor void showGroup() { + if(groups.size()<1) + return; + assignedVector = new Vector(); if(selectedGroupIndex!=-1) { @@ -144,7 +150,7 @@ public class GroupEditor extends GGroupEditor protected void groupName_actionPerformed(ActionEvent e) { - String reply = JOptionPane.showInputDialog(this, "Enter new group name", "Edit group name", JOptionPane.QUESTION_MESSAGE); + String reply = JOptionPane.showInternalInputDialog(this, "Enter new group name", "Edit group name", JOptionPane.QUESTION_MESSAGE); if(reply==null) return; @@ -155,6 +161,9 @@ public class GroupEditor extends GGroupEditor protected void colourCombo_actionPerformed(ActionEvent e) { + if(groups.size()<1) + return; + SequenceGroup sg = (SequenceGroup)groups.elementAt(selectedGroupIndex); sg.cs = ColourSchemeFactory.get( (String)colourCombo.getSelectedItem() ); @@ -257,7 +266,9 @@ public class GroupEditor extends GGroupEditor { unassignedVector.addElement(assignedVector.elementAt(indices[i]-i)); - sg.deleteSequence( (SequenceI)sequenceHash.get( assignedVector.elementAt(indices[i]-i) )); + SequenceI removeSequence = (SequenceI)sequenceHash.get( assignedVector.elementAt(indices[i]-i) ); + av.getSelection().removeElement( removeSequence ); + sg.deleteSequence( removeSequence ); assignedVector.removeElementAt(indices[i]-i); } @@ -276,7 +287,9 @@ public class GroupEditor extends GGroupEditor { String id = (String)enum.nextElement(); unassignedVector.addElement( id ); - sg.deleteSequence( (SequenceI)sequenceHash.get( id )); + SequenceI removeSequence = (SequenceI)sequenceHash.get( id ); + av.getSelection().removeElement( removeSequence ); + sg.deleteSequence( removeSequence ); } assignedVector.clear(); @@ -292,11 +305,11 @@ public class GroupEditor extends GGroupEditor groups.add( new SequenceGroup("Group "+(groups.size()+1), cs, - false, boxesCheck.isSelected(), textCheck.isSelected(), colourTextCheck.isSelected(), - true) ); + 0, av.alignment.getWidth() + ) ); updateGroupcombo(); groupsCombo.setSelectedIndex( groupsCombo.getItemCount()-1 );