+/* vim: set ts=2: */
+/**
+ * Copyright (c) 2006 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions, and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * 3. Redistributions must acknowledge that this software was
+ * originally developed by the UCSF Computer Graphics Laboratory
+ * under support by the NIH National Center for Research Resources,
+ * grant P41-RR01081.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
package ext.edu.ucsf.rbvi.strucviz2;
+import jalview.bin.Cache;
+import jalview.gui.Preferences;
+
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class StructureManager
{
- static final String[] defaultStructureKeys =
- { "Structure", "pdb", "pdbFileName", "PDB ID", "structure",
- "biopax.xref.PDB", "pdb_ids", "ModelName", "ModelNumber" };
-
- static final String[] defaultChemStructKeys =
- { "Smiles", "smiles", "SMILES" };
-
- static final String[] defaultResidueKeys =
- { "FunctionalResidues", "ResidueList", "Residues" };
+ static final String[] defaultStructureKeys = { "Structure", "pdb",
+ "pdbFileName", "PDB ID", "structure", "biopax.xref.PDB", "pdb_ids",
+ "ModelName", "ModelNumber" };
- private final String chimeraPropertyName = "chimera";
+ static final String[] defaultChemStructKeys = { "Smiles", "smiles",
+ "SMILES" };
- private final String chimeraPathPropertyKey = "LastChimeraPath";
+ static final String[] defaultResidueKeys = { "FunctionalResidues",
+ "ResidueList", "Residues" };
public enum ModelType
{
// we do not care about the model anymore
selSpec = selSpec.concat(nodeInfo.toSpec());
if (i < chimSelectionList.size() - 1)
+ {
selSpec.concat("|");
+ }
}
if (selSpec.length() > 0)
{
for (ChimeraStructuralObject cso : chimSelectionList)
{
if (cso != null)
+ {
cso.setSelected(false);
+ }
}
chimSelectionList.clear();
}
StructureSettings defaultSettings = null;
// TODO: [Optional] Change priority of Chimera paths
- public List<String> getChimeraPaths()
+ public static List<String> getChimeraPaths()
{
List<String> pathList = new ArrayList<String>();
// if no network is available and the settings have been modified by the
// user, check for a
// path to chimera
- if (defaultSettings != null)
- {
- String defaultPath = defaultSettings.getChimeraPath();
- if (defaultPath != null && !defaultPath.equals(""))
- {
- pathList.add(defaultPath);
- return pathList;
- }
- }
-
- // if no network settings, check if the last chimera path is saved in the
- // session
- // String lastPath = CytoUtils.getDefaultChimeraPath(registrar,
- // chimeraPropertyName,
- // chimeraPathPropertyKey);
- // if (lastPath != null && !lastPath.equals("")) {
- // pathList.add(lastPath);
+ //
+ // For Jalview, Preferences/Cache plays this role instead
+ // if (defaultSettings != null)
+ // {
+ // String defaultPath = defaultSettings.getChimeraPath();
+ // if (defaultPath != null && !defaultPath.equals(""))
+ // {
+ // pathList.add(defaultPath);
// return pathList;
// }
+ // }
+
+ /*
+ * Jalview addition: check if path set in user preferences.
+ */
+ String userPath = Cache.getDefault(Preferences.CHIMERA_PATH, null);
+ if (userPath != null)
+ {
+ pathList.add(0, userPath);
+ }
- // if no user settings and no last path, get default system's settings
+ // Add default installation paths
String os = System.getProperty("os.name");
if (os.startsWith("Linux"))
{