package jalview.io;
import jalview.api.AlignExportSettingI;
+import jalview.datamodel.AlignExportSettingBeanI;
import jalview.datamodel.AlignmentExportData;
import jalview.exceptions.NoFileSelectedException;
import jalview.gui.AlignmentPanel;
import jalview.gui.IProgressIndicator;
import jalview.util.MessageManager;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
}
}
+ String _bioJson=null;
public String getBioJSONData()
{
- return getBioJSONData(null);
+ if (_bioJson==null) {
+ getBioJSONData(null);
+ }
+ return _bioJson;
}
- public String getBioJSONData(AlignExportSettingI exportSettings)
+ public void getBioJSONData(AlignExportSettingBeanI exportSettings)
{
if (!isEmbedData())
{
- return null;
+ return;
}
if (exportSettings == null)
{
- exportSettings = new AlignExportSettingI()
+ exportSettings = new AlignExportSettingBeanI()
{
@Override
public boolean isExportHiddenSequences()
{
return false;
}
+
};
}
- AlignmentExportData exportData = jalview.gui.AlignFrame
- .getAlignmentForExport(FileFormat.Json, ap.getAlignViewport(),
+ AlignExportSettingI exportDataSettings = jalview.gui.AlignFrame
+ .getAlignmentForExport(FileFormat.Json, ap,
exportSettings);
- String bioJSON = new FormatAdapter(ap, exportData.getSettings())
- .formatSequences(FileFormat.Json, exportData.getAlignment(),
- exportData.getOmitHidden(),
- exportData.getStartEndPostions(), ap.getAlignViewport()
- .getAlignment().getHiddenColumns());
- return bioJSON;
+ exportDataSettings.addActionListener(new ActionListener()
+ {
+
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ AlignmentExportData exportData = exportDataSettings.getAlignExportData();
+ _bioJson = new FormatAdapter(ap, exportData.getSettings())
+ .formatSequences(FileFormat.Json, exportData.getAlignment(),
+ exportData.getOmitHidden(),
+ exportData.getStartEndPostions(), ap.getAlignViewport()
+ .getAlignment().getHiddenColumns());
+
+ }
+
+
+ });
+ exportDataSettings.doShowSettings();
}
/**