Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/CrossSectionChartThemePanel.java @ 1452:fa63366ba115
Improved area creation GUI.
flys-client/trunk@3477 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 20 Dec 2011 06:54:49 +0000 |
parents | 8da36efc839a |
children | 3d9f81c3f00d |
comparison
equal
deleted
inserted
replaced
1451:bc830e564b6d | 1452:fa63366ba115 |
---|---|
119 */ | 119 */ |
120 public void feedTellArea(final String artifact, Theme under, Theme over) { | 120 public void feedTellArea(final String artifact, Theme under, Theme over) { |
121 | 121 |
122 Data[] feedData; | 122 Data[] feedData; |
123 | 123 |
124 if (over != null) { | 124 if (over != null && under != null) { |
125 feedData = new Data[] { | 125 feedData = new Data[] { |
126 DefaultData.createSimpleStringData("area.curve_under", | 126 DefaultData.createSimpleStringData("area.curve_under", |
127 under.getArtifact() + under.getIndex()), | 127 under.getArtifact() + under.getIndex()), |
128 DefaultData.createSimpleStringData("area.curve_under", | 128 DefaultData.createSimpleStringData("area.curve_over", |
129 under.getArtifact() + under.getIndex()), | 129 over.getArtifact() + over.getIndex()), |
130 DefaultData.createSimpleStringData("area.name", | 130 DefaultData.createSimpleStringData("area.name", |
131 over.getDescription() + " / " + under.getDescription()) | 131 over.getDescription() + " / " + under.getDescription()), |
132 DefaultData.createSimpleStringData("area.facet", | |
133 "cross_section.area") | |
132 }; | 134 }; |
133 } | 135 GWT.log("Have over and under"); |
134 else { | 136 } |
137 else if (over == null && under != null) { | |
135 feedData = new Data[] { | 138 feedData = new Data[] { |
136 DefaultData.createSimpleStringData("area.curve_under", | 139 DefaultData.createSimpleStringData("area.curve_under", |
137 under.getArtifact() + under.getIndex()), | 140 under.getArtifact() + under.getIndex()), |
138 DefaultData.createSimpleStringData("area.name", | 141 DefaultData.createSimpleStringData("area.name", |
139 under.getDescription() + " / " + MSG.getString("x_axis")) | 142 under.getDescription() + " / " + MSG.getString("x_axis")), |
143 DefaultData.createSimpleStringData("area.facet", | |
144 "cross_section.area") | |
140 }; | 145 }; |
141 } | 146 GWT.log("Have under only"); |
147 } | |
148 else if (over != null && under == null) { | |
149 feedData = new Data[] { | |
150 DefaultData.createSimpleStringData("area.curve_over", | |
151 over.getArtifact() + over.getIndex()), | |
152 DefaultData.createSimpleStringData("area.name", | |
153 MSG.getString("x_axis") + " / " + over.getDescription()), | |
154 DefaultData.createSimpleStringData("area.facet", | |
155 "cross_section.area") | |
156 }; | |
157 GWT.log("Have over only"); | |
158 } | |
159 else { | |
160 GWT.log("Missing Data for area painting."); | |
161 return; | |
162 } | |
163 | |
142 | 164 |
143 feedService.feed( | 165 feedService.feed( |
144 Config.getInstance().getLocale(), | 166 Config.getInstance().getLocale(), |
145 new DefaultArtifact(artifact, "TODO:hash"), | 167 new DefaultArtifact(artifact, "TODO:hash"), |
146 feedData, | 168 feedData, |
550 /** | 572 /** |
551 * Create and parameterize a new area artifact. | 573 * Create and parameterize a new area artifact. |
552 * @param under | 574 * @param under |
553 * @param over if null, something. | 575 * @param over if null, something. |
554 */ | 576 */ |
555 public void createAreaArtifact(final Theme under, final Theme over) { | 577 public void createAreaArtifact( |
578 final Theme under, | |
579 final Theme over, | |
580 boolean between | |
581 ) { | |
556 Config config = Config.getInstance(); | 582 Config config = Config.getInstance(); |
557 String locale = config.getLocale(); | 583 String locale = config.getLocale(); |
558 | 584 |
559 Recommendation area = new Recommendation( | 585 Recommendation area = new Recommendation( |
560 "area", | 586 "area", |
590 protected Menu getSingleContextMenu(final ListGridRecord[] records) { | 616 protected Menu getSingleContextMenu(final ListGridRecord[] records) { |
591 Menu menu = super.getSingleContextMenu(records); | 617 Menu menu = super.getSingleContextMenu(records); |
592 | 618 |
593 final Theme facetTheme = ((FacetRecord)records[0]).getTheme(); | 619 final Theme facetTheme = ((FacetRecord)records[0]).getTheme(); |
594 String thisItem = facetTheme.getDescription(); | 620 String thisItem = facetTheme.getDescription(); |
595 if (facetTheme.getFacet().equals("area")) { | 621 if (facetTheme.getFacet().equals("area") || |
622 facetTheme.getFacet().equals("cross_section.area") | |
623 ) { | |
596 return menu; | 624 return menu; |
597 } | 625 } |
598 | 626 |
599 menu.addItem(createSeparator()); | 627 menu.addItem(createSeparator()); |
600 | 628 |
603 MenuItem areaMenuItem = new MenuItem("New Area..."); | 631 MenuItem areaMenuItem = new MenuItem("New Area..."); |
604 Menu areaMenu = new Menu(); | 632 Menu areaMenu = new Menu(); |
605 | 633 |
606 ThemeList themes = getThemeList(); | 634 ThemeList themes = getThemeList(); |
607 int nThemes = themes.getThemeCount(); | 635 int nThemes = themes.getThemeCount(); |
636 | |
637 MenuItem underMenuItem = new MenuItem("Under ..."); | |
638 Menu underMenu = new Menu(); | |
608 for (int i = 0; i < nThemes; i++) { | 639 for (int i = 0; i < nThemes; i++) { |
609 final Theme theme = themes.getThemeAt(i+1); | 640 final Theme theme = themes.getThemeAt(i+1); |
610 if (theme.getDescription().equals(thisItem) | 641 if (theme.getDescription().equals(thisItem) |
611 || theme.getFacet().equals("area")) { | 642 || theme.getFacet().equals("area") |
643 || theme.getFacet().equals("cross_section.area") | |
644 ) { | |
612 continue; | 645 continue; |
613 } | 646 } |
614 MenuItem againster = new MenuItem(theme.getDescription()); | 647 MenuItem againster = new MenuItem(theme.getDescription()); |
615 areaMenu.addItem(againster); | 648 underMenu.addItem(againster); |
616 | 649 |
617 againster.addClickHandler(new ClickHandler() { | 650 againster.addClickHandler(new ClickHandler() { |
618 public void onClick(MenuItemClickEvent evt) { | 651 public void onClick(MenuItemClickEvent evt) { |
619 disable(); | 652 disable(); |
620 createAreaArtifact(facetTheme, theme); | 653 createAreaArtifact(theme, facetTheme, false); |
621 } | 654 } |
622 }); | 655 }); |
623 } | 656 } |
624 | 657 |
625 MenuItem underMenuItem = new MenuItem("Under ..."); | 658 MenuItem overMenuItem = new MenuItem("Over ..."); |
626 underMenuItem.addClickHandler(new ClickHandler() { | 659 Menu overMenu = new Menu(); |
660 for (int i = 0; i < nThemes; i++) { | |
661 final Theme theme = themes.getThemeAt(i+1); | |
662 if (theme.getDescription().equals(thisItem) | |
663 || theme.getFacet().equals("area") | |
664 || theme.getFacet().equals("cross_section.area") | |
665 ) { | |
666 continue; | |
667 } | |
668 MenuItem againster = new MenuItem(theme.getDescription()); | |
669 overMenu.addItem(againster); | |
670 | |
671 againster.addClickHandler(new ClickHandler() { | |
672 public void onClick(MenuItemClickEvent evt) { | |
673 disable(); | |
674 createAreaArtifact(facetTheme, theme, false); | |
675 } | |
676 }); | |
677 } | |
678 overMenu.addItem(createSeparator()); | |
679 MenuItem againstAxis = new MenuItem(MSG.getString("x_axis")); | |
680 againstAxis.addClickHandler(new ClickHandler() { | |
627 public void onClick(MenuItemClickEvent evt) { | 681 public void onClick(MenuItemClickEvent evt) { |
628 disable(); | 682 disable(); |
629 createAreaArtifact(facetTheme, null); | 683 createAreaArtifact(facetTheme, null, false); |
630 } | 684 } |
631 }); | 685 }); |
632 MenuItem overMenuItem = new MenuItem("Over ..."); | 686 overMenu.addItem(againstAxis); |
633 overMenuItem.addClickHandler(new ClickHandler() { | 687 |
634 public void onClick(MenuItemClickEvent evt) { | 688 MenuItem betweenMenuItem = new MenuItem("Between ..."); |
635 disable(); | 689 Menu betweenMenu = new Menu(); |
636 createAreaArtifact(facetTheme, null); | 690 for (int i = 0; i < nThemes; i++) { |
637 } | 691 final Theme theme = themes.getThemeAt(i+1); |
638 }); | 692 if (theme.getDescription().equals(thisItem) |
639 areaMenu.addItem(createSeparator()); | 693 || theme.getFacet().equals("area") |
694 || theme.getFacet().equals("cross_section.area") | |
695 ) { | |
696 continue; | |
697 } | |
698 MenuItem againster = new MenuItem(theme.getDescription()); | |
699 betweenMenu.addItem(againster); | |
700 | |
701 againster.addClickHandler(new ClickHandler() { | |
702 public void onClick(MenuItemClickEvent evt) { | |
703 disable(); | |
704 createAreaArtifact(facetTheme, theme, true); | |
705 } | |
706 }); | |
707 } | |
708 betweenMenu.addItem(createSeparator()); | |
709 betweenMenu.addItem(againstAxis); | |
710 | |
711 overMenuItem.setSubmenu(overMenu); | |
712 underMenuItem.setSubmenu(underMenu); | |
713 betweenMenuItem.setSubmenu(betweenMenu); | |
714 | |
715 areaMenu.addItem(overMenuItem); | |
640 areaMenu.addItem(underMenuItem); | 716 areaMenu.addItem(underMenuItem); |
641 areaMenu.addItem(overMenuItem); | 717 areaMenu.addItem(betweenMenuItem); |
642 | 718 |
643 areaMenuItem.setSubmenu(areaMenu); | 719 areaMenuItem.setSubmenu(areaMenu); |
644 menu.addItem(areaMenuItem); | 720 menu.addItem(areaMenuItem); |
645 | 721 |
646 return menu; | 722 return menu; |