+ alf = getCurrentAlignFrame();
+ }
+ appLoader.loadAnnotationFrom(alf, annotation);
+ }
+
+ @Override
+ public void loadFeatures(String features, boolean autoenabledisplay)
+ {
+ loadFeaturesFrom(currentAlignFrame, features, autoenabledisplay);
+ }
+
+ @Override
+ public boolean loadFeaturesFrom(AlignFrame alf, String features,
+ boolean autoenabledisplay)
+ {
+ if (alf == null)
+ {
+ alf = getCurrentAlignFrame();
+ }
+ return appLoader.loadFeaturesFrom(alf, features, autoenabledisplay);
+ }
+
+ @Override
+ public String getFeatures(String format)
+ {
+ return getFeaturesFrom(null, format);
+ }
+
+ @Override
+ public String getFeaturesFrom(AlignFrame alf, String format)
+ {
+ if (alf == null)
+ {
+ alf = getCurrentAlignFrame();
+ }
+ return appLoader.getFeaturesFrom(alf, format);
+ }
+
+ @Override
+ public String getAnnotation()
+ {
+ return getAnnotationFrom(null);
+ }
+
+ @Override
+ public String getAnnotationFrom(AlignFrame alf)
+ {
+ if (alf == null)
+ {
+ alf = getCurrentAlignFrame();
+ }
+ return appLoader.getAnnotationFrom(alf);
+ }
+
+// @Override
+// public AlignFrame newView()
+// {
+// return newViewFrom(null, null);
+// }
+//
+// @Override
+// public AlignFrame newView(String name)
+// {
+// return newViewFrom(null, name);
+// }
+//
+// @Override
+// public AlignFrame newViewFrom(AlignFrame alf)
+// {
+// return newViewFrom(alf, null);
+// }
+//
+// @Override
+// public AlignFrame newViewFrom(AlignFrame alf, String name)
+// {
+// if (alf == null)
+// {
+// alf = getCurrentAlignFrame();
+// }
+// return appLoader.newViewFrom(alf, name);
+// }
+
+ @Override
+ public AlignFrame loadAlignment(String text, String title)
+ {
+ return appLoader.loadAlignment(text, AlignFrame.DEFAULT_WIDTH,
+ AlignFrame.DEFAULT_HEIGHT, title);
+ }
+
+ @Override
+ public boolean addPdbFile(AlignFrame alFrame, String sequenceId,
+ String pdbEntryString, String pdbFile)
+ {
+ if (alFrame == null)
+ {
+ alFrame = getCurrentAlignFrame();
+ }
+ return appLoader.addPdbFile(alFrame, sequenceId, pdbEntryString,
+ pdbFile);
+ }
+
+ @Override
+ public void scrollViewToIn(AlignFrame alf, String topRow,
+ String leftHandColumn)
+ {
+ if (alf == null)
+ {
+ alf = getCurrentAlignFrame();
+ }
+ appLoader.scrollViewToIn(alf, topRow, leftHandColumn);
+ }
+
+ @Override
+ public void scrollViewToRowIn(AlignFrame alf, String topRow)
+ {
+ if (alf == null)
+ {
+ alf = getCurrentAlignFrame();
+ }
+ appLoader.scrollViewToRowIn(alf, topRow);
+ }
+
+ @Override
+ public void scrollViewToColumnIn(AlignFrame alf, String leftHandColumn)
+ {
+ if (alf == null)
+ {
+ alf = getCurrentAlignFrame();
+ }
+ appLoader.scrollViewToColumnIn(alf, leftHandColumn);
+ }
+
+ @Override
+ public String getFeatureGroups()
+ {
+ return getFeatureGroupsOn(null);
+ }
+
+ @Override
+ public String getFeatureGroupsOn(AlignFrame alf)
+ {
+ if (alf == null)
+ {
+ alf = getCurrentAlignFrame();
+ }
+ return appLoader.getFeatureGroupsOn(alf);
+ }
+
+ @Override
+ public String getFeatureGroupsOfState(boolean visible)
+ {
+ return getFeatureGroupsOfStateOn(null, visible);
+ }
+
+ @Override
+ public String getFeatureGroupsOfStateOn(AlignFrame alf, boolean visible)
+ {
+ if (alf == null)
+ {
+ alf = getCurrentAlignFrame();
+ }
+ return appLoader.getFeatureGroupsOfStateOn(alf, visible);
+ }
+
+ @Override
+ public void setFeatureGroupState(String groups, boolean state)
+ { // JalviewLite API
+ setFeatureGroupStateOn(null, groups, state);
+ }
+
+ @Override
+ public void setFeatureGroupStateOn(AlignFrame alf, String groups,
+ boolean state)
+ {
+ if (alf == null)
+ {
+ alf = getCurrentAlignFrame();
+ }
+ appLoader.setFeatureGroupStateOn(alf, groups, state);
+ }
+
+ @Override
+ public String getSeparator()
+ {
+ return appLoader.getSeparator();
+ }
+
+ @Override
+ public void setSeparator(String separator)
+ {
+ appLoader.setSeparator(separator);
+ }
+
+ @Override
+ public String getJsMessage(String messageclass, String viewId)
+ {
+ // see http://www.jalview.org/examples/jalviewLiteJs.html
+ return null;
+ }
+
+ /**
+ * Open a new Tree panel on the desktop statically. Params are standard (not
+ * set by Groovy). No dialog is opened.
+ *
+ * @param af
+ * @param treeType
+ * @param modelName
+ * @return null, or the string "label.you_need_at_least_n_sequences" if number
+ * of sequences selected is inappropriate
+ */
+ @Override
+ public Object openTreePanel(AlignFrame af, String treeType,
+ String modelName)
+ { // JalviewJS api
+ if (af == null)
+ {
+ af = getCurrentAlignFrame();