1 Clazz.declarePackage ("jalview.appletgui");
\r
2 Clazz.load (null, "jalview.appletgui.PaintRefresher", ["jalview.appletgui.AlignmentPanel", "java.util.Hashtable", "$.Vector"], function () {
\r
3 c$ = Clazz.declareType (jalview.appletgui, "PaintRefresher");
\r
4 c$.Register = Clazz.defineMethod (c$, "Register",
\r
5 function (comp, seqSetId) {
\r
6 if (jalview.appletgui.PaintRefresher.components == null) {
\r
7 jalview.appletgui.PaintRefresher.components = new java.util.Hashtable ();
\r
8 }if (jalview.appletgui.PaintRefresher.components.containsKey (seqSetId)) {
\r
9 var comps = jalview.appletgui.PaintRefresher.components.get (seqSetId);
\r
10 if (!comps.contains (comp)) {
\r
11 comps.addElement (comp);
\r
13 var vcoms = new java.util.Vector ();
\r
14 vcoms.addElement (comp);
\r
15 jalview.appletgui.PaintRefresher.components.put (seqSetId, vcoms);
\r
16 }}, "java.awt.Component,~S");
\r
17 c$.RemoveComponent = Clazz.defineMethod (c$, "RemoveComponent",
\r
19 if (jalview.appletgui.PaintRefresher.components == null) {
\r
21 }var en = jalview.appletgui.PaintRefresher.components.keys ();
\r
22 while (en.hasMoreElements ()) {
\r
23 var id = en.nextElement ().toString ();
\r
24 var comps = jalview.appletgui.PaintRefresher.components.get (id);
\r
25 comps.removeElement (comp);
\r
26 if (comps.size () == 0) {
\r
27 jalview.appletgui.PaintRefresher.components.remove (id);
\r
29 }, "java.awt.Component");
\r
30 c$.Refresh = Clazz.defineMethod (c$, "Refresh",
\r
31 function (source, id) {
\r
32 jalview.appletgui.PaintRefresher.Refresh (source, id, false, false);
\r
33 }, "java.awt.Component,~S");
\r
34 c$.Refresh = Clazz.defineMethod (c$, "Refresh",
\r
35 function (source, id, alignmentChanged, validateSequences) {
\r
36 if (jalview.appletgui.PaintRefresher.components == null) {
\r
39 var comps = jalview.appletgui.PaintRefresher.components.get (id);
\r
40 if (comps == null) {
\r
42 }var e = comps.elements ();
\r
43 while (e.hasMoreElements ()) {
\r
44 comp = e.nextElement ();
\r
45 if (comp === source) {
\r
47 }if (!comp.isValid ()) {
\r
48 comps.removeElement (comp);
\r
49 } else if (validateSequences && Clazz.instanceOf (comp, jalview.appletgui.AlignmentPanel) && Clazz.instanceOf (source, jalview.appletgui.AlignmentPanel)) {
\r
50 jalview.appletgui.PaintRefresher.validateSequences ((source).av.getAlignment (), (comp).av.getAlignment ());
\r
51 }if (Clazz.instanceOf (comp, jalview.appletgui.AlignmentPanel) && alignmentChanged) {
\r
52 (comp).alignmentChanged ();
\r
55 }, "java.awt.Component,~S,~B,~B");
\r
56 c$.validateSequences = Clazz.defineMethod (c$, "validateSequences",
\r
57 function (source, comp) {
\r
59 if (source.getHiddenSequences ().getSize () > 0) {
\r
60 a1 = source.getHiddenSequences ().getFullAlignment ().getSequencesArray ();
\r
62 a1 = source.getSequencesArray ();
\r
64 if (comp.getHiddenSequences ().getSize () > 0) {
\r
65 a2 = comp.getHiddenSequences ().getFullAlignment ().getSequencesArray ();
\r
67 a2 = comp.getSequencesArray ();
\r
69 var iSize = a1.length;
\r
71 var jSize = a2.length;
\r
72 if (iSize == jSize) {
\r
74 }var exists = false;
\r
75 for (i = 0; i < iSize; i++) {
\r
77 for (j = 0; j < jSize; j++) {
\r
78 if (a2[j] === a1[i]) {
\r
83 if (i < comp.getHeight ()) {
\r
86 alsq.add (i, a1[i]);
\r
88 comp.addSequence (a1[i]);
\r
89 }if (comp.getHiddenSequences ().getSize () > 0) {
\r
90 a2 = comp.getHiddenSequences ().getFullAlignment ().getSequencesArray ();
\r
92 a2 = comp.getSequencesArray ();
\r
97 for (j = 0; j < jSize; j++) {
\r
99 for (i = 0; i < iSize; i++) {
\r
100 if (a2[j] === a1[i]) {
\r
105 comp.deleteSequence (a2[j]);
\r
107 }, "jalview.datamodel.AlignmentI,jalview.datamodel.AlignmentI");
\r
108 c$.getAssociatedPanels = Clazz.defineMethod (c$, "getAssociatedPanels",
\r
110 var comps = jalview.appletgui.PaintRefresher.components.get (id);
\r
111 var tmp = new java.util.Vector ();
\r
113 var iSize = comps.size ();
\r
114 for (i = 0; i < iSize; i++) {
\r
115 if (Clazz.instanceOf (comps.elementAt (i), jalview.appletgui.AlignmentPanel)) {
\r
116 tmp.addElement (comps.elementAt (i));
\r
118 var result = new Array (tmp.size ());
\r
119 for (var ix = 0; ix < result.length; ix++) {
\r
120 result[ix] = tmp.elementAt (ix);
\r
124 Clazz.defineStatics (c$,
\r
125 "components", null);
\r