X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJalviewFileChooser.java;fp=src%2Fjalview%2Fio%2FJalviewFileChooser.java;h=65cb603f104983d93beb5f0cfd78dbf55e4eb339;hb=7b733539862769ff2438a3149d120aedd044b1be;hp=ae6c9ebe6b091e2ae2141b2245ec8841ea12fb88;hpb=592c32d037225062c9a4d6caac19b4b556668d9c;p=jalview.git diff --git a/src/jalview/io/JalviewFileChooser.java b/src/jalview/io/JalviewFileChooser.java index ae6c9eb..65cb603 100755 --- a/src/jalview/io/JalviewFileChooser.java +++ b/src/jalview/io/JalviewFileChooser.java @@ -25,6 +25,8 @@ import jalview.bin.Cache; import jalview.gui.JvOptionPane; import jalview.util.MessageManager; import jalview.util.Platform; +import jalview.util.dialogrunner.DialogRunnerI; +import jalview.util.dialogrunner.RunResponse; import java.awt.Component; import java.awt.Dimension; @@ -58,8 +60,10 @@ import javax.swing.plaf.basic.BasicFileChooserUI; * */ public class JalviewFileChooser extends JFileChooser - implements PropertyChangeListener + implements PropertyChangeListener, DialogRunnerI { + jalview.util.dialogrunner.DialogRunner runner = new jalview.util.dialogrunner.DialogRunner<>( + this); /** * Factory method to return a file chooser that offers readable alignment file * formats @@ -159,25 +163,14 @@ public class JalviewFileChooser extends JFileChooser } } - private Runnable theCallback; - - public void setCallback(Runnable callback) - { - this.theCallback = callback; - } - - public Runnable getCallback() - { - return theCallback; - } - @Override public void propertyChange(PropertyChangeEvent evt) { + // TODO other properties need runners... switch (evt.getPropertyName()) { case "SelectedFile": - theCallback.run(); + runner.run(APPROVE_OPTION); break; } } @@ -197,6 +190,12 @@ public class JalviewFileChooser extends JFileChooser return f; } + public void openDialog(Component parent) + { + int value = showOpenDialog(this); + runner.run(value); + } + /** * * @param formats @@ -436,4 +435,10 @@ public class JalviewFileChooser extends JFileChooser } + @Override + public JalviewFileChooser response(RunResponse action) + { + return runner.response(action); + } + }