/** * */ package jalview.appletgui; import java.util.BitSet; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; import org.jmol.popup.JmolPopup; class AppletJmolBinding extends jalview.ext.jmol.JalviewJmolBinding { /** * Window that contains the bound Jmol instance */ private AppletJmol appletJmolBinding; public AppletJmolBinding(AppletJmol appletJmol, PDBEntry[] pdbentry, SequenceI[][] seq, String[][] chains, String protocol) { super(pdbentry, seq, chains, protocol); appletJmolBinding = appletJmol; } public jalview.api.FeatureRenderer getFeatureRenderer() { if (appletJmolBinding.ap.av.showSequenceFeatures) { if (appletJmolBinding.fr == null) { appletJmolBinding.fr = new jalview.appletgui.FeatureRenderer(appletJmolBinding.ap.av); } appletJmolBinding.fr.transferSettings(appletJmolBinding.ap.seqPanel.seqCanvas.getFeatureRenderer()); } return appletJmolBinding.fr; } public jalview.api.SequenceRenderer getSequenceRenderer() { return new SequenceRenderer(appletJmolBinding.ap.av); } public void sendConsoleEcho(String strEcho) { if (appletJmolBinding.scriptWindow == null) appletJmolBinding.showConsole(true); appletJmolBinding.history.append("\n" + strEcho); } public void sendConsoleMessage(String strStatus) { if (appletJmolBinding.history != null && strStatus != null && !strStatus.equals("Script completed")) { appletJmolBinding.history.append("\n" + strStatus); } } public void showUrl(String url, String target) { appletJmolBinding.ap.alignFrame.showURL(url, target); } public void refreshGUI() { appletJmolBinding.updateTitleAndMenus(); } public void updateColours(Object source) { AlignmentPanel ap = (AlignmentPanel) source; colourBySequence(ap.av.getShowSequenceFeatures(), ap.av.alignment); } public void showUrl(String url) { try { appletJmolBinding.ap.av.applet.getAppletContext().showDocument(new java.net.URL(url), "jmol"); } catch (java.net.MalformedURLException ex) { } } public void newJmolPopup(boolean translateLocale, String menuName, boolean asPopup) { jmolpopup = JmolPopup.newJmolPopup(viewer,translateLocale, menuName,asPopup); } public void notifyScriptTermination(String strStatus, int msWalltime) { // do nothing. } public void selectionChanged(BitSet arg0) { // TODO Auto-generated method stub } public void refreshPdbEntries() { // TODO Auto-generated method stub } @Override public void showConsole(boolean show) { appletJmolBinding.showConsole(show); } }