Mercurial > hg > STI-GWT
diff 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 |
line wrap: on
line diff
--- a/src/econnect/wp3_3/client/widgets/map/Map.java Fri Dec 14 16:32:55 2012 +0100 +++ b/src/econnect/wp3_3/client/widgets/map/Map.java Fri Dec 14 16:33:36 2012 +0100 @@ -140,14 +140,49 @@ maps.setUrl(constants.mapsImage()); } } - }); - - final Grid controlGrid = new Grid(5,1); + }); + + //TODO: add correct (better) image + final Image overlay = new Image(constants.addImage()); + final MenuBar overlayMenu = new MenuBar(true); + + overlayMenu.setAnimationEnabled(true); + //TODO: add overlays from data + //for( int i=0; i<this.jsMap.getMapCount(); i++ ){ + // final int index = i; + overlayMenu.addItem("Limes", new Command() { + public void execute() { + jsMap.setOverlay(0); + RootPanel.get().remove(overlayMenu); + overlay.setUrl(constants.addImage()); + } + }); + //} + overlayMenu.addStyleName("zHigh"); + + overlay.setTitle(textConstants.overlayLayers()); + overlay.addClickHandler(new ClickHandler() { + public void onClick(ClickEvent event) { + if( !RootPanel.get().remove(overlay) ){ + //TODO: set correct (better) image + overlay.setUrl(constants.addClickImage()); + int left = overlay.getParent().getAbsoluteLeft() + overlay.getParent().getOffsetWidth() + 3; + int top = overlay.getAbsoluteTop(); + RootPanel.get().add(overlayMenu, left, top); + } + else { + overlay.setUrl(constants.addImage()); + } + } + }); + + final Grid controlGrid = new Grid(6,1); controlGrid.setWidget(1, 0, maps); controlGrid.setWidget(2, 0, this.navigate.getButton()); controlGrid.setWidget(3, 0, drilldown); // controlGrid.setWidget(4, 0, add.getButton()); - controlGrid.setWidget(4, 0, connections); + controlGrid.setWidget(4, 0, overlay); + controlGrid.setWidget(5, 0, connections); final int levels = this.jsMap.getNumZoomLevels(); DivElement zoomDiv = Document.get().createDivElement();