3afa805e0fa0872613869553164e70682412d251
[jalview.git] / src / jalview / appletgui / AppletJmolBinding.java
1 /**
2  * 
3  */
4 package jalview.appletgui;
5
6 import java.util.BitSet;
7
8 import jalview.datamodel.PDBEntry;
9 import jalview.datamodel.SequenceI;
10
11 import org.jmol.popup.JmolPopup;
12
13 class AppletJmolBinding extends jalview.ext.jmol.JalviewJmolBinding
14 {
15
16   /**
17    * Window that contains the bound Jmol instance
18    */
19   private AppletJmol appletJmolBinding;
20
21   public AppletJmolBinding(AppletJmol appletJmol, PDBEntry[] pdbentry, SequenceI[][] seq,
22           String[][] chains, String protocol)
23   {
24     super(pdbentry, seq, chains, protocol);
25     appletJmolBinding = appletJmol;
26   }
27
28   public jalview.api.FeatureRenderer getFeatureRenderer()
29   {
30     if (appletJmolBinding.ap.av.showSequenceFeatures)
31     {
32       if (appletJmolBinding.fr == null)
33       {
34         appletJmolBinding.fr = new jalview.appletgui.FeatureRenderer(appletJmolBinding.ap.av);
35       }
36
37       appletJmolBinding.fr.transferSettings(appletJmolBinding.ap.seqPanel.seqCanvas.getFeatureRenderer());
38     }
39
40     return appletJmolBinding.fr;
41   }
42
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   public void showUrl(String url, String target)
66   {
67     appletJmolBinding.ap.alignFrame.showURL(url, target);
68
69   }
70
71   public void refreshGUI()
72   {
73     appletJmolBinding.updateTitleAndMenus();
74   }
75   
76   public void updateColours(Object source)
77   {
78     AlignmentPanel ap = (AlignmentPanel) source;
79     colourBySequence(ap.av.getShowSequenceFeatures(), ap.av.alignment);
80   }
81
82   public void showUrl(String url)
83   {
84     try
85     {
86       appletJmolBinding.ap.av.applet.getAppletContext().showDocument(new java.net.URL(url),
87               "jmol");
88     } catch (java.net.MalformedURLException ex)
89     {
90     }
91   }
92
93   public void newJmolPopup(boolean translateLocale, String menuName, boolean asPopup)
94   {
95     
96     jmolpopup = JmolPopup.newJmolPopup(viewer,translateLocale, menuName,asPopup);
97   }
98
99   public void notifyScriptTermination(String strStatus, int msWalltime)
100   {
101     // do nothing.
102   }
103
104   public void selectionChanged(BitSet arg0)
105   {
106     // TODO Auto-generated method stub
107     
108   }
109
110   public void refreshPdbEntries()
111   {
112     // TODO Auto-generated method stub
113     
114   }
115
116 }