package jalview.io;
-import jalview.api.AlignViewportI;
+import jalview.api.AlignmentViewPanel;
import jalview.api.ComplexAlignFile;
import jalview.api.FeatureRenderer;
import jalview.api.FeaturesDisplayedI;
parse(getReader());
}
-
@Override
public String print()
{
AlignmentPojo jsonAlignmentPojo = new AlignmentPojo();
if (getViewport() != null)
{
- globalColorScheme = ColourSchemeProperty
- .getColourName(getViewport()
- .getGlobalColourScheme());
- setDisplayedFeatures(getViewport().getFeaturesDisplayed());
- showSeqFeatures = getViewport().isShowSequenceFeatures();
- fr = getViewport().getFeatureRenderer();
+ configureFromViewport();
+
}
int count = 0;
if (hiddenSections != null)
{
if (hiddenSections[0] != null
- && getViewport().getExportSettings()
+ && getExportSettings()
.isExportHiddenColumns())
{
jsonAlignmentPojo.getAppSettings().put("hiddenCols",
String.valueOf(hiddenSections[0]));
}
if (hiddenSections[1] != null
- && getViewport().getExportSettings()
+ && getExportSettings()
.isExportHiddenSequences())
{
jsonAlignmentPojo.getAppSettings().put("hiddenSeqs",
}
}
- if (getViewport().getExportSettings().isExportAnnotations())
+ if (getExportSettings().isExportAnnotations())
{
jsonAlignmentPojo
.setAlignAnnotation(annotationToJsonPojo(annotations));
}
- if (getViewport().getExportSettings().isExportFeatures())
+ if (getExportSettings().isExportFeatures())
{
jsonAlignmentPojo
.setSeqFeatures(sequenceFeatureToJsonPojo(seqs, fr));
}
- if (getViewport().getExportSettings().isExportGroups()
+ if (getExportSettings().isExportGroups()
&& seqGroups != null
&& seqGroups.size() > 0)
{
this.displayedFeatures = displayedFeatures;
}
-
- public static String getJSONData(AlignViewportI av)
+ public void configureForView(AlignmentViewPanel avpanel)
{
- JSONFile jsonFile = new JSONFile();
- jsonFile.setViewport(av);
- jsonFile.seqGroups = av.getAlignment().getGroups();
- jsonFile.setDisplayedFeatures(av.getFeaturesDisplayed());
- for (SequenceI seq : av.getAlignment().getSequences())
+ setViewport(avpanel.getAlignViewport());
+ seqGroups = avpanel.getAlignment().getGroups();
+ setDisplayedFeatures(getViewport().getFeaturesDisplayed());
+ fr = avpanel.cloneFeatureRenderer();
+
+ for (SequenceI seq : getViewport().getAlignment().getSequences())
{
- jsonFile.seqs.add(seq);
+ seqs.add(seq);
}
// Add non auto calculated annotation to AlignFile
- for (AlignmentAnnotation annot : av.getAlignment()
+ for (AlignmentAnnotation annot : getViewport().getAlignment()
.getAlignmentAnnotation())
{
if (annot != null && !annot.autoCalculated)
{
continue;
}
- jsonFile.annotations.add(annot);
+ annotations.add(annot);
}
}
+ }
+
+ public void configureFromViewport()
+ {
+ if (getViewport() == null)
+ {
+ return;
+ }
+ globalColorScheme = ColourSchemeProperty.getColourName(getViewport()
+ .getGlobalColourScheme());
+ setDisplayedFeatures(getViewport().getFeaturesDisplayed());
+ showSeqFeatures = getViewport().isShowSequenceFeatures();
+ }
+
+ public static String getJSONData(AlignmentViewPanel av)
+ {
+ JSONFile jsonFile = new JSONFile();
+ jsonFile.configureForView(av);
String jsonString = jsonFile.print();
return jsonString;
}