import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.awt.event.MouseEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.CompletableFuture;
import javax.help.HelpSetException;
import javax.swing.JComboBox;
-import javax.swing.JFileChooser;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
+//import edu.stanford.ejalbert.launching.IBrowserLaunching;
import ext.edu.ucsf.rbvi.strucviz2.StructureManager;
import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.bin.MemorySetting;
import jalview.ext.pymol.PymolManager;
import jalview.gui.Help.HelpId;
public static void openPreferences()
{
- openPreferences(0, null);
+ openPreferences(null, null);
}
- public static void openPreferences(int selectTab, String message)
+ public static void openPreferences(TabRef selectTab, String message)
{
Preferences p = getInstance();
- p.selectTab(selectTab);
- p.setMessage(message);
+ if (selectTab != null)
+ p.selectTab(selectTab, message);
p.frame.show();
p.frame.moveToFront();
p.frame.grabFocus();
}
+ public void selectTab(TabRef selectTab, String message)
+ {
+ this.selectTab(selectTab);
+ if (message != null)
+ this.setMessage(message);
+ this.frame.show();
+ }
+
/**
* Creates a new Preferences object.
*/
startupCheckbox
.setSelected(Cache.getDefault("SHOW_STARTUP_FILE", true));
startupFileTextfield.setText(Cache.getDefault("STARTUP_FILE",
- Cache.getDefault("www.jalview.org", "http://www.jalview.org")
- + "/examples/exampleFile_2_3.jar"));
+ Cache.getDefault("www.jalview.org", "https://www.jalview.org")
+ + "/examples/exampleFile_2_7.jvp"));
/*
* Set Colours tab defaults
/*
* Set Structure tab defaults
*/
- final boolean structSelected = Cache.getDefault(STRUCT_FROM_PDB, false);
+ final boolean structSelected = Cache.getDefault(STRUCT_FROM_PDB, true);
structFromPdb.setSelected(structSelected);
- useRnaView.setSelected(Cache.getDefault(USE_RNAVIEW, false));
- useRnaView.setEnabled(structSelected);
- addSecondaryStructure.setSelected(Cache.getDefault(ADD_SS_ANN, false));
+ addSecondaryStructure.setSelected(Cache.getDefault(ADD_SS_ANN, true));
addSecondaryStructure.setEnabled(structSelected);
- addTempFactor.setSelected(Cache.getDefault(ADD_TEMPFACT_ANN, false));
+ addTempFactor.setSelected(Cache.getDefault(ADD_TEMPFACT_ANN, true));
addTempFactor.setEnabled(structSelected);
/*
}
} catch (IllegalArgumentException e)
{
- Cache.log.error("Unknown structure viewer type: " + viewerType
+ Console.error("Unknown structure viewer type: " + viewerType
+ ", defaulting to Jmol");
type = ViewerType.JMOL;
}
{
if (validateViewerPath())
{
- Cache.setProperty(
- structViewer.getSelectedItem().equals(
- ViewerType.CHIMERAX.name()) ? CHIMERAX_PATH
- : CHIMERA_PATH,
- structureViewerPath.getText());
+ String path = structureViewerPath.getText();
+ try
+ {
+ ViewerType type = ViewerType.valueOf(viewerType);
+ switch (type)
+ {
+ case JMOL:
+ break;
+ case CHIMERA:
+ Cache.setProperty(CHIMERA_PATH, path);
+ break;
+ case CHIMERAX:
+ Cache.setProperty(CHIMERAX_PATH, path);
+ break;
+ case PYMOL:
+ Cache.setProperty(PYMOL_PATH, path);
+ break;
+ }
+ } catch (IllegalArgumentException x)
+ {
+ Console.error("Failed to set path - unknown viewer type", x);
+ }
}
}
});
proxyType.setSelected(customProxy.getModel(), true);
break;
default:
- Cache.log.warn(
+ Console.warn(
"Incorrect PROXY_TYPE - should be 'none' (clear proxy properties), 'false' (system settings), 'true' (custom settings): "
+ proxyTypeString);
}
setCustomProxyEnabled();
applyProxyButtonEnabled(false);
- defaultBrowser.setText(Cache.getDefault("DEFAULT_BROWSER", ""));
-
usagestats.setSelected(Cache.getDefault("USAGESTATS", false));
// note antisense here: default is true
questionnaire
Boolean.toString(addTempFactor.isSelected()));
Cache.applicationProperties.setProperty(ADD_SS_ANN,
Boolean.toString(addSecondaryStructure.isSelected()));
- Cache.applicationProperties.setProperty(USE_RNAVIEW,
- Boolean.toString(useRnaView.isSelected()));
Cache.applicationProperties.setProperty(STRUCT_FROM_PDB,
Boolean.toString(structFromPdb.isSelected()));
String viewer = structViewer.getSelectedItem().toString();
*/
// Proxy settings set first (to catch web services)
- Cache.setOrRemove("DEFAULT_BROWSER", defaultBrowser.getText());
-
- jalview.util.BrowserLauncher.resetBrowser();
-
// save user-defined and selected links
String menuLinks = sequenceUrlLinks.writeUrlsAsString(true);
if (menuLinks.isEmpty())
if (index == -1)
{
// button no longer enabled if row is not selected
- Cache.log.debug("Edit with no row selected in linkUrlTable");
+ Console.debug("Edit with no row selected in linkUrlTable");
return;
}
if (index == -1)
{
// button no longer enabled if row is not selected
- Cache.log.debug("Delete with no row selected in linkUrlTable");
+ Console.debug("Delete with no row selected in linkUrlTable");
return;
}
else
((UrlLinkTableModel) linkUrlTable.getModel()).removeRow(modelIndex);
}
- @Override
- public void defaultBrowser_mouseClicked(MouseEvent e)
- {
- // TODO: JAL-3048 not needed for j2s
- if (!Platform.isJS()) // BH 2019
- /**
- * Java only
- *
- * @j2sIgnore
- */
- {
- JFileChooser chooser = new JFileChooser(".");
- chooser.setDialogTitle(
- MessageManager.getString("label.select_default_browser"));
-
- int value = chooser.showOpenDialog(this);
-
- if (value == JFileChooser.APPROVE_OPTION)
- {
- defaultBrowser.setText(chooser.getSelectedFile().getAbsolutePath());
- }
- }
- }
-
/*
* (non-Javadoc)
*
MessageManager.getString("label.viewer_missing")),
"", JvOptionPane.YES_NO_OPTION, JvOptionPane.WARNING_MESSAGE,
null, options, options[0]);
+
if (showHelp == JvOptionPane.NO_OPTION)
{
+ this.selectTab(Preferences.TabRef.STRUCTURE_TAB, null);
try
{
Help.showHelpWindow(HelpId.StructureViewer);
e.printStackTrace();
}
}
+ else if (showHelp == JvOptionPane.OK_OPTION)
+ {
+ this.selectTab(Preferences.TabRef.STRUCTURE_TAB, null);
+ CompletableFuture<Void> cf = CompletableFuture.runAsync(() -> {
+ try
+ {
+ for (int i = 0; i < 3; i++)
+ {
+ structureViewerPath.setBackground(Color.PINK);
+ Thread.sleep(500);
+ structureViewerPath.setBackground(Color.WHITE);
+ Thread.sleep(500);
+ }
+ } catch (InterruptedException e)
+ {
+ }
+ });
+ }
}
}