import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Rectangle;
+import java.io.File;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
import jalview.datamodel.SearchResultsI;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
+import jalview.io.AppletFormatAdapter;
+import jalview.io.DataSourceType;
+import jalview.io.FileFormatException;
+import jalview.io.FileFormatI;
+import jalview.io.FileFormats;
+import jalview.io.FileLoader;
+import jalview.io.IdentifyFile;
import jalview.renderer.ResidueShader;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.ColourSchemeProperty;
}
/**
+ * Load a File into this AlignViewport attempting to detect format if not
+ * given or given as null.
+ *
+ * @param file
+ * @param format
+ */
+ public void addFile(File file, FileFormatI format)
+ {
+ addFile(file, format, true);
+ }
+
+ public void addFile(File file, FileFormatI format, boolean async)
+ {
+ DataSourceType protocol = AppletFormatAdapter.checkProtocol(file);
+
+ if (format == null)
+ {
+ try
+ {
+ format = new IdentifyFile().identify(file, protocol);
+ } catch (FileFormatException e1)
+ {
+ jalview.bin.Console.error("Unknown file format for '" + file + "'");
+ }
+ }
+ else if (FileFormats.getInstance().isIdentifiable(format))
+ {
+ try
+ {
+ format = new IdentifyFile().identify(file, protocol);
+ } catch (FileFormatException e)
+ {
+ jalview.bin.Console.error("Unknown file format for '" + file + "'",
+ e);
+ }
+ }
+
+ new FileLoader().LoadFile(this, file, DataSourceType.FILE, format,
+ async);
+ }
+
+ public void addFile(File file)
+ {
+ addFile(file, null);
+ }
+
+ /**
* Show a dialog with the option to open and link (cDNA <-> protein) as a new
* alignment, either as a standalone alignment or in a split frame. Returns
* true if the new alignment was opened, false if not, because the user
JvOptionPane dialog = JvOptionPane.newOptionDialog(Desktop.desktop)
.setResponseHandler(0, () -> {
addDataToAlignment(al);
- return null;
}).setResponseHandler(1, () -> {
us.openLinkedAlignmentAs(al, title, true);
- return null;
}).setResponseHandler(2, () -> {
us.openLinkedAlignmentAs(al, title, false);
- return null;
});
dialog.showDialog(question,
MessageManager.getString("label.open_split_window"),
*/
protected boolean noReferencesTo(AlignedCodonFrame acf)
{
- AlignFrame[] frames = Desktop.getAlignFrames();
+ AlignFrame[] frames = Desktop.getDesktopAlignFrames();
if (frames == null)
{
return true;
{
this.viewName = viewName;
}
+
}