public static final int NEW_WINDOW_HEIGHT = 500;\r
jalview.bin.JalviewLite applet;\r
\r
- public AlignFrame(AlignmentI al)\r
- {\r
- this.applet = null;\r
- viewport = new AlignViewport(al, null);\r
- alignPanel = new AlignmentPanel(this, viewport);\r
- add(alignPanel);\r
- alignPanel.validate();\r
-\r
- this.addWindowListener(new WindowAdapter()\r
- {\r
- public void windowClosing(WindowEvent e)\r
- {\r
- closeMenuItem_actionPerformed(null);\r
- }\r
- });\r
-\r
- }\r
-\r
\r
public AlignFrame(AlignmentI al, jalview.bin.JalviewLite applet)\r
{\r
}\r
}\r
\r
+ String param = applet.getParameter("sortBy");\r
+ if(param!=null)\r
+ {\r
+ if (param.equalsIgnoreCase("Id"))\r
+ sortIDMenuItem_actionPerformed(null);\r
+ else if (param.equalsIgnoreCase("Pairwise Identity"))\r
+ sortPairwiseMenuItem_actionPerformed(null);\r
+ }\r
+\r
this.addWindowListener(new WindowAdapter()\r
{\r
public void windowClosing(WindowEvent e)\r
}\r
});\r
\r
-\r
-\r
+ viewport.addPropertyChangeListener(new java.beans.PropertyChangeListener()\r
+ {\r
+ public void propertyChange(java.beans.PropertyChangeEvent evt)\r
+ {\r
+ if (evt.getPropertyName().equals("alignment"))\r
+ {\r
+ alignmentChanged();\r
+ }\r
+ }\r
+ });\r
}\r
\r
public void inputText_actionPerformed(ActionEvent e)\r
{\r
- CutAndPasteTransfer cap = new CutAndPasteTransfer(true);\r
+ CutAndPasteTransfer cap = new CutAndPasteTransfer(true, applet);\r
Frame frame = new Frame();\r
frame.add(cap);\r
jalview.bin.JalviewLite.addFrame(frame, "Cut & Paste Input", 500, 500);\r
\r
protected void outputText_actionPerformed(ActionEvent e)\r
{\r
- CutAndPasteTransfer cap = new CutAndPasteTransfer(false);\r
+ CutAndPasteTransfer cap = new CutAndPasteTransfer(false, applet);\r
Frame frame = new Frame();\r
frame.add(cap);\r
jalview.bin.JalviewLite.addFrame(frame,\r
redoList.push(new HistoryItem(hi.getDescription(), viewport.alignment,\r
HistoryItem.HIDE));\r
restoreHistoryItem(hi);\r
- resetAllColourSchemes();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
protected void redoMenuItem_actionPerformed(ActionEvent e)\r
HistoryItem hi = (HistoryItem) redoList.pop();\r
restoreHistoryItem(hi);\r
updateEditMenuBar();\r
- viewport.updateConsensus();\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
// used by undo and redo\r
\r
updateEditMenuBar();\r
\r
- viewport.updateConsensus();\r
- viewport.updateConservation();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
public void moveSelectedSequences(boolean up)\r
{\r
viewport.setEndSeq(viewport.alignment.getHeight());\r
viewport.alignment.getWidth();\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
}\r
catch (Exception ex)\r
{}\r
}\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
\r
}\r
\r
viewport.alignment.deleteGroup(sg);\r
}\r
}\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
}\r
\r
viewport.alignment.deleteGroup(sg);\r
}\r
}\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
}\r
\r
viewport.setStartRes(seq.findIndex(startRes)-1);\r
\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
public void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
}\r
\r
viewport.setStartRes(seq.findIndex(startRes)-1);\r
- viewport.updateConservation();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
+ }\r
+\r
+ public void alignmentChanged()\r
+ {\r
viewport.updateConsensus();\r
+ viewport.updateConservation ();\r
resetAllColourSchemes();\r
alignPanel.repaint();\r
}\r
ColourSchemeI cs = viewport.globalColourScheme;\r
if(cs!=null)\r
{\r
- cs.setConsensus(viewport.vconsensus);\r
- if(cs.conservationApplied())\r
- {\r
- Alignment al = (Alignment) viewport.alignment;\r
- Conservation c = new Conservation("All",\r
- ResidueProperties.propHash, 3,\r
- al.getSequences(), 0,\r
- al.getWidth() - 1);\r
- c.calculate();\r
- c.verdict(false, viewport.ConsPercGaps);\r
+ if (cs instanceof ClustalxColourScheme)\r
+ {\r
+ ( (ClustalxColourScheme) viewport.getGlobalColourScheme()).\r
+ resetClustalX(viewport.alignment.getSequences(),\r
+ viewport.alignment.getWidth());\r
+ }\r
\r
- cs.setConservation(c);\r
- }\r
- }\r
+ cs.setConsensus(viewport.vconsensus);\r
+ if (cs.conservationApplied())\r
+ {\r
+ Alignment al = (Alignment) viewport.alignment;\r
+ Conservation c = new Conservation("All",\r
+ ResidueProperties.propHash, 3,\r
+ al.getSequences(), 0,\r
+ al.getWidth() - 1);\r
+ c.calculate();\r
+ c.verdict(false, viewport.ConsPercGaps);\r
\r
- if(viewport.getGlobalColourScheme()!=null\r
- && viewport.getGlobalColourScheme() instanceof ClustalxColourScheme)\r
- {\r
- ((ClustalxColourScheme)viewport.getGlobalColourScheme()).\r
- resetClustalX(viewport.alignment.getSequences(),\r
- viewport.alignment.getWidth());\r
+ cs.setConservation(c);\r
+ }\r
}\r
\r
int s, sSize = viewport.alignment.getGroups().size();\r
{\r
((ClustalxColourScheme)sg.cs).resetClustalX(sg.sequences, sg.getWidth());\r
}\r
-\r
sg.recalcConservation();\r
-\r
}\r
}\r
\r
if (viewport.getSelectionGroup().getSize() > 1)\r
{\r
Frame frame = new Frame();\r
- frame.add(new PairwiseAlignPanel(viewport));\r
+ frame.add(new PairwiseAlignPanel(alignPanel));\r
jalview.bin.JalviewLite.addFrame(frame, "Pairwise Alignment", 600, 500);\r
}\r
}\r
boolean scaleLeftWrapped = true;\r
boolean scaleRightWrapped = true;\r
\r
+ public Vector vconsensus;\r
+ AlignmentAnnotation consensus;\r
+ AlignmentAnnotation conservation;\r
+ AlignmentAnnotation quality;\r
+\r
+ public int ConsPercGaps = 25; // JBPNote : This should be a scalable property!\r
+\r
+ private java.beans.PropertyChangeSupport changeSupport = new java.beans.PropertyChangeSupport(this);\r
\r
boolean ignoreGapsInConsensusCalculation = false;\r
\r
showSequenceFeatures = b;\r
}\r
\r
- public Vector vconsensus;\r
- AlignmentAnnotation consensus;\r
- AlignmentAnnotation conservation;\r
- AlignmentAnnotation quality;\r
-\r
- public int ConsPercGaps = 25; // JBPNote : This should be a scalable property!\r
\r
public void updateConservation()\r
{\r
ignoreGapsInConsensusCalculation);\r
\r
}\r
+ }\r
+\r
+ /**\r
+ * Property change listener for changes in alignment\r
+ *\r
+ * @param listener DOCUMENT ME!\r
+ */\r
+ public void addPropertyChangeListener(\r
+ java.beans.PropertyChangeListener listener)\r
+ {\r
+ changeSupport.addPropertyChangeListener(listener);\r
+ }\r
\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param listener DOCUMENT ME!\r
+ */\r
+ public void removePropertyChangeListener(\r
+ java.beans.PropertyChangeListener listener)\r
+ {\r
+ changeSupport.removePropertyChangeListener(listener);\r
}\r
\r
+ /**\r
+ * Property change listener for changes in alignment\r
+ *\r
+ * @param prop DOCUMENT ME!\r
+ * @param oldvalue DOCUMENT ME!\r
+ * @param newvalue DOCUMENT ME!\r
+ */\r
+ public void firePropertyChange(String prop, Object oldvalue, Object newvalue)\r
+ {\r
+ changeSupport.firePropertyChange(prop, oldvalue, newvalue);\r
+ }\r
+\r
+\r
+\r
public boolean getIgnoreGapsConsensus()\r
{\r
return ignoreGapsInConsensusCalculation;\r
hscrollFillerPanel.setSize(d);\r
\r
alignFrame.pack();\r
+\r
+ if(overviewPanel!=null)\r
+ overviewPanel.updateOverviewImage();\r
}\r
\r
public void setIdWidth(int w, int h)\r
idPanel.idCanvas.setSize(d.width, seqPanel.seqCanvas.getSize().height);\r
annotationSpaceFillerHolder.setSize(d.width,\r
annotationPanel.getSize().height);\r
- alabels.setSize(d.width, annotationPanel.getSize().height);\r
\r
- alabels.repaint();\r
- idPanel.idCanvas.repaint();\r
- seqPanel.seqCanvas.repaint();\r
- scalePanel.repaint();\r
- annotationPanel.repaint();\r
+ alabels.setSize(d.width, annotationPanel.getSize().height);\r
\r
if (av.getWrapAlignment())\r
{\r
setScrollValues(av.getStartRes(), av.getStartSeq());\r
}\r
\r
+ alabels.repaint();\r
+ idPanel.idCanvas.repaint();\r
+ seqPanel.seqCanvas.repaint();\r
+ scalePanel.repaint();\r
+ annotationPanel.repaint();\r
+\r
}\r
}\r
\r
public void paint(Graphics g)\r
{\r
+ g.setColor(Color.white);\r
+ g.fillRect(0,0, getSize().width, getSize().height);\r
imgWidth = (av.endRes - av.startRes + 1) * av.charWidth;\r
\r
if (image == null || imgWidth != image.getWidth(this))\r
public class CutAndPasteTransfer\r
extends GCutAndPasteTransfer\r
{\r
- public CutAndPasteTransfer(boolean forImport)\r
+ jalview.bin.JalviewLite applet;\r
+ public CutAndPasteTransfer(boolean forImport, jalview.bin.JalviewLite mainApplet)\r
{\r
super();\r
+ applet = mainApplet;\r
\r
if (!forImport)\r
{\r
\r
if (sequences != null)\r
{\r
- AlignFrame af = new AlignFrame(new Alignment(sequences));\r
+ AlignFrame af = new AlignFrame(new Alignment(sequences), applet);\r
jalview.bin.JalviewLite.addFrame(af, "Cut & Paste input - " + format,\r
AlignFrame.NEW_WINDOW_WIDTH,\r
AlignFrame.NEW_WINDOW_HEIGHT);\r
extends GPairwiseAlignPanel\r
{\r
Vector sequences = new Vector();\r
- AlignViewport av;\r
+ AlignmentPanel ap;\r
\r
- public PairwiseAlignPanel(AlignViewport av)\r
+ public PairwiseAlignPanel(AlignmentPanel ap)\r
{\r
super();\r
- this.av = av;\r
- float scores[][] = new float[av.getAlignment().getHeight()][av.getAlignment().\r
+ this.ap = ap;\r
+ float scores[][] = new float[ap.av.alignment.getHeight()][ap.av.alignment.\r
getHeight()];\r
double totscore = 0;\r
- int count = av.getSelectionGroup().getSize();\r
+ int count = ap.av.getSelectionGroup().getSize();\r
\r
int acount = 0;\r
for (int i = 1; i < count; i++)\r
for (int j = 0; j < i; j++)\r
{\r
acount++;\r
- AlignSeq as = new AlignSeq(av.getSelectionGroup().getSequenceAt(i),\r
- av.getSelectionGroup().getSequenceAt(j),\r
+ AlignSeq as = new AlignSeq(ap.av.getSelectionGroup().getSequenceAt(i),\r
+ ap.av.getSelectionGroup().getSequenceAt(j),\r
"pep");\r
\r
as.calcScoreMatrix();\r
seq[i] = (Sequence) sequences.elementAt(i);\r
}\r
\r
- AlignFrame af = new AlignFrame(new Alignment(seq));\r
+ AlignFrame af = new AlignFrame(new Alignment(seq), ap.alignFrame.applet);\r
jalview.bin.JalviewLite.addFrame(af, "Pairwise Aligned Sequences",\r
AlignFrame.NEW_WINDOW_WIDTH,\r
AlignFrame.NEW_WINDOW_HEIGHT);\r
ap.alignFrame.updateEditMenuBar();\r
}\r
\r
- av.updateConservation();\r
- av.updateConsensus();\r
-\r
-\r
- //Does the edit affect any groups?\r
- //////////////////////////////\r
- Vector groupsToUpdate = new Vector();\r
- SequenceGroup sg = av.getSelectionGroup();\r
-\r
- int s, g, gSize = av.alignment.getGroups().size();\r
- if (sg != null)\r
- {\r
- groupsToUpdate.addElement(av.getSelectionGroup());\r
- int sSize = sg.getSize();\r
- for (s = 0; s < sSize; s++)\r
- {\r
- SequenceI seq = sg.getSequenceAt(s);\r
-\r
- for (g = 0; g < gSize; g++)\r
- {\r
- SequenceGroup sg2 = (SequenceGroup) av.alignment.getGroups().\r
- elementAt(\r
- g);\r
- if (sg2.sequences.contains(seq))\r
- {\r
- if (!groupsToUpdate.contains(sg2))\r
- groupsToUpdate.addElement(sg2);\r
- continue;\r
- }\r
- }\r
- }\r
- }\r
- else\r
- {\r
- SequenceI seq = av.alignment.getSequenceAt(startseq);\r
- for (g = 0; g < gSize; g++)\r
- {\r
- SequenceGroup sg2 = (SequenceGroup) av.alignment.getGroups().elementAt(\r
- g);\r
- if (sg2.sequences.contains(seq))\r
- {\r
- if (!groupsToUpdate.contains(sg2))\r
- groupsToUpdate.addElement(sg2);\r
- continue;\r
- }\r
- }\r
- }\r
-\r
- gSize = groupsToUpdate.size();\r
- for (g = 0; g < gSize; g++)\r
- {\r
- ( (SequenceGroup) groupsToUpdate.elementAt(g)).recalcConservation();\r
- }\r
- ////End of updating groups\r
- //////////////////////////////////////////\r
-\r
-\r
- // Y O Y CLUSTALX\r
- ColourSchemeI cs = av.getGlobalColourScheme();\r
-\r
- if (av.getSelectionGroup() != null)\r
- {\r
- av.getSelectionGroup().recalcConservation();\r
- }\r
-\r
- if(cs!=null)\r
- {\r
- if (cs.conservationApplied())\r
- {\r
- jalview.analysis.Conservation c = new jalview.analysis.Conservation("All",\r
- ResidueProperties.propHash, 3,\r
- av.alignment.getSequences(),\r
- 0, av.alignment.getWidth() - 1);\r
- c.calculate();\r
- c.verdict(false, av.ConsPercGaps);\r
-\r
- if (cs instanceof ClustalxColourScheme)\r
- {\r
- ((ClustalxColourScheme)cs).\r
- resetClustalX(av.alignment.getSequences(),\r
- av.alignment.getWidth());\r
- cs.setConservation(c);\r
- av.setGlobalColourScheme(cs);\r
- }\r
- else\r
- {\r
- cs.setConservation(c);\r
- av.setGlobalColourScheme(cs);\r
- }\r
-\r
- }\r
-\r
- if (cs instanceof ClustalxColourScheme)\r
- {\r
- ( (ClustalxColourScheme) cs).resetClustalX(av.alignment.getSequences(),\r
- av.alignment.getWidth());\r
- av.setGlobalColourScheme(cs);\r
- }\r
- }\r
+ av.firePropertyChange("alignment", null,av.getAlignment().getSequences());\r
}\r
\r
//////////////////////////////////////////\r
getPreferredSize());\r
alignPanel.setAnnotationVisible(viewport.getShowAnnotation());\r
\r
+ String sortby = jalview.bin.Cache.getDefault("SORT_ALIGNMENT", "No sort");\r
+\r
+ if(sortby.equals("Id"))\r
+ sortIDMenuItem_actionPerformed(null);\r
+ else if(sortby.equals("Pairwise Identity"))\r
+ sortPairwiseMenuItem_actionPerformed(null);\r
+\r
getContentPane().add(alignPanel, java.awt.BorderLayout.CENTER);\r
\r
- addInternalFrameListener(new InternalFrameAdapter()\r
+ viewport.addPropertyChangeListener(new PropertyChangeListener()\r
{\r
- public void internalFrameActivated(InternalFrameEvent evt)\r
- {\r
- javax.swing.SwingUtilities.invokeLater(new Runnable()\r
- {\r
- public void run()\r
- {\r
- alignPanel.requestFocus();\r
- }\r
- });\r
- }\r
- });\r
+ public void propertyChange(PropertyChangeEvent evt)\r
+ {\r
+ if (evt.getPropertyName().equals("alignment"))\r
+ {\r
+ alignmentChanged();\r
+ }\r
+ }\r
+ });\r
+\r
addServiceListeners();\r
}\r
\r
redoList.push(new HistoryItem(hi.getDescription(), viewport.alignment,\r
HistoryItem.HIDE));\r
restoreHistoryItem(hi);\r
- resetAllColourSchemes();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
/**\r
HistoryItem hi = (HistoryItem) redoList.pop();\r
restoreHistoryItem(hi);\r
updateEditMenuBar();\r
- viewport.updateConsensus();\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
// used by undo and redo\r
\r
updateEditMenuBar();\r
\r
- viewport.updateConsensus();\r
- viewport.updateConservation();\r
- alignPanel.repaint();\r
viewport.firePropertyChange("alignment", null,\r
viewport.getAlignment().getSequences());\r
}\r
}\r
else\r
{\r
- viewport.firePropertyChange("alignment", null,\r
- viewport.getAlignment().getSequences());\r
viewport.setEndSeq(viewport.alignment.getHeight());\r
viewport.alignment.getWidth();\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
}\r
catch (Exception ex)\r
{\r
+ // could be anything being pasted in here\r
}\r
\r
- // could be anything being pasted in here\r
+\r
}\r
\r
/**\r
viewport.getAlignment().getSequences());\r
}\r
\r
- viewport.resetSeqLimits(alignPanel.seqPanel.seqCanvas.getHeight());\r
\r
if (viewport.getAlignment().getHeight() < 1)\r
{\r
{\r
}\r
}\r
-\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
}\r
\r
/**\r
}\r
}\r
\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
}\r
\r
}\r
}\r
\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
}\r
\r
\r
viewport.setStartRes(seq.findIndex(startRes)-1);\r
\r
- resetAllColourSchemes();\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
/**\r
viewport.setStartRes(seq.findIndex(startRes)-1);\r
\r
\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- resetAllColourSchemes();\r
- alignPanel.repaint();\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
\r
+ public void alignmentChanged()\r
+ {\r
+ viewport.updateConsensus();\r
+ viewport.updateConservation();\r
+ resetAllColourSchemes();\r
+ alignPanel.repaint();\r
+ }\r
\r
void resetAllColourSchemes()\r
{\r
ColourSchemeI cs = viewport.globalColourScheme;\r
if(cs!=null)\r
{\r
- cs.setConsensus(viewport.vconsensus);\r
- if(cs.conservationApplied())\r
- {\r
- Alignment al = (Alignment) viewport.alignment;\r
- Conservation c = new Conservation("All",\r
- ResidueProperties.propHash, 3,\r
- al.getSequences(), 0,\r
- al.getWidth() - 1);\r
- c.calculate();\r
- c.verdict(false, viewport.ConsPercGaps);\r
+ if (cs instanceof ClustalxColourScheme)\r
+ {\r
+ ( (ClustalxColourScheme) viewport.getGlobalColourScheme()).\r
+ resetClustalX(viewport.alignment.getSequences(),\r
+ viewport.alignment.getWidth());\r
+ }\r
\r
- cs.setConservation(c);\r
- }\r
- }\r
+ cs.setConsensus(viewport.vconsensus);\r
+ if (cs.conservationApplied())\r
+ {\r
+ Alignment al = (Alignment) viewport.alignment;\r
+ Conservation c = new Conservation("All",\r
+ ResidueProperties.propHash, 3,\r
+ al.getSequences(), 0,\r
+ al.getWidth() - 1);\r
+ c.calculate();\r
+ c.verdict(false, viewport.ConsPercGaps);\r
\r
- if(viewport.getGlobalColourScheme()!=null\r
- && viewport.getGlobalColourScheme() instanceof ClustalxColourScheme)\r
- {\r
- ((ClustalxColourScheme)viewport.getGlobalColourScheme()).\r
- resetClustalX(viewport.alignment.getSequences(),\r
- viewport.alignment.getWidth());\r
+ cs.setConservation(c);\r
+ }\r
}\r
\r
int s, sSize = viewport.alignment.getGroups().size();\r
{\r
((ClustalxColourScheme)sg.cs).resetClustalX(sg.sequences, sg.getWidth());\r
}\r
-\r
sg.recalcConservation();\r
-\r
}\r
}\r
\r
}\r
}\r
\r
- viewport.updateConservation();\r
- viewport.updateConsensus();\r
- alignPanel.repaint();\r
+ alignmentChanged();\r
}\r
\r
/**\r
return colSel;\r
}\r
\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param height DOCUMENT ME!\r
- */\r
- public void resetSeqLimits(int height)\r
- {\r
- setEndSeq(height / getCharHeight());\r
- }\r
\r
/**\r
* DOCUMENT ME!\r
}\r
\r
if(overviewPanel!=null)\r
- overviewPanel.updateOverviewImage();\r
+ overviewPanel.setBoxPosition();\r
\r
repaint();\r
}\r
{\r
float threshold = slider.getValue();\r
Vector del;\r
- HistoryItem it;\r
- historyList.push(it = new HistoryItem("Remove redundancy",\r
+ historyList.push(new HistoryItem("Remove redundancy",\r
ap.av.alignment, HistoryItem.HIDE));\r
\r
if ((historyList.size() == 1) ||\r
}\r
}\r
\r
- ap.av.firePropertyChange("alignment", null,\r
- ap.av.getAlignment().getSequences());\r
- ap.av.resetSeqLimits(ap.seqPanel.seqCanvas.getHeight());\r
+ ap.av.firePropertyChange("alignment", null, ap.av.getAlignment().getSequences());\r
+ af.updateEditMenuBar();\r
+\r
\r
if (ap.av.getAlignment().getHeight() < 1)\r
{\r
{\r
}\r
}\r
-\r
- ap.av.updateConservation();\r
- ap.av.updateConsensus();\r
- af.updateEditMenuBar();\r
- ap.repaint();\r
}\r
\r
/**\r
ap.alignFrame.updateEditMenuBar();\r
}\r
\r
- av.updateConservation();\r
- av.updateConsensus();\r
+ av.firePropertyChange("alignment", null,av.getAlignment().getSequences());\r
\r
- //Does the edit affect any groups?\r
- //////////////////////////////\r
- Vector groupsToUpdate = new Vector();\r
- SequenceGroup sg = av.getSelectionGroup();\r
-\r
- int s, g, gSize = av.alignment.getGroups().size();\r
- if (sg != null)\r
- {\r
- groupsToUpdate.addElement(av.getSelectionGroup());\r
- int sSize = sg.getSize();\r
- for (s = 0; s < sSize; s++)\r
- {\r
- SequenceI seq = sg.getSequenceAt(s);\r
-\r
- for (g = 0; g < gSize; g++)\r
- {\r
- SequenceGroup sg2 = (SequenceGroup) av.alignment.getGroups().\r
- elementAt(\r
- g);\r
- if (sg2.sequences.contains(seq))\r
- {\r
- if (!groupsToUpdate.contains(sg2))\r
- groupsToUpdate.addElement(sg2);\r
- continue;\r
- }\r
- }\r
- }\r
- }\r
- else\r
- {\r
- SequenceI seq = av.alignment.getSequenceAt(startseq);\r
- for (g = 0; g < gSize; g++)\r
- {\r
- SequenceGroup sg2 = (SequenceGroup) av.alignment.getGroups().elementAt(\r
- g);\r
- if (sg2.sequences.contains(seq))\r
- {\r
- if (!groupsToUpdate.contains(sg2))\r
- groupsToUpdate.addElement(sg2);\r
- continue;\r
- }\r
- }\r
- }\r
-\r
- gSize = groupsToUpdate.size();\r
- for (g = 0; g < gSize; g++)\r
- {\r
- ( (SequenceGroup) groupsToUpdate.elementAt(g)).recalcConservation();\r
- }\r
- ////End of updating groups\r
- //////////////////////////////////////////\r
-\r
- // Y O Y CLUSTALX\r
- ColourSchemeI cs = av.getGlobalColourScheme();\r
- if(cs!=null)\r
- {\r
- if (cs.conservationApplied())\r
- {\r
- Conservation c = new Conservation("All",\r
- ResidueProperties.propHash, 3,\r
- av.alignment.getSequences(),\r
- 0, av.alignment.getWidth() - 1);\r
- c.calculate();\r
- c.verdict(false, av.ConsPercGaps);\r
-\r
- if (cs instanceof ClustalxColourScheme)\r
- {\r
- ((ClustalxColourScheme)cs).\r
- resetClustalX(av.alignment.getSequences(),\r
- av.alignment.getWidth());\r
-\r
- cs.setConservation(c);\r
- av.setGlobalColourScheme(cs);\r
- }\r
- else\r
- {\r
- cs.setConservation(c);\r
- av.setGlobalColourScheme(cs);\r
- }\r
-\r
- }\r
-\r
- if (cs instanceof ClustalxColourScheme)\r
- {\r
- ( (ClustalxColourScheme) cs).resetClustalX(av.alignment.getSequences(),\r
- av.alignment.getWidth());\r
- av.setGlobalColourScheme(cs);\r
- }\r
- }\r
}\r
\r
/**\r