import jalview.util.Comparison;
import jalview.util.MappingUtils;
import jalview.util.MessageManager;
+import jalview.util.Platform;
import jalview.viewmodel.AlignmentViewport;
import java.awt.BorderLayout;
* set if av.getSelectionGroup() refers to a group that is defined on the
* alignment view, rather than a transient selection
*/
- private boolean editingDefinedGroup = false; // TODO: refactor to avcontroller or viewModel
+ // private boolean editingDefinedGroup = false; // TODO: refactor to
+ // avcontroller or viewModel
/**
* Set status message in alignment panel
final int res = findRes(evt);
final int seq = findSeq(evt);
oldSeq = seq;
+ needOverviewUpdate = false;
startWrapBlock = wrappedBlock;
&& (res < stretchGroup.getEndRes()))
{
av.setSelectionGroup(stretchGroup);
- editingDefinedGroup = true;
}
else
{
stretchGroup = null;
- editingDefinedGroup = false;
}
}
else if (!stretchGroup.getSequences(null).contains(sequence)
&& (allGroups[i].getEndRes() >= res))
{
stretchGroup = allGroups[i];
- editingDefinedGroup = true;
break;
}
}
}
av.setSelectionGroup(stretchGroup);
-
}
if (evt.isPopupTrigger()) // Mac: mousePressed
return;
}
+ /*
+ * defer right-mouse click handling to mouseReleased on Windows
+ * (where isPopupTrigger() will answer true)
+ * NB isRightMouseButton is also true for Cmd-click on Mac
+ */
+ if (SwingUtilities.isRightMouseButton(evt) && !Platform.isAMac())
+ {
+ return;
+ }
+
if (av.cursorMode)
{
seqCanvas.cursorX = findRes(evt);
sg.setEndRes(res);
sg.addSequence(sequence, false);
av.setSelectionGroup(sg);
- editingDefinedGroup = false;
stretchGroup = sg;
if (av.getConservationSelected())
// always do this - annotation has own state
// but defer colourscheme update until hidden sequences are passed in
boolean vischange = stretchGroup.recalcConservation(true);
- needOverviewUpdate |= vischange && editingDefinedGroup;
+ needOverviewUpdate |= vischange && av.isSelectionDefinedGroup();
if (stretchGroup.cs != null)
{
stretchGroup.cs.alignmentChanged(stretchGroup,
PaintRefresher.Refresh(this, av.getSequenceSetId());
ap.paintAlignment(needOverviewUpdate);
needOverviewUpdate =false;
- editingDefinedGroup = false;
changeEndRes = false;
changeStartRes = false;
stretchGroup = null;
if (res > (stretchGroup.getStartRes() - 1))
{
stretchGroup.setEndRes(res);
- needOverviewUpdate |= editingDefinedGroup;
+ needOverviewUpdate |= av.isSelectionDefinedGroup();
}
}
else if (changeStartRes)
if (res < (stretchGroup.getEndRes() + 1))
{
stretchGroup.setStartRes(res);
- needOverviewUpdate |= editingDefinedGroup;
+ needOverviewUpdate |= av.isSelectionDefinedGroup();
}
}
if (stretchGroup.getSequences(null).contains(nextSeq))
{
stretchGroup.deleteSequence(seq, false);
- needOverviewUpdate |= editingDefinedGroup;
+ needOverviewUpdate |= av.isSelectionDefinedGroup();
}
else
{
}
stretchGroup.addSequence(nextSeq, false);
- needOverviewUpdate |= editingDefinedGroup;
+ needOverviewUpdate |= av.isSelectionDefinedGroup();
}
}