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 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;
/**
* Holds name and link separated with | character. Sequence IDS and Sequences
- * must be $SEQUENCEIDS$ or $SEQUENCEIDS=/.possible | chars ./=$ and $SEQUENCES$
- * or $SEQUENCES=/.possible | chars ./=$ and separation character for first and
- * second token specified after a pipe character at end |,|. (TODO: proper
- * escape for using | to separate ids or sequences
+ * must be $SEQUENCEIDS$ or $SEQUENCEIDS=/.possible | chars ./=$ and
+ * $SEQUENCES$ or $SEQUENCES=/.possible | chars ./=$ and separation character
+ * for first and second token specified after a pipe character at end |,|.
+ * (TODO: proper escape for using | to separate ids or sequences
*/
public static List<String> groupURLLinks;
static
{
+ // don't populate with session properties
+ Cache.disableSessionProperties();
+
// get links selected to be in the menu (SEQUENCE_LINKS)
// and links entered by the user but not selected (STORED_LINKS)
String inMenuString = Cache.getDefault("SEQUENCE_LINKS", "");
*/
groupURLLinks = new ArrayList<>();
+
+ // reenable
+ Cache.enableSessionProperties();
}
JInternalFrame frame;
private OptionsParam promptEachTimeOpt = new OptionsParam(
MessageManager.getString("label.prompt_each_time"),
- "Prompt each time");
+ LineartOptions.PROMPT_EACH_TIME);
private OptionsParam lineArtOpt = new OptionsParam(
MessageManager.getString("label.lineart"), "Lineart");
private Preferences()
{
super();
+ // don't populate with session properties
+ Cache.disableSessionProperties();
+
frame = new JInternalFrame();
+ frame.setFrameIcon(null);
frame.setContentPane(this);
if (!Platform.isJS())
/**
conservation.setSelected(Cache.getDefault("SHOW_CONSERVATION", true));
quality.setSelected(Cache.getDefault("SHOW_QUALITY", true));
identity.setSelected(Cache.getDefault("SHOW_IDENTITY", true));
+ ssConsensus.setSelected(Cache.getDefault("SHOW_SS_CONSENSUS", false));
openoverv.setSelected(Cache.getDefault("SHOW_OVERVIEW", false));
showUnconserved
.setSelected(Cache.getDefault("SHOW_UNCONSERVED", false));
* Set overview panel defaults
*/
gapColour.setBackground(Cache.getDefaultColour(GAP_COLOUR,
- jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_GAP));
+ OverviewCanvas.OVERVIEW_DEFAULT_GAP));
hiddenColour.setBackground(Cache.getDefaultColour(HIDDEN_COLOUR,
- jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_HIDDEN));
+ OverviewCanvas.OVERVIEW_DEFAULT_HIDDEN));
useLegacyGap.setSelected(Cache.getDefault(USE_LEGACY_GAP, false));
gapLabel.setEnabled(!useLegacyGap.isSelected());
gapColour.setEnabled(!useLegacyGap.isSelected());
}
} 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())
{
String path = structureViewerPath.getText();
- try {
- ViewerType type = ViewerType.valueOf(viewerType);
- switch (type)
+ 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)
{
- 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;
+ Console.error("Failed to set path - unknown viewer type", x);
}
- } catch (IllegalArgumentException x)
- {
- Cache.log.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
* Set Startup tab defaults
*/
+ // re-enable
+ Cache.enableSessionProperties();
}
/**
protected void setupOutputCombo(JComboBox<Object> comboBox,
String propertyKey)
{
+ Cache.disableSessionProperties();
+
comboBox.addItem(promptEachTimeOpt);
comboBox.addItem(lineArtOpt);
comboBox.addItem(textOpt);
{
comboBox.setSelectedItem(promptEachTimeOpt);
}
+
+ Cache.enableSessionProperties();
}
/**
@Override
public void ok_actionPerformed(ActionEvent e)
{
+ Cache.disableSessionProperties();
+
if (!validateSettings())
{
return;
/*
* Save Visual settings
*/
+
Cache.applicationProperties.setProperty("SHOW_JVSUFFIX",
Boolean.toString(seqLimit.isSelected()));
Cache.applicationProperties.setProperty("RIGHT_ALIGN_IDS",
Cache.applicationProperties.setProperty("SHOW_IDENTITY",
Boolean.toString(identity.isSelected()));
+ Cache.applicationProperties.setProperty("SHOW_SS_CONSENSUS",
+ Boolean.toString(ssConsensus.isSelected()));
+
Cache.applicationProperties.setProperty("GAP_SYMBOL",
gapSymbolCB.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())
} catch (Exception ex)
{
}
+
+ Cache.enableSessionProperties();
}
public void saveProxySettings()
{
+ Cache.disableSessionProperties();
+
String newProxyType = customProxy.isSelected() ? Cache.PROXYTYPE_CUSTOM
: noProxy.isSelected() ? Cache.PROXYTYPE_NONE
: Cache.PROXYTYPE_SYSTEM;
wsPrefs.update++;
}
previousProxyType = newProxyType;
+
+ Cache.enableSessionProperties();
}
/**
- * Do any necessary validation before saving settings. Return focus to the first
- * tab which fails validation.
+ * Do any necessary validation before saving settings. Return focus to the
+ * first tab which fails validation.
*
* @return
*/
@Override
public void startupFileTextfield_mouseClicked()
{
+ Cache.disableSessionProperties();
+
// TODO: JAL-3048 not needed for Jalview-JS
- String fileFormat = Cache.getProperty("DEFAULT_FILE_FORMAT");
+ // default file format now determined by JalviewFileChooser
JalviewFileChooser chooser = JalviewFileChooser
- .forRead(Cache.getProperty("LAST_DIRECTORY"), fileFormat);
+ .forRead(Cache.getProperty("LAST_DIRECTORY"), null);
chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle(
MessageManager.getString("label.select_startup_file"));
startupFileTextfield
.setText(chooser.getSelectedFile().getAbsolutePath());
}
+
+ Cache.enableSessionProperties();
}
/**
* DOCUMENT ME!
*
* @param e
- * DOCUMENT ME!
+ * DOCUMENT ME!
*/
@Override
public void cancel_actionPerformed(ActionEvent e)
* DOCUMENT ME!
*
* @param e
- * DOCUMENT ME!
+ * DOCUMENT ME!
*/
@Override
public void annotations_actionPerformed(ActionEvent e)
conservation.setEnabled(annotations.isSelected());
quality.setEnabled(annotations.isSelected());
identity.setEnabled(annotations.isSelected());
+ ssConsensus.setEnabled(annotations.isSelected());
showOccupancy.setEnabled(annotations.isSelected());
showGroupConsensus.setEnabled(annotations.isSelected());
showGroupConservation.setEnabled(annotations.isSelected());
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)
*
boolean enabled = useLegacyGap.isSelected();
if (enabled)
{
- gapColour.setBackground(
- jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_LEGACY_GAP);
+ gapColour.setBackground(OverviewCanvas.OVERVIEW_DEFAULT_LEGACY_GAP);
}
else
{
- gapColour.setBackground(
- jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_GAP);
+ gapColour.setBackground(OverviewCanvas.OVERVIEW_DEFAULT_GAP);
}
gapColour.setEnabled(!enabled);
gapLabel.setEnabled(!enabled);
useLegacyGap.setSelected(false);
useLegacyGaps_actionPerformed(null);
showHiddenAtStart.setSelected(false);
- hiddenColour.setBackground(
- jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_HIDDEN);
+ hiddenColour.setBackground(OverviewCanvas.OVERVIEW_DEFAULT_HIDDEN);
}
@Override
}
/**
- * Returns true if structure viewer path is to a valid executable, else shows an
- * error dialog. Does nothing if the path is empty, as is the case for Jmol
+ * Returns true if structure viewer path is to a valid executable, else shows
+ * an error dialog. Does nothing if the path is empty, as is the case for Jmol
* (built in to Jalview) or when Jalview is left to try default paths.
*/
private boolean validateViewerPath()
}
/**
- * If Chimera or ChimeraX or Pymol is selected, check it can be found on default
- * or user-specified path, if not show a warning/help dialog
+ * If Chimera or ChimeraX or Pymol is selected, check it can be found on
+ * default or user-specified path, if not show a warning/help dialog
*/
@Override
protected void structureViewer_actionPerformed(String selectedItem)
*/
String viewerPath = "";
List<String> paths = null;
+ Cache.disableSessionProperties();
try
{
ViewerType viewerType = ViewerType.valueOf(selectedItem);
{
// only valid entries should be in the drop-down
}
+ Cache.enableSessionProperties();
structureViewerPath.setText(viewerPath);
paths.add(0, structureViewerPath.getText());