Merge remote-tracking branch 'origin/merge/Jalview-JS/develop_feature/JAL-3690_callba...
[jalview.git] / src / swingjs / api / js / JQueryObject.java
1 package swingjs.api.js;
2
3 public interface JQueryObject {
4
5         public interface JQEvent {
6
7         }
8
9         public abstract void appendTo(Object obj);
10         public abstract JQueryObject append(Object span);
11
12         public abstract void bind(String actions, Object f);
13         public abstract void unbind(String actions);
14
15         public abstract void on(String eventName, Object f);
16
17         public abstract JQueryObject focus();
18         public abstract JQueryObject select();
19
20         public abstract int width();
21         public abstract int height();
22         public abstract Object offset();
23
24
25         public abstract void html(String html);
26
27         public abstract DOMNode get(int i);
28
29         public abstract String attr(String key);
30         public abstract JQueryObject attr(String key, String value);
31         public abstract JQueryObject css(String key, String value);
32
33         public abstract JQueryObject addClass(String name);     
34         public abstract JQueryObject removeClass(String name);
35         
36         public abstract JQueryObject show();
37         public abstract JQueryObject hide();
38
39         public abstract void resize(Object fHandleResize);
40
41
42         /**
43          * closest ancestor
44          * 
45          * @param selector
46          * @return
47          */
48         public abstract JQueryObject closest(String selector);
49
50         /**
51          * find all descendants
52          * 
53          * @param selector
54          * @return
55          */
56         public abstract JQueryObject find(String selector);
57
58         public abstract JQueryObject parent();
59         public abstract void before(Object obj);
60         public abstract void after(Object div);
61
62         
63         /**
64          * remove from tree, but do not clear events
65          */
66         public abstract void detach(); // like remove(), but does not change event settings
67         
68         /**
69          * remove from tree and clear all events -- for disposal only
70          */
71         public abstract void remove();
72
73         /**
74          * fully remove all children, clearing all events
75          */
76         public abstract void empty();
77
78         public abstract DOMNode getElement();
79         
80         public static DOMNode getDOMNode(JQueryObject jnode) {
81                 return (jnode == null ? null : ((DOMNode[]) (Object) jnode)[0]);
82         }
83         
84
85 }