JAL-3262 from JAL-3523-applet JalviewApp and JalviewJSApi
[jalview.git] / src / jalview / api / JalviewApp.java
1 package jalview.api;
2
3 import jalview.datamodel.ColumnSelection;
4 import jalview.datamodel.HiddenColumns;
5 import jalview.datamodel.PDBEntry;
6 import jalview.datamodel.SequenceGroup;
7 import jalview.datamodel.SequenceI;
8 import jalview.io.DataSourceType;
9 import jalview.io.NewickFile;
10 import jalview.javascript.JSFunctionExec;
11 import jalview.javascript.MouseOverStructureListener;
12 import jalview.structure.SelectionSource;
13 import jalview.structure.VamsasSource;
14
15 import java.applet.AppletContext;
16 import java.io.IOException;
17 import java.net.URL;
18 import java.util.Hashtable;
19 import java.util.Vector;
20
21 import netscape.javascript.JSObject;
22
23 public interface JalviewApp
24 {
25   public String getParameter(String name);
26
27   public boolean getDefaultParameter(String name, boolean def);
28
29   public URL getDocumentBase();
30
31   public URL getCodeBase();
32
33   public void setAlignPdbStructures(boolean defaultParameter);
34
35   public void newStructureView(PDBEntry pdb, SequenceI[] seqs,
36           String[] chains, DataSourceType protocol);
37
38   public void alignedStructureView(PDBEntry[] pdb, SequenceI[][] seqs,
39           String[][] chains, String[] protocols);
40
41   public void updateForAnnotations();
42
43   public AlignViewportI getViewport();
44
45   public void setFeatureGroupState(String[] groups, boolean state);
46
47   public boolean parseFeaturesFile(String param, DataSourceType protocol);
48
49   public void newFeatureSettings();
50
51   public boolean loadScoreFile(String sScoreFile) throws IOException;
52
53   public void loadTree(NewickFile fin, String treeFile) throws IOException;
54
55   public Vector<Runnable> getJsExecQueue(JSFunctionExec jsFunctionExec);
56
57   public AppletContext getAppletContext();
58
59   public boolean isJsfallbackEnabled();
60
61   public JSObject getJSObject();
62
63   public StructureSelectionManagerProvider getStructureSelectionManagerProvider();
64
65   public void updateColoursFromMouseOver(Object source,
66           MouseOverStructureListener mouseOverStructureListener);
67
68   public Object[] getSelectionForListener(SequenceGroup seqsel, ColumnSelection colsel,
69           HiddenColumns hidden, SelectionSource source, Object alignFrame);
70
71   public String arrayToSeparatorList(String[] array);
72
73   public Hashtable<String, int[]> getJSHashes();
74
75   Hashtable<String, Hashtable<String, String[]>> getJSMessages();
76
77   public Object getFrameForSource(VamsasSource source);
78
79   public jalview.renderer.seqfeatures.FeatureRenderer getNewFeatureRenderer(
80           AlignViewportI vp);
81
82 }