X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=c96b717e077a01392ea19304b0acfced21d79c14;hb=8d6b113f475c6b5916f7685cfd289e054d95a9ee;hp=d003cb0686694927d0e11892a614bb2aa9df0170;hpb=3ee0ddbd50e6a0fb9f04c00bf845288a5a137f2f;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index d003cb0..c96b717 100644 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -69,6 +69,8 @@ import jalview.util.MessageManager; import jalview.util.Platform; import jalview.util.jarInputStreamProvider; import jalview.viewmodel.AlignmentViewport; +import jalview.viewmodel.seqfeatures.FeatureRendererSettings; +import jalview.viewmodel.seqfeatures.FeaturesDisplayed; import jalview.ws.jws2.Jws2Discoverer; import jalview.ws.jws2.dm.AAConSettings; import jalview.ws.jws2.jabaws2.Jws2Instance; @@ -1123,12 +1125,12 @@ public class Jalview2XML view.setFontSize(av.font.getSize()); view.setFontStyle(av.font.getStyle()); view.setRenderGaps(av.renderGaps); - view.setShowAnnotation(av.getShowAnnotation()); + view.setShowAnnotation(av.isShowAnnotation()); view.setShowBoxes(av.getShowBoxes()); view.setShowColourText(av.getColourText()); view.setShowFullId(av.getShowJVSuffix()); - view.setRightAlignIds(av.rightAlignIds); - view.setShowSequenceFeatures(av.showSequenceFeatures); + view.setRightAlignIds(av.isRightAlignIds()); + view.setShowSequenceFeatures(av.isShowSequenceFeatures()); view.setShowText(av.getShowText()); view.setShowUnconserved(av.getShowUnconserved()); view.setWrapAlignment(av.getWrapAlignment()); @@ -1145,11 +1147,12 @@ public class Jalview2XML view.setFollowHighlight(av.followHighlight); view.setFollowSelection(av.followSelection); view.setIgnoreGapsinConsensus(av.getIgnoreGapsConsensus()); - if (av.featuresDisplayed != null) + if (av.getFeaturesDisplayed() != null) { jalview.schemabinding.version2.FeatureSettings fs = new jalview.schemabinding.version2.FeatureSettings(); - String[] renderOrder = ap.seqPanel.seqCanvas.getFeatureRenderer().renderOrder; + String[] renderOrder = ap.getSeqPanel().seqCanvas.getFeatureRenderer() + .getRenderOrder().toArray(new String[0]); Vector settingsAdded = new Vector(); Object gstyle = null; @@ -1158,7 +1161,7 @@ public class Jalview2XML { for (int ro = 0; ro < renderOrder.length; ro++) { - gstyle = ap.seqPanel.seqCanvas.getFeatureRenderer() + gstyle = ap.getSeqPanel().seqCanvas.getFeatureRenderer() .getFeatureStyle(renderOrder[ro]); Setting setting = new Setting(); setting.setType(renderOrder[ro]); @@ -1176,13 +1179,13 @@ public class Jalview2XML } else { - setting.setColour(ap.seqPanel.seqCanvas.getFeatureRenderer() + setting.setColour(ap.getSeqPanel().seqCanvas.getFeatureRenderer() .getColour(renderOrder[ro]).getRGB()); } - setting.setDisplay(av.featuresDisplayed - .containsKey(renderOrder[ro])); - float rorder = ap.seqPanel.seqCanvas.getFeatureRenderer() + setting.setDisplay(av.getFeaturesDisplayed().isVisible( + renderOrder[ro])); + float rorder = ap.getSeqPanel().seqCanvas.getFeatureRenderer() .getOrder(renderOrder[ro]); if (rorder > -1) { @@ -1194,8 +1197,8 @@ public class Jalview2XML } // Make sure we save none displayed feature settings - Iterator en = ap.seqPanel.seqCanvas.getFeatureRenderer().featureColours - .keySet().iterator(); + Iterator en = ap.getSeqPanel().seqCanvas.getFeatureRenderer() + .getFeatureColours().keySet().iterator(); while (en.hasNext()) { String key = en.next().toString(); @@ -1206,11 +1209,11 @@ public class Jalview2XML Setting setting = new Setting(); setting.setType(key); - setting.setColour(ap.seqPanel.seqCanvas.getFeatureRenderer() + setting.setColour(ap.getSeqPanel().seqCanvas.getFeatureRenderer() .getColour(key).getRGB()); setting.setDisplay(false); - float rorder = ap.seqPanel.seqCanvas.getFeatureRenderer() + float rorder = ap.getSeqPanel().seqCanvas.getFeatureRenderer() .getOrder(key); if (rorder > -1) { @@ -1219,8 +1222,9 @@ public class Jalview2XML fs.addSetting(setting); settingsAdded.addElement(key); } - en = ap.seqPanel.seqCanvas.getFeatureRenderer().featureGroups - .keySet().iterator(); + // is groups actually supposed to be a map here ? + en = ap.getSeqPanel().seqCanvas.getFeatureRenderer().getFeatureGroups() + .iterator(); Vector groupsAdded = new Vector(); while (en.hasNext()) { @@ -1231,8 +1235,8 @@ public class Jalview2XML } Group g = new Group(); g.setName(grp); - g.setDisplay(((Boolean) ap.seqPanel.seqCanvas - .getFeatureRenderer().featureGroups.get(grp)) + g.setDisplay(((Boolean) ap.getSeqPanel().seqCanvas + .getFeatureRenderer().checkGroupVisibility(grp, false)) .booleanValue()); fs.addGroup(g); groupsAdded.addElement(grp); @@ -1429,6 +1433,7 @@ public class Jalview2XML an.addProperty(prop); } } + AnnotationElement ae; if (aa[i].annotations != null) { @@ -3474,7 +3479,7 @@ public class Jalview2XML af.viewport.setConservationSelected(view.getConservationSelected()); af.viewport.setShowJVSuffix(view.getShowFullId()); - af.viewport.rightAlignIds = view.getRightAlignIds(); + af.viewport.setRightAlignIds(view.getRightAlignIds()); af.viewport.setFont(new java.awt.Font(view.getFontName(), view .getFontStyle(), view.getFontSize())); af.alignPanel.fontChanged(); @@ -3536,10 +3541,8 @@ public class Jalview2XML af.viewport.setColourAppliesToAllGroups(true); - if (view.getShowSequenceFeatures()) - { - af.viewport.showSequenceFeatures = true; - } + af.viewport.setShowSequenceFeatures(view.getShowSequenceFeatures()); + if (view.hasCentreColumnLabels()) { af.viewport.setCentreColumnLabels(view.getCentreColumnLabels()); @@ -3606,9 +3609,14 @@ public class Jalview2XML // recover featre settings if (jms.getFeatureSettings() != null) { - af.viewport.featuresDisplayed = new Hashtable(); + FeaturesDisplayed fdi; + af.viewport.setFeaturesDisplayed(fdi = new FeaturesDisplayed()); String[] renderOrder = new String[jms.getFeatureSettings() .getSettingCount()]; + Hashtable featureGroups = new Hashtable(); + Hashtable featureColours = new Hashtable(); + Hashtable featureOrder = new Hashtable(); + for (int fs = 0; fs < jms.getFeatureSettings().getSettingCount(); fs++) { Setting setting = jms.getFeatureSettings().getSetting(fs); @@ -3635,41 +3643,42 @@ public class Jalview2XML gc.setColourByLabel(setting.getColourByLabel()); } // and put in the feature colour table. - af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setColour( - setting.getType(), gc); + featureColours.put(setting.getType(), gc); } else { - af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setColour( - setting.getType(), + featureColours.put(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()); + featureOrder.put(setting.getType(), setting.getOrder()); } else { - af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().setOrder( - setting.getType(), - fs / jms.getFeatureSettings().getSettingCount()); + featureOrder.put(setting.getType(), new Float(fs + / jms.getFeatureSettings().getSettingCount())); } if (setting.getDisplay()) { - af.viewport.featuresDisplayed.put(setting.getType(), new Integer( - setting.getColour())); + fdi.setVisible(setting.getType()); } } - af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder = renderOrder; - Hashtable fgtable; - af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featureGroups = fgtable = new Hashtable(); + Hashtable fgtable = new Hashtable(); for (int gs = 0; gs < jms.getFeatureSettings().getGroupCount(); gs++) { Group grp = jms.getFeatureSettings().getGroup(gs); fgtable.put(grp.getName(), new Boolean(grp.getDisplay())); } + // FeatureRendererSettings frs = new FeatureRendererSettings(renderOrder, + // fgtable, featureColours, jms.getFeatureSettings().hasTransparency() ? + // jms.getFeatureSettings().getTransparency() : 0.0, featureOrder); + FeatureRendererSettings frs = new FeatureRendererSettings( + renderOrder, fgtable, featureColours, 1.0f, featureOrder); + af.alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer() + .transferSettings(frs); + } if (view.getHiddenColumnsCount() > 0) @@ -4014,7 +4023,7 @@ public class Jalview2XML addDatasetRef(vamsasSet.getDatasetId(), ds); } // set the dataset for the newly imported alignment. - if (al.getDataset() == null) + if (al.getDataset() == null && !ignoreUnrefed) { al.setDataset(ds); } @@ -4531,5 +4540,4 @@ public class Jalview2XML { skipList = skipList2; } - }