745e8f789c1745bf5d0004530f19ab8d076e839b
[jalview.git] / src / jalview / appletgui / AppletJmolBinding.java
1 /**
2  * 
3  */
4 package jalview.appletgui;
5
6 import jalview.datamodel.PDBEntry;
7 import jalview.datamodel.SequenceI;
8
9 import org.jmol.popup.JmolPopup;
10
11 class AppletJmolBinding extends jalview.ext.jmol.JalviewJmolBinding
12 {
13
14   /**
15    * 
16    */
17   private AppletJmol appletJmolBinding;
18
19   public AppletJmolBinding(AppletJmol appletJmol, PDBEntry[] pdbentry, SequenceI[] seq,
20           String[] chains, String protocol)
21   {
22     super(pdbentry, seq, chains, protocol);
23     appletJmolBinding = appletJmol;
24   }
25
26   @Override
27   public jalview.api.FeatureRenderer getFeatureRenderer()
28   {
29     if (appletJmolBinding.ap.av.showSequenceFeatures)
30     {
31       if (appletJmolBinding.fr == null)
32       {
33         appletJmolBinding.fr = new jalview.appletgui.FeatureRenderer(appletJmolBinding.ap.av);
34       }
35
36       appletJmolBinding.fr.transferSettings(appletJmolBinding.ap.seqPanel.seqCanvas.getFeatureRenderer());
37     }
38
39     return appletJmolBinding.fr;
40   }
41
42   @Override
43   public jalview.api.SequenceRenderer getSequenceRenderer()
44   {
45     return new SequenceRenderer(appletJmolBinding.ap.av);
46   }
47
48   public void sendConsoleEcho(String strEcho)
49   {
50     if (appletJmolBinding.scriptWindow == null)
51       appletJmolBinding.showConsole(true);
52
53     appletJmolBinding.history.append("\n" + strEcho);
54   }
55
56   public void sendConsoleMessage(String strStatus)
57   {
58     if (appletJmolBinding.history != null && strStatus != null
59             && !strStatus.equals("Script completed"))
60     {
61       appletJmolBinding.history.append("\n" + strStatus);
62     }
63   }
64
65   @Override
66   public void showUrl(String url, String target)
67   {
68     appletJmolBinding.ap.alignFrame.showURL(url, target);
69
70   }
71
72   @Override
73   public void updateUI()
74   {
75     appletJmolBinding.updateTitleAndMenus();
76   }
77   
78   public void updateColours(Object source)
79   {
80     AlignmentPanel ap = (AlignmentPanel) source;
81     colourBySequence(ap.av.getShowSequenceFeatures(), ap.av.alignment);
82   }
83
84   public void showUrl(String url)
85   {
86     try
87     {
88       appletJmolBinding.ap.av.applet.getAppletContext().showDocument(new java.net.URL(url),
89               "jmol");
90     } catch (java.net.MalformedURLException ex)
91     {
92     }
93   }
94
95   public void newJmolPopup(boolean translateLocale, String menuName, boolean asPopup)
96   {
97     
98     jmolpopup = JmolPopup.newJmolPopup(viewer,translateLocale, menuName,asPopup);
99   }
100
101   @Override
102   public void notifyScriptTermination(String strStatus, int msWalltime)
103   {
104     // do nothing.
105   }
106
107 }