import jalview.schemes.ResidueColourScheme;
import jalview.schemes.TCoffeeColourScheme;
import jalview.util.MessageManager;
+import jalview.util.dialogrunner.RunResponse;
import jalview.viewmodel.AlignmentViewport;
import jalview.viewmodel.ViewportRanges;
import jalview.ws.DBRefFetcher;
Desktop.getDesktop().propertyChange(evt);
}
-
/**
- * BH 2018
- *
+ * BH 2018
+ *
* @return true if we have any features
*/
@Override
- protected boolean haveAlignmentFeatures() {
+ protected boolean haveAlignmentFeatures()
+ {
AlignmentI alignment = getViewport().getAlignment();
for (int i = 0; i < alignment.getHeight(); i++)
SequenceI seq = alignment.getSequenceAt(i);
for (String group : seq.getFeatures().getFeatureGroups(true))
{
- if (group != null)return true;
+ if (group != null)
+ return true;
}
}
- return false;
+ return false;
}
-
+
/**
* initalise the alignframe from the underlying viewport data and the
* configurations
*
*/
{
- addServiceListeners();
+ addServiceListeners();
}
setGUINucleotide();
}
setFileFormat(format);
reload.setEnabled(true);
}
-
+
/**
* JavaScript will have this, maybe others. More dependable than a file name
* and maintains a reference to the actual bytes loaded.
*
* @param file
*/
- public void setFileObject(File file) {
+ public void setFileObject(File file)
+ {
this.fileObject = file;
}
FileLoader loader = new FileLoader();
DataSourceType protocol = fileName.startsWith("http:")
- ? DataSourceType.URL : DataSourceType.FILE;
+ ? DataSourceType.URL
+ : DataSourceType.FILE;
loader.LoadFile(viewport, fileName, protocol, currentFileFormat);
}
else
{
DataSourceType protocol = (fileName.startsWith("http:")
- ? DataSourceType.URL : DataSourceType.FILE);
+ ? DataSourceType.URL
+ : DataSourceType.FILE);
newframe = loader.LoadFileWaitTillLoaded(fileName, protocol,
currentFileFormat);
}
else
{
- newframe = loader.LoadFileWaitTillLoaded(fileObject, DataSourceType.FILE, currentFileFormat);
+ newframe = loader.LoadFileWaitTillLoaded(fileObject,
+ DataSourceType.FILE, currentFileFormat);
}
newframe.setBounds(bounds);
@Override
public void saveAs_actionPerformed(ActionEvent e)
{
- // TODO: JAL-3048 JalviewFileChooser - Save option
-
String format = currentFileFormat == null ? null
: currentFileFormat.getName();
- JalviewFileChooser chooser = JalviewFileChooser
+ final JalviewFileChooser chooser = JalviewFileChooser
.forWrite(Cache.getProperty("LAST_DIRECTORY"), format);
-
+ final AlignFrame us = this;
chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle(
MessageManager.getString("label.save_alignment_to_file"));
chooser.setToolTipText(MessageManager.getString("action.save"));
- int value = chooser.showSaveDialog(this);
-
-
- if (value == JalviewFileChooser.APPROVE_OPTION)
+ chooser.response(new RunResponse(JalviewFileChooser.APPROVE_OPTION)
{
- currentFileFormat = chooser.getSelectedFormat();
- while (currentFileFormat == null)
+ @Override
+ public void run()
{
- JvOptionPane.showInternalMessageDialog(Desktop.desktop,
- MessageManager.getString(
- "label.select_file_format_before_saving"),
- MessageManager.getString("label.file_format_not_specified"),
- JvOptionPane.WARNING_MESSAGE);
currentFileFormat = chooser.getSelectedFormat();
- value = chooser.showSaveDialog(this);
- if (value != JalviewFileChooser.APPROVE_OPTION)
+ while (currentFileFormat == null)
{
- return;
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop,
+ MessageManager.getString(
+ "label.select_file_format_before_saving"),
+ MessageManager
+ .getString("label.file_format_not_specified"),
+ JvOptionPane.WARNING_MESSAGE);
+ currentFileFormat = chooser.getSelectedFormat();
+ chooser.showSaveDialog(us);
}
- }
- fileName = chooser.getSelectedFile().getPath();
+ fileName = chooser.getSelectedFile().getPath();
- Cache.setProperty("DEFAULT_FILE_FORMAT", currentFileFormat.getName());
+ Cache.setProperty("DEFAULT_FILE_FORMAT",
+ currentFileFormat.getName());
- Cache.setProperty("LAST_DIRECTORY", fileName);
- saveAlignment(fileName, currentFileFormat);
- }
+ Cache.setProperty("LAST_DIRECTORY", fileName);
+ saveAlignment(fileName, currentFileFormat);
+ }
+ }).showSaveDialog(this);
}
public boolean saveAlignment(String file, FileFormatI format)
return success;
}
- private void warningMessage(String warning, String title)
- {
- if (new jalview.util.Platform().isHeadless())
- {
- System.err.println("Warning: " + title + "\nWarning: " + warning);
-
- }
- else
- {
- JvOptionPane.showInternalMessageDialog(this, warning, title,
- JvOptionPane.WARNING_MESSAGE);
- }
- return;
- }
-
/**
* DOCUMENT ME!
*
@Override
public void associatedData_actionPerformed(ActionEvent e)
{
- JalviewFileChooser chooser = new JalviewFileChooser(
+ final JalviewFileChooser chooser = new JalviewFileChooser(
jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle(
MessageManager.getString("label.load_jalview_annotations"));
chooser.setToolTipText(
MessageManager.getString("label.load_jalview_annotations"));
+ chooser.response(new RunResponse(JalviewFileChooser.APPROVE_OPTION)
+ {
- Desktop.getDesktop().dialogData = new Object[] { "SelectedFile",
- new Runnable()
- {
-
- @Override
- public void run()
- {
- Object[] data = Desktop.getDesktop().dialogData;
- int value = ((Integer) data[0]).intValue();
-
- if (value == JFileChooser.APPROVE_OPTION)
- {
- JalviewFileChooser chooser = (JalviewFileChooser) data[2];
- String choice = chooser.getSelectedFile().getPath();
- jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
- loadJalviewDataFile(choice, null, null, null);
- }
- }
-
- }, chooser };
-
- chooser.showOpenDialog(null);
-
+ @Override
+ public void run()
+ {
+ String choice = chooser.getSelectedFile().getPath();
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+ loadJalviewDataFile(chooser.getSelectedFile(), null, null, null);
+ }
+ });
+ chooser.openDialog(this);
}
/**
@Override
protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
{
- // TODO: JAL-3048 JalviewFileChooser
// Pick the tree file
JalviewFileChooser chooser = new JalviewFileChooser(
jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
chooser.setToolTipText(
MessageManager.getString("label.load_tree_file"));
- int value = chooser.showOpenDialog(null);
-
- if (value == JalviewFileChooser.APPROVE_OPTION)
+ chooser.response(new jalview.util.dialogrunner.RunResponse(
+ JalviewFileChooser.APPROVE_OPTION)
{
- String filePath = chooser.getSelectedFile().getPath();
- Cache.setProperty("LAST_DIRECTORY", filePath);
- NewickFile fin = null;
- try
- {
- fin = new NewickFile(filePath, DataSourceType.FILE);
- viewport.setCurrentTree(showNewickTree(fin, filePath).getTree());
- } catch (Exception ex)
- {
- JvOptionPane.showMessageDialog(Desktop.desktop, ex.getMessage(),
- MessageManager.getString("label.problem_reading_tree_file"),
- JvOptionPane.WARNING_MESSAGE);
- ex.printStackTrace();
- }
- if (fin != null && fin.hasWarningMessage())
+ @Override
+ public void run()
{
- JvOptionPane.showMessageDialog(Desktop.desktop,
- fin.getWarningMessage(),
- MessageManager
- .getString("label.possible_problem_with_tree_file"),
- JvOptionPane.WARNING_MESSAGE);
+ String filePath = chooser.getSelectedFile().getPath();
+ Cache.setProperty("LAST_DIRECTORY", filePath);
+ NewickFile fin = null;
+ try
+ {
+ fin = new NewickFile(new FileParse(chooser.getSelectedFile(),
+ DataSourceType.FILE));
+ viewport.setCurrentTree(showNewickTree(fin, filePath).getTree());
+ } catch (Exception ex)
+ {
+ JvOptionPane.showMessageDialog(Desktop.desktop, ex.getMessage(),
+ MessageManager
+ .getString("label.problem_reading_tree_file"),
+ JvOptionPane.WARNING_MESSAGE);
+ ex.printStackTrace();
+ }
+ if (fin != null && fin.hasWarningMessage())
+ {
+ JvOptionPane.showMessageDialog(Desktop.desktop,
+ fin.getWarningMessage(),
+ MessageManager.getString(
+ "label.possible_problem_with_tree_file"),
+ JvOptionPane.WARNING_MESSAGE);
+ }
}
- }
+ }).openDialog(this);
}
public TreePanel showNewickTree(NewickFile nf, String treeTitle)
*/
public boolean parseFeaturesFile(Object file, DataSourceType sourceType)
{
- // BH 2018
+ // BH 2018
return avc.parseFeaturesFile(file, sourceType,
Cache.getDefault("RELAXEDSEQIDMATCHING", false));
// Java's Transferable for native dnd
evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
Transferable t = evt.getTransferable();
-
-
+
final AlignFrame thisaf = this;
final List<Object> files = new ArrayList<>();
List<DataSourceType> protocols = new ArrayList<>();
ArrayList<Object> filesnotmatched = new ArrayList<>();
for (int i = 0; i < files.size(); i++)
{
- // BH 2018
+ // BH 2018
Object file = files.get(i);
String fileName = file.toString();
String pdbfn = "";
- DataSourceType protocol = (file instanceof File ? DataSourceType.FILE : FormatAdapter.checkProtocol(fileName));
+ DataSourceType protocol = (file instanceof File
+ ? DataSourceType.FILE
+ : FormatAdapter.checkProtocol(fileName));
if (protocol == DataSourceType.FILE)
{
- File fl = (file instanceof File ? (File) file : new File(fileName));
+ File fl = (file instanceof File ? (File) file
+ : new File(fileName));
pdbfn = fl.getName();
}
else if (protocol == DataSourceType.URL)
int assocfiles = 0;
if (filesmatched.size() > 0)
{
- boolean autoAssociate = Cache.getDefault("AUTOASSOCIATE_PDBANDSEQS", false);
+ boolean autoAssociate = Cache
+ .getDefault("AUTOASSOCIATE_PDBANDSEQS", false);
if (!autoAssociate)
{
String msg = MessageManager.formatMessage(
@Override
protected void loadVcf_actionPerformed()
{
- // TODO: JAL-3048 - No VCF support in JsJalview
JalviewFileChooser chooser = new JalviewFileChooser(
Cache.getProperty("LAST_DIRECTORY"));
chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle(MessageManager.getString("label.load_vcf_file"));
chooser.setToolTipText(MessageManager.getString("label.load_vcf_file"));
+ final AlignFrame us = this;
+ chooser.response(new RunResponse(JalviewFileChooser.APPROVE_OPTION)
+ {
+ @Override
+ public void run()
+ {
- int value = chooser.showOpenDialog(null);
+ {
+ String choice = chooser.getSelectedFile().getPath();
+ Cache.setProperty("LAST_DIRECTORY", choice);
+ SequenceI[] seqs = viewport.getAlignment().getSequencesArray();
+ new VCFLoader(choice).loadVCF(seqs, us);
+ }
- if (value == JalviewFileChooser.APPROVE_OPTION)
- {
- String choice = chooser.getSelectedFile().getPath();
- Cache.setProperty("LAST_DIRECTORY", choice);
- SequenceI[] seqs = viewport.getAlignment().getSequencesArray();
- new VCFLoader(choice).loadVCF(seqs, this);
- }
+ };
+ }).openDialog(null);
}