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