X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fbin%2FAppletParams.java;h=6a23c393043ecf06d233ed9e04be2618ef59023d;hb=ce039b3f8a0b9a3a266838082a678821507ddcc3;hp=290ae0148786eb65b193d5ebbade48e12023295c;hpb=1901363236478f0d50feda5a2f5835036ff04615;p=jalview.git diff --git a/src/jalview/bin/AppletParams.java b/src/jalview/bin/AppletParams.java index 290ae01..6a23c39 100644 --- a/src/jalview/bin/AppletParams.java +++ b/src/jalview/bin/AppletParams.java @@ -1,5 +1,7 @@ package jalview.bin; +import jalview.gui.Preferences; + import java.util.HashMap; import java.util.Map; import java.util.Vector; @@ -15,7 +17,8 @@ public class AppletParams extends HashMap { private final static String[] params = { "alignpdbfiles", - "ANNOTATIONCOLOUR_MAX", "ANNOTATIONCOLOUR_MIN", "annotations", + Preferences.ANNOTATIONCOLOUR_MAX, Preferences.ANNOTATIONCOLOUR_MIN, + "annotations", "APPLICATION_URL", "automaticScrolling", "centrecolumnlabels", "debug", "defaultColour", "defaultColourNuc", "defaultColourProt", "embedded", "enableSplitFrame", "externalstructureviewer", "features", @@ -125,236 +128,243 @@ public class AppletParams extends HashMap String arg = args[i].trim(); if (arg.startsWith("name=")) { - String appName = getAttr(arg, "name"); + String prefName = getAttr(arg, "name"); + String appletName = prefName.toLowerCase(); + String argName = prefName; String value = getAttr(arg, "value"); - String appletName = appName.toLowerCase(); // note that Application arguments ARE case-sensitive, but // Applet.getParameter() is not. switch (appletName) { - // tested, working: - case "jnetfile": + + case "file": + argName = "open"; + appletName = null; value = resourcePath + value; - appName = null; break; - case "jpredfile": + case "file2": + argName = "open2"; + prefName = null; value = resourcePath + value; - appName = null; break; case "features": - value = resourcePath + value; - appName = null; - break; + case "jnetfile": + case "jpredfile": case "pdbfile": - appName = "PDBFILE"; + case "scorefile": + case "sequence": + // setting argName to null indicates that we want + // JalviewAppLoader to take care of this. + prefName = argName = null; value = resourcePath + value; - appName = null; break; case "tree": case "treefile": - appName = "tree"; - value = resourcePath + value; - appletName = null; // taken care of by Jalview - break; - // implemented; not tested: - case "annotations": + // setting appletName to null indicates that we want + // Jalview.doMain to taken care of this as Jalview args + argName = "tree"; + appletName = null; value = resourcePath + value; - appName = null; break; + + // non-loading preferences + case "defaultcolour": - appName = "DEFAULT_COLOUR"; // defaultColour + prefName = Preferences.DEFAULT_COLOUR; break; case "defaultcolournuc": - appName = "DEFAULT_COLOUR_NUC";// defaultColourNuc + prefName = Preferences.DEFAULT_COLOUR_NUC; break; case "defaultcolourprot": - appName = "DEFAULT_COLOUR_PROT";// defaultColourProt"; + prefName = Preferences.DEFAULT_COLOUR_PROT; break; case "annotationcolour_max": - appName = "ANNOTATIONCOLOUR_MAX"; + prefName = Preferences.ANNOTATIONCOLOUR_MAX; break; case "annotationcolour_min": - appName = "ANNOTATIONCOLOUR_MIN"; - break; - case "centrecolumnlabels": - appName = null; + prefName = Preferences.ANNOTATIONCOLOUR_MIN; break; case "enablesplitframe": - appName = "enableSplitFrame"; - break; - case "externalstructureviewer": - break; - case "alignpdbfiles": - break; - case "application_url": - appName = "APPLICATION_URL"; + prefName = Preferences.ENABLE_SPLIT_FRAME; break; - case "automaticscrolling": - appName = "automaticScrolling"; + case "centrecolumnlabels": + prefName = Preferences.CENTRE_COLUMN_LABELS; break; - case "heightscale": - appName = "heightScale"; + case "sortby": + prefName = Preferences.SORT_ALIGNMENT; // id, etc. break; - case "hidefeaturegroups": + case "normalisesequencelogo": + prefName = Preferences.NORMALISE_CONSENSUS_LOGO; break; - case "jalviewhelpurl": + case "relaxedidmatch": + prefName = Preferences.RELAXEDSEQIDMATCHING; break; - case "label": + case "scaleproteinascdna": + prefName = Preferences.SCALE_PROTEIN_TO_CDNA; break; - case "linklabel_": - appName = "linkLabel_"; + case "userdefinedcolour": + argName = "colour"; + prefName = Preferences.USER_DEFINED_COLOURS; break; - case "linklabel_1": - appName = "linkLabel_1"; + case "wrap": + prefName = Preferences.WRAP_ALIGNMENT; break; - case "linkurl_": - appName = "linkURL_"; + + // implemented; not tested: + + case "oninit": + prefName = null; break; - case "nojmol": + case "annotations": + value = resourcePath + value; + argName = null; break; - case "normaliselogo": - appName = "normaliseLogo"; + case "hidefeaturegroups": + // TODO break; - case "normalisesequencelogo": - appName = "normaliseSequenceLogo"; + case "pdbseq": + argName = prefName = null; break; - case "oninit": + case "sortbytree": + prefName = Preferences.SORT_BY_TREE; + value = checkTF(value); + appletName = null; // taken care of by Jalview break; - case "pdbseq": - appName = "PDBSEQ"; + case "format": break; - case "relaxedidmatch": + case "alignpdbfiles": + argName = prefName = null; break; - case "resolvetocodebase": + case "separator": break; + + // TODO: probably not relevant? + case "rgb": - appName = "RGB"; + prefName = null; // TODO no background for application? break; - case "scaleproteinascdna": - appName = "scaleProteinAsCdna"; + case "externalstructureviewer": break; - case "separator": + case "application_url": break; - case "sequence": + case "automaticscrolling": break; - case "sortby": + case "heightscale": break; - case "sortbytree": - value = checkTF(value); - appletName = null; // taken care of by Jalview + case "jalviewhelpurl": break; - case "format": + case "label": break; - case "scorefile": - appName = "scoreFile"; - value = resourcePath + value; + case "linklabel_": + prefName = "linkLabel_"; break; - case "uppercase": - appName = "upperCase"; + case "linklabel_1": + prefName = "linkLabel_1"; break; - case "userdefinedcolour": - appName = "colour"; + case "linkurl_": + prefName = "linkURL_"; break; + + // unknown: + + case "nojmol": + case "normaliselogo": + case "resolvetocodebase": + case "uppercase": case "widthscale": - appName = "widthScale"; - break; case "windowheight": - appName = "windowHeight"; - break; case "windowwidth": - appName = "windowWidth"; - break; - case "wrap": + argName = prefName = null; break; - // cases not handled in doc/parameters.xlsx + // TRUE/FALSE + case "debug": value = checkTF(value); break; - case "file": - appName = "open"; - value = resourcePath + value; - break; - case "file2": - value = resourcePath + value; - break; case "embedded": value = checkTF(value); break; - case "showannotation": - appName = "SHOW_ANNOTATIONS"; + case "showbutton": value = checkTF(value); break; - case "showbutton": + case "showannotation": + prefName = Preferences.SHOW_ANNOTATIONS; value = checkTF(value); break; case "showconsensus": - appName = "SHOW_CONSENSUS_LOGO"; + prefName = Preferences.SHOW_CONSENSUS_LOGO; value = checkTF(value); break; case "showconsensushistogram": - appName = "SHOW_CONSENSUS_HISTOGRAM"; + prefName = Preferences.SHOW_CONSENSUS_HISTOGRAM; value = checkTF(value); break; case "showconservation": - appName = "SHOW_CONSERVATION"; + prefName = Preferences.SHOW_CONSERVATION; value = checkTF(value); break; - case "showfeaturegroups": + case "showgroupconsensus": + prefName = Preferences.SHOW_GROUP_CONSENSUS; value = checkTF(value); break; - case "showfeaturesettings": - appName = "showFeatureSettings"; + case "showgroupconservation": + prefName = Preferences.SHOW_GROUP_CONSERVATION; value = checkTF(value); break; - case "showfullid": - appName = "showFullId"; + case "showoccupancy": + prefName = Preferences.SHOW_OCCUPANCY; value = checkTF(value); break; - case "showgroupconsensus": - appName = "SHOW_GROUP_CONSENSUS"; + case "showquality": + prefName = Preferences.SHOW_QUALITY; value = checkTF(value); break; - case "showgroupconservation": - appName = "SHOW_GROUP_CONSERVATION"; + case "showsequencelogo": + prefName = Preferences.SHOW_CONSENSUS_LOGO; value = checkTF(value); break; - case "showoccupancy": - appName = "SHOW_OCCUPANCY"; + case "showfeaturegroups": value = checkTF(value); break; - case "showquality": - appName = "SHOW_QUALITY"; + case "showfeaturesettings": value = checkTF(value); break; - case "showsequencelogo": - appName = "showSequenceLogo"; + case "showfullid": value = checkTF(value); break; case "showtreebootstraps": - appName = "showTreeBootstraps"; value = checkTF(value); break; case "showtreedistances": - appName = "showTreeDistances"; value = checkTF(value); break; case "showunconserved": - appName = "showUnconserved"; + prefName = Preferences.SHOW_UNCONSERVED; value = checkTF(value); break; case "showunlinkedtreenodes": - appName = "showUnlinkedTreeNodes"; value = checkTF(value); break; default: + if (appletName.startsWith("pdbfile") + || appletName.startsWith("sequence") && Character.isDigit( + appletName.charAt(appletName.length() - 1))) + { + // could be pdbFile2, for example + prefName = argName = null; + value = resourcePath + value; + break; + } + // or one of the app preference names break; } - if (value != null) + // put name and value into application args + if (value != null && argName != null) { - vargs.add(appName); + vargs.add(argName); if (value != "true") { vargs.add(value); @@ -364,13 +374,17 @@ public class AppletParams extends HashMap { value = "false"; } - System.out.println("AppletParams appName=" + appName + "appletName=" + System.out.println("AppletParams propName=" + prefName + " argName=" + + argName + " appletName=" + appletName + " value=" + value); - Cache.setPropertyNoSave(appName, value); if (appletName != null) { appletParams.put(appletName, value); } + if (prefName != null) + { + Cache.setPropertyNoSave(prefName, value); + } } } return appletParams;