1 Clazz.declarePackage ("jalview.analysis");
\r
2 Clazz.load (null, "jalview.analysis.AlignmentAnnotationUtils", ["java.util.ArrayList", "$.Arrays", "$.BitSet", "$.Collections", "$.HashMap"], function () {
\r
3 c$ = Clazz.declareType (jalview.analysis, "AlignmentAnnotationUtils");
\r
4 c$.getShownHiddenTypes = Clazz.defineMethod (c$, "getShownHiddenTypes",
\r
5 function (shownTypes, hiddenTypes, annotations, forSequences) {
\r
6 var visibleGraphGroups = jalview.analysis.AlignmentAnnotationUtils.getVisibleLineGraphGroups (annotations);
\r
7 var groupLabels = new java.util.HashMap ();
\r
8 var addedToShown = new java.util.ArrayList ();
\r
9 var addedToHidden = new java.util.ArrayList ();
\r
10 for (var aa, $aa = annotations.iterator (); $aa.hasNext () && ((aa = $aa.next ()) || true);) {
\r
11 if (aa.annotations == null) {
\r
13 }if (forSequences != null && (aa.sequenceRef != null && forSequences.contains (aa.sequenceRef))) {
\r
14 var calcId = aa.getCalcId ();
\r
15 var labelAsList = new java.util.ArrayList ();
\r
16 var displayLabel = aa.label;
\r
17 labelAsList.add (displayLabel);
\r
18 if (aa.graph == 2 && aa.graphGroup > -1) {
\r
19 if (!groupLabels.containsKey (calcId)) {
\r
20 groupLabels.put (calcId, new java.util.HashMap ());
\r
21 }var groupLabelsForCalcId = groupLabels.get (calcId);
\r
22 if (groupLabelsForCalcId.containsKey (new Integer (aa.graphGroup))) {
\r
23 if (!groupLabelsForCalcId.get (new Integer (aa.graphGroup)).contains (displayLabel)) {
\r
24 groupLabelsForCalcId.get (new Integer (aa.graphGroup)).add (displayLabel);
\r
26 groupLabelsForCalcId.put (new Integer (aa.graphGroup), labelAsList);
\r
28 var rememberAs = calcId + "!" + displayLabel;
\r
29 if (aa.visible && !addedToShown.contains (rememberAs)) {
\r
30 if (!shownTypes.containsKey (calcId)) {
\r
31 shownTypes.put (calcId, new java.util.ArrayList ());
\r
32 }shownTypes.get (calcId).add (labelAsList);
\r
33 addedToShown.add (rememberAs);
\r
35 if (!aa.visible && !addedToHidden.contains (rememberAs)) {
\r
36 if (!hiddenTypes.containsKey (calcId)) {
\r
37 hiddenTypes.put (calcId, new java.util.ArrayList ());
\r
38 }hiddenTypes.get (calcId).add (labelAsList);
\r
39 addedToHidden.add (rememberAs);
\r
41 for (var calcId, $calcId = groupLabels.keySet ().iterator (); $calcId.hasNext () && ((calcId = $calcId.next ()) || true);) {
\r
42 for (var group, $group = groupLabels.get (calcId).keySet ().iterator (); $group.hasNext () && ((group = $group.next ()) || true);) {
\r
43 var groupLabel = groupLabels.get (calcId).get (new Integer (group));
\r
44 java.util.Collections.sort (groupLabel);
\r
45 if (visibleGraphGroups.get (group)) {
\r
46 if (!shownTypes.containsKey (calcId)) {
\r
47 shownTypes.put (calcId, new java.util.ArrayList ());
\r
48 }if (!shownTypes.get (calcId).contains (groupLabel)) {
\r
49 shownTypes.get (calcId).add (groupLabel);
\r
51 if (!hiddenTypes.containsKey (calcId)) {
\r
52 hiddenTypes.put (calcId, new java.util.ArrayList ());
\r
53 }if (!hiddenTypes.get (calcId).contains (groupLabel)) {
\r
54 hiddenTypes.get (calcId).add (groupLabel);
\r
57 }, "java.util.Map,java.util.Map,java.util.List,java.util.List");
\r
58 c$.getVisibleLineGraphGroups = Clazz.defineMethod (c$, "getVisibleLineGraphGroups",
\r
59 function (annotations) {
\r
60 var result = new java.util.BitSet ();
\r
61 for (var ann, $ann = annotations.iterator (); $ann.hasNext () && ((ann = $ann.next ()) || true);) {
\r
62 if (ann.graph == 2 && ann.visible) {
\r
63 var gg = ann.graphGroup;
\r
68 }, "java.util.List");
\r
69 c$.asList = Clazz.defineMethod (c$, "asList",
\r
71 return (anns == null ? java.util.Collections.emptyList () : java.util.Arrays.asList (anns));
\r