+
+ /**
+ * close the panel - deregisters all listeners and nulls any references to
+ * alignment data.
+ */
+ public void closePanel()
+ {
+ PaintRefresher.RemoveComponent(seqPanel.seqCanvas);
+ PaintRefresher.RemoveComponent(idPanel.idCanvas);
+ PaintRefresher.RemoveComponent(this);
+ if (av != null)
+ {
+ jalview.structure.StructureSelectionManager ssm = av.getStructureSelectionManager();
+ ssm.removeStructureViewerListener(seqPanel, null);
+ ssm.removeSelectionListener(seqPanel);
+ av.setAlignment(null);
+ av = null;
+ }
+ else
+ {
+ if (Cache.log.isDebugEnabled())
+ {
+ Cache.log.warn("Closing alignment panel which is already closed.");
+ }
+ }
+ }
+
+ /**
+ * hides or shows dynamic annotation rows based on groups and av state flags
+ */
+ public void updateAnnotation()
+ {
+ updateAnnotation(false, false);
+ }
+ public void updateAnnotation(boolean applyGlobalSettings)
+ {
+ updateAnnotation(applyGlobalSettings,false);
+ }
+ public void updateAnnotation(boolean applyGlobalSettings, boolean preserveNewGroupSettings)
+ {
+ av.updateGroupAnnotationSettings(applyGlobalSettings, preserveNewGroupSettings);
+ adjustAnnotationHeight();
+ }
+
+ @Override
+ public AlignmentI getAlignment()
+ {
+ return av.getAlignment();
+ }
+
+ /**
+ * get the name for this view
+ * @return
+ */
+ public String getViewName()
+ {
+ return av.viewName;
+ }
+
+ /**
+ * Make/Unmake this alignment panel the current input focus
+ * @param b
+ */
+ public void setSelected(boolean b)
+ {
+ try {
+ alignFrame.setSelected(b);
+ } catch (Exception ex) {};
+
+ if (b)
+ {
+ alignFrame.setDisplayedView(this);
+ }
+ }
+
+ @Override
+ public StructureSelectionManager getStructureSelectionManager()
+ {
+ return av.getStructureSelectionManager();
+ }
+
+ @Override
+ public void raiseOOMWarning(String string, OutOfMemoryError error)
+ {
+ new OOMWarning(string, error, this);
+ }
+
+ public FeatureRenderer cloneFeatureRenderer()
+ {
+
+ return new FeatureRenderer(this);
+ }
+
+ public void updateFeatureRenderer(FeatureRenderer fr)
+ {
+ fr.transferSettings(seqPanel.seqCanvas.getFeatureRenderer());
+ }
+
+ public void updateFeatureRendererFrom(FeatureRenderer fr)
+ {
+ if (seqPanel.seqCanvas.getFeatureRenderer()!=null) {
+ seqPanel.seqCanvas.getFeatureRenderer().transferSettings(fr);
+ }
+ }