From c2659617754e9401e7149da678627333b7364a04 Mon Sep 17 00:00:00 2001 From: gmungoc Date: Thu, 10 Dec 2020 13:05:25 +0000 Subject: [PATCH 1/1] JAL-1713 save/restore Overview in project (todo: restore geometry) --- src/jalview/project/Jalview2XML.java | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/jalview/project/Jalview2XML.java b/src/jalview/project/Jalview2XML.java index ccd9ab0..6452644 100644 --- a/src/jalview/project/Jalview2XML.java +++ b/src/jalview/project/Jalview2XML.java @@ -25,6 +25,7 @@ import static jalview.math.RotatableMatrix.Axis.Y; import static jalview.math.RotatableMatrix.Axis.Z; import java.awt.Color; +import java.awt.Dimension; import java.awt.Font; import java.awt.Rectangle; import java.io.BufferedReader; @@ -110,6 +111,7 @@ import jalview.gui.AppVarna; import jalview.gui.Desktop; import jalview.gui.JvOptionPane; import jalview.gui.OOMWarning; +import jalview.gui.OverviewPanel; import jalview.gui.PCAPanel; import jalview.gui.PaintRefresher; import jalview.gui.SplitFrame; @@ -182,6 +184,7 @@ import jalview.xml.binding.jalview.JalviewModel.UserColours; import jalview.xml.binding.jalview.JalviewModel.Viewport; import jalview.xml.binding.jalview.JalviewModel.Viewport.CalcIdParam; import jalview.xml.binding.jalview.JalviewModel.Viewport.HiddenColumns; +import jalview.xml.binding.jalview.JalviewModel.Viewport.Overview; import jalview.xml.binding.jalview.JalviewUserColours; import jalview.xml.binding.jalview.JalviewUserColours.Colour; import jalview.xml.binding.jalview.MapListType.MapListFrom; @@ -1447,6 +1450,21 @@ public class Jalview2XML view.setStartRes(vpRanges.getStartRes()); view.setStartSeq(vpRanges.getStartSeq()); + OverviewPanel ov = ap.getOverviewPanel(); + if (ov != null) + { + Overview overview = new Overview(); + Rectangle bounds = ov.getBounds(); + overview.setXpos(bounds.x); + overview.setYpos(bounds.y); + overview.setWidth(bounds.width); + overview.setHeight(bounds.height); + overview.setShowHidden(ov.isShowHiddenRegions()); + overview.setGapColour(ov.getCanvas().getGapColour().getRGB()); + overview.setResidueColour(ov.getCanvas().getResidueColour().getRGB()); + overview.setHiddenColour(ov.getCanvas().getHiddenColour().getRGB()); + view.setOverview(overview); + } if (av.getGlobalColourScheme() instanceof jalview.schemes.UserColourScheme) { view.setBgColour(setUserColourScheme(av.getGlobalColourScheme(), @@ -4966,6 +4984,20 @@ public class Jalview2XML { splitFrameCandidates.put(view, af); } + + Overview overview = view.getOverview(); + if (overview != null) + { + OverviewPanel overviewPanel = af.openOverviewPanel(overview.isShowHidden()); + overviewPanel.setBounds(overview.getXpos(), overview.getYpos(), + overview.getWidth(), overview.getHeight()); + overviewPanel.setPreferredSize(new Dimension( + overview.getWidth(), overview.getHeight())); + Color gap = new Color(overview.getGapColour()); + Color residue = new Color(overview.getResidueColour()); + Color hidden = new Color(overview.getHiddenColour()); + overviewPanel.getCanvas().setColours(gap, residue, hidden); + } return af; } -- 1.7.10.2