comparison src/econnect/wp3_3/client/widgets/map/Map.java @ 61:eac73bf1ce6e CellTable

add overlay functionality (beta)
author Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
date Fri, 14 Dec 2012 16:33:36 +0100
parents cf06b77a8bbd
children d69066d16e45
comparison
equal deleted inserted replaced
60:6f2d2b6f969a 61:eac73bf1ce6e
138 } 138 }
139 else { 139 else {
140 maps.setUrl(constants.mapsImage()); 140 maps.setUrl(constants.mapsImage());
141 } 141 }
142 } 142 }
143 }); 143 });
144 144
145 final Grid controlGrid = new Grid(5,1); 145 //TODO: add correct (better) image
146 final Image overlay = new Image(constants.addImage());
147 final MenuBar overlayMenu = new MenuBar(true);
148
149 overlayMenu.setAnimationEnabled(true);
150 //TODO: add overlays from data
151 //for( int i=0; i<this.jsMap.getMapCount(); i++ ){
152 // final int index = i;
153 overlayMenu.addItem("Limes", new Command() {
154 public void execute() {
155 jsMap.setOverlay(0);
156 RootPanel.get().remove(overlayMenu);
157 overlay.setUrl(constants.addImage());
158 }
159 });
160 //}
161 overlayMenu.addStyleName("zHigh");
162
163 overlay.setTitle(textConstants.overlayLayers());
164 overlay.addClickHandler(new ClickHandler() {
165 public void onClick(ClickEvent event) {
166 if( !RootPanel.get().remove(overlay) ){
167 //TODO: set correct (better) image
168 overlay.setUrl(constants.addClickImage());
169 int left = overlay.getParent().getAbsoluteLeft() + overlay.getParent().getOffsetWidth() + 3;
170 int top = overlay.getAbsoluteTop();
171 RootPanel.get().add(overlayMenu, left, top);
172 }
173 else {
174 overlay.setUrl(constants.addImage());
175 }
176 }
177 });
178
179 final Grid controlGrid = new Grid(6,1);
146 controlGrid.setWidget(1, 0, maps); 180 controlGrid.setWidget(1, 0, maps);
147 controlGrid.setWidget(2, 0, this.navigate.getButton()); 181 controlGrid.setWidget(2, 0, this.navigate.getButton());
148 controlGrid.setWidget(3, 0, drilldown); 182 controlGrid.setWidget(3, 0, drilldown);
149 // controlGrid.setWidget(4, 0, add.getButton()); 183 // controlGrid.setWidget(4, 0, add.getButton());
150 controlGrid.setWidget(4, 0, connections); 184 controlGrid.setWidget(4, 0, overlay);
185 controlGrid.setWidget(5, 0, connections);
151 186
152 final int levels = this.jsMap.getNumZoomLevels(); 187 final int levels = this.jsMap.getNumZoomLevels();
153 DivElement zoomDiv = Document.get().createDivElement(); 188 DivElement zoomDiv = Document.get().createDivElement();
154 zoomBar = new Slider(zoomDiv,"vertical"); 189 zoomBar = new Slider(zoomDiv,"vertical");
155 zoomBar.getSlider().setMaximum(max); 190 zoomBar.getSlider().setMaximum(max);