+ alignFrame.setSelected(b);
+ } catch (Exception ex)
+ {
+ }
+ if (b)
+ {
+ setAlignFrameView();
+ }
+ }
+
+ public void setAlignFrameView()
+ {
+ alignFrame.setDisplayedView(this);
+ }
+
+ @Override
+ public StructureSelectionManager getStructureSelectionManager()
+ {
+ return av.getStructureSelectionManager();
+ }
+
+ @Override
+ public void raiseOOMWarning(String string, OutOfMemoryError error)
+ {
+ new OOMWarning(string, error, this);
+ }
+
+ @Override
+ public jalview.api.FeatureRenderer cloneFeatureRenderer()
+ {
+
+ return new FeatureRenderer(this);
+ }
+
+ @Override
+ public jalview.api.FeatureRenderer getFeatureRenderer()
+ {
+ return seqPanel.seqCanvas.getFeatureRenderer();
+ }
+
+ public void updateFeatureRenderer(
+ jalview.renderer.seqfeatures.FeatureRenderer fr)
+ {
+ fr.transferSettings(getSeqPanel().seqCanvas.getFeatureRenderer());
+ }
+
+ public void updateFeatureRendererFrom(jalview.api.FeatureRenderer fr)
+ {
+ if (getSeqPanel().seqCanvas.getFeatureRenderer() != null)
+ {
+ getSeqPanel().seqCanvas.getFeatureRenderer().transferSettings(fr);
+ }
+ }
+
+ public ScalePanel getScalePanel()
+ {
+ return scalePanel;
+ }
+
+ public void setScalePanel(ScalePanel scalePanel)
+ {
+ this.scalePanel = scalePanel;
+ }
+
+ public SeqPanel getSeqPanel()
+ {
+ return seqPanel;
+ }
+
+ public void setSeqPanel(SeqPanel seqPanel)
+ {
+ this.seqPanel = seqPanel;
+ }
+
+ public AnnotationPanel getAnnotationPanel()
+ {
+ return annotationPanel;
+ }
+
+ public void setAnnotationPanel(AnnotationPanel annotationPanel)
+ {
+ this.annotationPanel = annotationPanel;
+ }
+
+ public AnnotationLabels getAlabels()
+ {
+ return alabels;
+ }
+
+ public void setAlabels(AnnotationLabels alabels)
+ {
+ this.alabels = alabels;
+ }
+
+ public IdPanel getIdPanel()
+ {
+ return idPanel;
+ }
+
+ public void setIdPanel(IdPanel idPanel)
+ {
+ this.idPanel = idPanel;
+ }
+
+ /**
+ * Follow a scrolling change in the (cDNA/Protein) complementary alignment.
+ * The aim is to keep the two alignments 'lined up' on their centre columns.
+ *
+ * @param sr
+ * holds mapped region(s) of this alignment that we are scrolling
+ * 'to'; may be modified for sequence offset by this method
+ * @param verticalOffset
+ * the number of visible sequences to show above the mapped region
+ */
+ protected void scrollToCentre(SearchResultsI sr, int verticalOffset)
+ {
+ scrollToPosition(sr, verticalOffset, true);
+ }
+
+ /**
+ * Set a flag to say do not scroll any (cDNA/protein) complement.
+ *
+ * @param b
+ */
+ protected void setToScrollComplementPanel(boolean b)
+ {
+ this.scrollComplementaryPanel = b;
+ }
+
+ /**
+ * Get whether to scroll complement panel
+ *
+ * @return true if cDNA/protein complement panels should be scrolled
+ */
+ protected boolean isSetToScrollComplementPanel()
+ {
+ return this.scrollComplementaryPanel;
+ }
+
+ /**
+ * Redraw sensibly.
+ *
+ * @adjustHeight if true, try to recalculate panel height for visible
+ * annotations
+ */
+ protected void refresh(boolean adjustHeight)
+ {
+ validateAnnotationDimensions(adjustHeight);
+ addNotify();
+ if (adjustHeight)
+ {
+ // sort, repaint, update overview
+ paintAlignment(true, false);