From: jprocter Date: Mon, 8 Jun 2009 11:08:32 +0000 (+0000) Subject: ensure listeners are deregistered when panel is closed. apply gpl development license X-Git-Tag: Release_2_5~288 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=caa1ed9069e0b43704854e4bd8d0a763056afad9;p=jalview.git ensure listeners are deregistered when panel is closed. apply gpl development license --- diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index d6eab59..2ee643f 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) - * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1) + * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -1083,15 +1083,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, for (int i = 0; i < alignPanels.size(); i++) { AlignmentPanel ap = (AlignmentPanel) alignPanels.elementAt(i); - jalview.structure.StructureSelectionManager ssm = - jalview.structure.StructureSelectionManager - .getStructureSelectionManager(); - ssm.removeStructureViewerListener(ap.seqPanel, null); - ssm.removeSelectionListener(ap.seqPanel); - PaintRefresher.RemoveComponent(ap.seqPanel.seqCanvas); - PaintRefresher.RemoveComponent(ap.idPanel.idCanvas); - PaintRefresher.RemoveComponent(ap); - ap.av.alignment = null; + ap.closePanel(); } } else @@ -1111,20 +1103,21 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } } + /** + * close alignPanel2 and shuffle tabs appropriately. + * @param alignPanel2 + */ public void closeView(AlignmentPanel alignPanel2) { int index = tabbedPane.getSelectedIndex(); int closedindex = tabbedPane.indexOfComponent(alignPanel2); alignPanels.removeElement(alignPanel2); - PaintRefresher.RemoveComponent(alignPanel2.seqPanel.seqCanvas); - PaintRefresher.RemoveComponent(alignPanel2.idPanel.idCanvas); - PaintRefresher.RemoveComponent(alignPanel2); - alignPanel2.av.alignment = null; if (viewport == alignPanel2.av) { viewport = null; } + alignPanel2.closePanel(); alignPanel2 = null; tabbedPane.removeTabAt(closedindex);