+ String stn;
+ return ((stn = getParameter(name)) == null ? def
+ : "true".equalsIgnoreCase(stn));
+ }
+
+ /**
+ * Get the applet-like document base even though this is an application.
+ */
+ @Override
+ public URL getDocumentBase()
+ {
+ return Platform.getDocumentBase();
+ }
+
+ /**
+ * Get the applet-like code base even though this is an application.
+ */
+ @Override
+ public URL getCodeBase()
+ {
+ return Platform.getCodeBase();
+ }
+
+ @Override
+ public AlignViewportI getViewport()
+ {
+ return af.getViewport();
+ }
+
+ /**
+ * features
+ *
+ */
+ @Override
+ public boolean parseFeaturesFile(String filename,
+ DataSourceType protocol)
+ {
+ return af.parseFeaturesFile(filename, protocol);
+ }
+
+ /**
+ * scorefile
+ *
+ */
+ @Override
+ public boolean loadScoreFile(String sScoreFile) throws IOException
+ {
+ af.loadJalviewDataFile(sScoreFile, null, null, null);
+ return true;
+ }
+
+ /**
+ * annotations, jpredfile, jnetfile
+ *
+ */
+ @Override
+ public void updateForAnnotations()
+ {
+ af.updateForAnnotations();
+ }
+
+ @Override
+ public void loadTree(NewickFile fin, String treeFile)
+ throws IOException
+ {
+ // n/a -- already done by standard Jalview command line processing
+ }
+
+ @Override
+ public void setAlignPdbStructures(boolean defaultParameter)
+ {
+ alignPDBStructures = true;
+ }
+
+ @Override
+ public void newStructureView(PDBEntry pdb, SequenceI[] seqs,
+ String[] chains, DataSourceType protocol)
+ {
+ StructureViewer.launchStructureViewer(af.alignPanel, pdb, seqs);
+ }
+
+ @Override
+ public void setFeatureGroupState(String[] groups, boolean state)
+ {
+ af.setFeatureGroupState(groups, state);
+ }
+
+ @Override
+ public void alignedStructureView(PDBEntry[] pdb, SequenceI[][] seqs,
+ String[][] chains, String[] protocols)
+ {
+ System.err.println(
+ "Jalview applet interface alignedStructureView not implemented");
+ }
+
+ @Override
+ public void newFeatureSettings()
+ {
+ System.err.println(
+ "Jalview applet interface newFeatureSettings not implemented");
+ }
+
+ private Vector<Runnable> jsExecQueue;
+
+ @Override
+ public Vector<Runnable> getJsExecQueue(JSFunctionExec exec)
+ {
+ jsFunctionExec = exec;
+ return (jsExecQueue == null ? (jsExecQueue = new Vector<>())
+ : jsExecQueue);
+ }
+
+ @Override
+ public AppletContext getAppletContext()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isJsfallbackEnabled()
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public JSObject getJSObject()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public StructureSelectionManagerProvider getStructureSelectionManagerProvider()
+ {
+ // TODO Q: what exactly is this? BH
+ return null;
+ }
+
+ @Override
+ public void updateColoursFromMouseOver(Object source,
+ MouseOverStructureListener mouseOverStructureListener)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Object[] getSelectionForListener(SequenceGroup seqsel,
+ ColumnSelection colsel, HiddenColumns hidden,
+ SelectionSource source, Object alignFrame)
+ {
+ return appLoader.getSelectionForListener(getCurrentAlignFrame(),
+ seqsel, colsel, hidden, source, alignFrame);
+ }
+
+ @Override
+ public String arrayToSeparatorList(String[] array)
+ {
+ return appLoader.arrayToSeparatorList(array);
+ }
+
+ @Override
+ public Hashtable<String, int[]> getJSHashes()
+ {
+ return (jshashes == null ? (jshashes = new Hashtable<>())
+ : jshashes);
+ }
+
+ @Override
+ public Hashtable<String, Hashtable<String, String[]>> getJSMessages()
+ {
+ return (jsmessages == null ? (jsmessages = new Hashtable<>())
+ : jsmessages);
+ }
+
+ @Override
+ public Object getFrameForSource(VamsasSource source)
+ {
+ if (source != null)