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();