From c3184ec60d0f185c89d50d8be0ec9dfc9b26c524 Mon Sep 17 00:00:00 2001 From: jprocter Date: Mon, 2 Apr 2007 13:10:05 +0000 Subject: [PATCH] feature group state and type order preference storage/retrieval. --- src/jalview/gui/Jalview2XML.java | 44 ++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index ba2364a..b6e6041 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -751,11 +751,14 @@ public class Jalview2XML setting.setDisplay( av.featuresDisplayed.containsKey(renderOrder[ro]) ); - + float rorder=ap.seqPanel.seqCanvas.getFeatureRenderer().getOrder(renderOrder[ro]); + if (rorder>-1) { + setting.setOrder(rorder); + } fs.addSetting(setting); settingsAdded.addElement(renderOrder[ro]); } - + //Make sure we save none displayed feature settings Enumeration en = ap.seqPanel.seqCanvas.getFeatureRenderer().featureColours.keys(); @@ -774,11 +777,29 @@ public class Jalview2XML ); setting.setDisplay(false); - + float rorder = ap.seqPanel.seqCanvas.getFeatureRenderer().getOrder(key); + if (rorder>-1) + { + setting.setOrder(rorder); + } fs.addSetting(setting); settingsAdded.addElement(key); } - + en = ap.seqPanel.seqCanvas.getFeatureRenderer().featureGroups.keys(); + Vector groupsAdded=new Vector(); + while (en.hasMoreElements()) + { + String grp = en.nextElement().toString(); + if (groupsAdded.contains(grp)) + { + continue; + } + Group g = new Group(); + g.setName(grp); + g.setDisplay(((Boolean)ap.seqPanel.seqCanvas.getFeatureRenderer().featureGroups.get(grp)).booleanValue()); + fs.addGroup(g); + groupsAdded.addElement(grp); + } jms.setFeatureSettings(fs); } @@ -1698,9 +1719,11 @@ public class Jalview2XML af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setColour(setting. getType(), new java.awt.Color(setting.getColour())); - renderOrder[fs] = setting.getType(); - + if (setting.hasOrder()) + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setOrder(setting.getType(), setting.getOrder()); + else + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setOrder(setting.getType(), fs/jms.getFeatureSettings().getSettingCount()); if (setting.getDisplay()) { af.viewport.featuresDisplayed.put( @@ -1709,8 +1732,15 @@ public class Jalview2XML } af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder = renderOrder; + Hashtable fgtable; + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featureGroups = fgtable=new Hashtable(); + for (int gs=0;gs 0) { for (int c = 0; c < view.getHiddenColumnsCount(); c++) -- 1.7.10.2