changeset 14:fef6080e83ad

removed unused libraries moved all elements below the mainContainer element fixed layout, so that the sti can be located anywhere an the website fixed kml loading bug in debug mode fixed misleading var names (e.g. search -> open)
author Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
date Mon, 26 Nov 2012 14:39:42 +0100
parents 3316a738ac72
children 175c1eecaf84
files src/econnect/wp3_3/client/core/ApplicationGrid.java src/econnect/wp3_3/client/widgets/table/StiTable.java
diffstat 2 files changed, 72 insertions(+), 69 deletions(-) [+]
line wrap: on
line diff
--- a/src/econnect/wp3_3/client/core/ApplicationGrid.java	Mon Nov 26 14:36:42 2012 +0100
+++ b/src/econnect/wp3_3/client/core/ApplicationGrid.java	Mon Nov 26 14:39:42 2012 +0100
@@ -4,17 +4,10 @@
 import java.util.Date;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.rpc.ServiceDefTarget;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.FileUpload;
 import com.google.gwt.user.client.ui.Grid;
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HasHorizontalAlignment;
-import com.google.gwt.user.client.ui.HasVerticalAlignment;
-import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.MenuItem;
 import com.google.gwt.user.client.ui.TextBox;
@@ -25,15 +18,12 @@
 import com.google.gwt.event.dom.client.KeyCodes;
 import com.google.gwt.event.dom.client.KeyUpEvent;
 import com.google.gwt.event.dom.client.KeyUpHandler;
-import com.google.gwt.event.logical.shared.ResizeEvent;
-import com.google.gwt.event.logical.shared.ResizeHandler;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.core.client.JsArray;
 import com.google.gwt.dom.client.DivElement;
 import com.google.gwt.dom.client.Document;
-import com.google.gwt.dom.client.Element;
 import com.google.gwt.dom.client.OptGroupElement;
 import com.google.gwt.dom.client.OptionElement;
 import com.google.gwt.dom.client.SelectElement;
@@ -43,12 +33,9 @@
 import com.google.gwt.user.client.ui.MenuBar;
 import com.google.gwt.user.client.ui.RootPanel;
 
-import econnect.wp3_3.client.services.FlickrService;
-import econnect.wp3_3.client.services.FlickrServiceAsync;
 import econnect.wp3_3.client.widgets.map.Map;
 import econnect.wp3_3.client.widgets.table.StiTable;
 import econnect.wp3_3.client.widgets.timeplot.Timeplot;
-import econnect.wp3_3.shared.DataElement;
 
 /**
  * Implementation of the Main Grid of the application where all widgets except tables will be embedded
@@ -121,6 +108,8 @@
 		
 		int docWidth = Document.get().getClientWidth();
 		
+		Grid mainGrid = new Grid(3,0);
+		
 		int height = (new Double(Document.get().getClientHeight()*0.5+ph)).intValue();
 		int width = (new Double(height*4/3)).intValue();
 		
@@ -130,18 +119,18 @@
 		}
 		
 		this.width = width;
-
+		
 		this.core = stiCore;
 		this.historyItems = new ArrayList<MenuItem>();
-		this.resize(2,2);
+		this.resize(5,2);
 		this.setCellSpacing(0);
 		this.setCellPadding(0);
-		this.getElement().getStyle().setPosition(Position.ABSOLUTE);
-		this.getElement().getStyle().setPropertyPx("left", (docWidth-width)/2);
+		//this.getElement().getStyle().setPosition(Position.ABSOLUTE);
+		//this.getElement().getStyle().setPropertyPx("left", (docWidth-width)/2);
 		this.getElement().getStyle().setPropertyPx("top", 120-39);
-		this.getElement().getStyle().setZIndex(1);
-		this.getCellFormatter().getElement(0,1).setClassName("cellStyleTop");
-		this.getCellFormatter().getElement(1,0).setClassName("cellStyleLeft");
+		//this.getElement().getStyle().setZIndex(1);
+		this.getCellFormatter().getElement(2,1).setClassName("cellStyleTop");
+		this.getCellFormatter().getElement(3,0).setClassName("cellStyleLeft");
 		RootPanel.get("mainContainer").add(this);
 		
 		final ApplicationConstants constants = (ApplicationConstants) GWT.create(ApplicationConstants.class);
@@ -154,25 +143,29 @@
 		ArrayList<Integer> kmlSources = new ArrayList<Integer>();
 		ArrayList<Integer> kmlCategories = new ArrayList<Integer>();
 		ArrayList<Integer> kmlLocations = new ArrayList<Integer>();
-		if( !Window.Location.getParameter("kml1").equals("undefined") ){
+		
+		//skruse: Fix for null values of kml* parameters
+		//TODO: This should allow an unlimited number of kmls and not an arbitrary limited set!
+		
+		if( !(Window.Location.getParameter("kml1") == null) && !Window.Location.getParameter("kml1").equals("undefined") ){
 			kmlLabels.add(core.hexToAscii(Window.Location.getParameter("kml1")));
 			kmlSources.add(new Integer(Window.Location.getParameter("source1")));
 			kmlCategories.add(new Integer(-1));
 			kmlLocations.add(new Integer(-1));
 		}
-		if( !Window.Location.getParameter("kml2").equals("undefined") ){
+		if( !(Window.Location.getParameter("kml2") == null) && !Window.Location.getParameter("kml2").equals("undefined") ){
 			kmlLabels.add(core.hexToAscii(Window.Location.getParameter("kml2")));
 			kmlSources.add(new Integer(Window.Location.getParameter("source2")));
 			kmlCategories.add(new Integer(-1));
 			kmlLocations.add(new Integer(-1));
 		}
-		if( !Window.Location.getParameter("kml3").equals("undefined") ){
+		if( !(Window.Location.getParameter("kml3") == null) && !Window.Location.getParameter("kml3").equals("undefined") ){
 			kmlLabels.add(core.hexToAscii(Window.Location.getParameter("kml3")));
 			kmlSources.add(new Integer(Window.Location.getParameter("source3")));
 			kmlCategories.add(new Integer(-1));
 			kmlLocations.add(new Integer(-1));
 		}
-		if( !Window.Location.getParameter("kml4").equals("undefined") ){
+		if( !(Window.Location.getParameter("kml4") == null) && !Window.Location.getParameter("kml4").equals("undefined") ){
 			kmlLabels.add(core.hexToAscii(Window.Location.getParameter("kml4")));
 			kmlSources.add(new Integer(Window.Location.getParameter("source4")));
 			kmlCategories.add(new Integer(-1));
@@ -181,8 +174,8 @@
 		int sources = core.getDatasources();
 		if( sources > 0 ){
 			final TextBox searchField = new TextBox();
-			final Image searchButton = new Image(constants.openImage());
-			searchButton.getElement().addClassName("vCenter");
+			final Image openButton = new Image(constants.openImage());
+			openButton.getElement().addClassName("vCenter");
 			final ListBox datasource = new ListBox(false);		
 			final List<ListBox> staticListBoxes = new ArrayList<ListBox>();		
 			final ArrayList<ArrayList<int[]>> entries = new ArrayList<ArrayList<int[]>>();
@@ -239,17 +232,17 @@
 			}
 
 		    if( datasource.getItemCount() > 0 ){
-				final Grid searchPanel = new Grid(1,3);
-			    searchPanel.setWidget(0, 0, datasource);
+				final Grid openPanel = new Grid(1,3);
+			    openPanel.setWidget(0, 0, datasource);
 			    if( staticListBoxes.get(0) == null ){
-		    		  searchPanel.setWidget(0, 1, searchField);
+		    		  openPanel.setWidget(0, 1, searchField);
 			    }
 			    else {
-		    		  searchPanel.setWidget(0, 1, staticListBoxes.get(0));
+		    		  openPanel.setWidget(0, 1, staticListBoxes.get(0));
 			    }
-			    searchPanel.setWidget(0, 2, searchButton);
-			    searchPanel.addStyleName("center");
-			    headerGrid.setWidget(0, 0, searchPanel);
+			    openPanel.setWidget(0, 2, openButton);
+			    openPanel.addStyleName("center");
+			    headerGrid.setWidget(0, 0, openPanel);
 
 			    datasource.addChangeHandler(new ChangeHandler() {
 				      public void onChange(ChangeEvent event) {
@@ -258,22 +251,22 @@
 								return;
 							}
 						    if( staticListBoxes.get(ds) == null ){
-					    		  searchPanel.setWidget(0, 1, searchField);
+					    		  openPanel.setWidget(0, 1, searchField);
 						    }
 						    else {
-					    		  searchPanel.setWidget(0, 1, staticListBoxes.get(ds));
+					    		  openPanel.setWidget(0, 1, staticListBoxes.get(ds));
 						    }
 				      }
 			    });
 			    
 			    class LoadDataHandler implements ClickHandler, KeyUpHandler {
 					public void onClick(ClickEvent event) {
-						searchButton.setUrl(constants.openDisabledImage());
+						openButton.setUrl(constants.openDisabledImage());
 						loadData();
 					}
 					public void onKeyUp(KeyUpEvent event) {
 						if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
-							searchButton.setUrl(constants.openDisabledImage());
+							openButton.setUrl(constants.openDisabledImage());
 							loadData();
 						}
 					}
@@ -291,12 +284,12 @@
 						else if( !searchField.getText().equals("") ){
 							core.openDynamicKml( ds, searchField.getText() );
 						}
-						searchButton.setUrl(constants.openImage());
+						openButton.setUrl(constants.openImage());
 					}
 				}
 
 			    LoadDataHandler handler = new LoadDataHandler();
-				searchButton.addClickHandler(handler);
+				openButton.addClickHandler(handler);
 				searchField.addKeyUpHandler(handler);			
 		    }
 		    
@@ -315,12 +308,12 @@
 		historyLabel.setTitle(textConstants.history());
 		historyLabel.addClickHandler(new ClickHandler() {
 		      public void onClick(ClickEvent event) {
-		    	  if( !RootPanel.get().remove(history) ){
-		    		  RootPanel.get().add(history,0,0);
+		    	  if( !RootPanel.get("mainContainer").remove(history) ){
+		    		  RootPanel.get("mainContainer").add(history,0,0);
 		    		  historyLabel.setUrl(constants.historyOverImage());
 		    		  int left = historyLabel.getAbsoluteLeft() + historyLabel.getOffsetWidth()/2 - history.getOffsetWidth()/2;
 		    		  int top = historyLabel.getAbsoluteTop() + historyLabel.getOffsetHeight();		    		  
-		    		  RootPanel.get().setWidgetPosition(history,left,top);
+		    		  RootPanel.get("mainContainer").setWidgetPosition(history,left,top);
 		    	  }
 		    	  else {
 		    		  historyLabel.setUrl(constants.historyImage());		    		  
@@ -361,13 +354,13 @@
 		      }
 		    });
 	    
-		this.setWidget(0, 1, headerGrid);
+		this.setWidget(2, 1, headerGrid);
 		
 		Grid widgets = new Grid(2,1);
-		this.setWidget(1, 1, widgets);
+		this.setWidget(3, 1, widgets);
 		widgets.setCellPadding(0);
 		widgets.setCellSpacing(0);
-
+		
 		DivElement mapWindow = Document.get().createDivElement();
 		mapWindow.setId("mapWindow");
 		mapWindow.setClassName("mapWindow");
@@ -378,7 +371,7 @@
 		mapDiv.setId("map");
 		mapDiv.getStyle().setPropertyPx("height", height-ph);
 		mapDiv.getStyle().setPropertyPx("width", width);
-		mapDiv.getStyle().setProperty("position", "absolute");
+		//mapDiv.getStyle().setProperty("position", "absolute");
 		mapWindow.appendChild(mapDiv);
 		widgets.getCellFormatter().getElement(0,0).setInnerHTML(mapWindow.getString());
 		this.map = new Map(core,"mapWindow","map");		
@@ -397,7 +390,6 @@
 		final Grid controls = new Grid(4,1);
 		controls.setCellSpacing(0);
 		controls.setCellPadding(0);
-		controls.addStyleName("center");
 		controls.setWidth("100%");
 
 		final Image mapControl = new Image(constants.globeImage());
@@ -418,17 +410,21 @@
 		controls.getCellFormatter().getElement(1,0).getStyle().setVerticalAlign(VerticalAlign.TOP);
 		controls.getCellFormatter().getElement(2,0).getStyle().setVerticalAlign(VerticalAlign.BOTTOM);
 		controls.getCellFormatter().getElement(3,0).getStyle().setHeight(25,Unit.PX);
+		this.getCellFormatter().setHorizontalAlignment(2,0,HasHorizontalAlignment.ALIGN_RIGHT);
+
 		
-		this.setWidget(1,0,controls);
+		this.setWidget(3,0,controls);
 		controls.setSize("100%",height+"px");
 
+		// Increased to 8 by DARIAH-DE SUBGOE sfu
+		Grid linkList = new Grid(1,8);
+
 		this.logo = new Image(constants.logoImage());
 		this.logo.addStyleName("logo");
-		RootPanel.get().add(this.logo);
-		RootPanel.get().setWidgetPosition(this.logo,(docWidth-width)/40,8);
+		this.setWidget(0,0,this.logo);
 		
-		// Increased to 8 by DARIAH-DE SUBGOE sfu
-		Grid linkList = new Grid(1,8);
+		this.getCellFormatter().getElement(0,0).setAttribute("colspan", "2");
+		this.getCellFormatter().getElement(0,1).removeFromParent();
 
 		HTML informationLink = new HTML("&nbsp;e4D&nbsp;&ndash;&nbsp;Info");
 		informationLink.setTitle("e4D&nbsp;-&nbsp;Info");
@@ -448,7 +444,7 @@
 			}
 		});
 		helpLink.setStyleName("headerLink");
-		linkList.setWidget(0, 1, helpLink);
+		
 		
 		HTML contactLink = new HTML("&nbsp;Contact");
 		contactLink.setTitle("Contact");
@@ -458,7 +454,7 @@
 			}
 		});
 		contactLink.setStyleName("headerLink");
-		linkList.setWidget(0, 2, contactLink);
+		linkList.setWidget(0, 1, contactLink);
 		
 		HTML clearLink = new HTML("&nbsp;Clear Data");
 		clearLink.setTitle("Clear Data");
@@ -470,7 +466,7 @@
 			}
 		});
 		clearLink.setStyleName("headerLink");
-		linkList.setWidget(0, 3, clearLink);
+		linkList.setWidget(0, 2, clearLink);
 		
 		HTML uploadLink = new HTML("&nbsp;Upload Data");
 		uploadLink.setTitle("Upload Data");
@@ -480,7 +476,7 @@
 				Window.open("http://wp1187670.wp212.webpack.hosteurope.de/e4d/?page_id=11", "_blank", "");
 			}
 		});
-		linkList.setWidget(0, 4, uploadLink);
+		linkList.setWidget(0, 3, uploadLink);
 
 		// Newly inserted by DARIAH-DE SUBGOE sfu
 		HTML dataSheetLink = new HTML("&nbsp;Data Editor");
@@ -491,7 +487,7 @@
 			}
 		});
 		dataSheetLink.setStyleName("headerLink");
-		linkList.setWidget(0, 5, dataSheetLink);
+		linkList.setWidget(0, 4, dataSheetLink);
 
 		ClickHandler magneticClick = new ClickHandler(){
 			public void onClick(ClickEvent event) {
@@ -528,19 +524,20 @@
 		HTML magneticLink = new HTML("&nbsp;Magnetic Link");
 		magneticLink.setStyleName("headerLink");
 		magneticLink.addClickHandler(magneticClick);
-		linkList.setWidget(0, 6, magneticLink);
+		linkList.setWidget(0, 5, magneticLink);
 		
 		Image link = new Image(constants.linkImage());
 		link.addStyleName("link");
 		link.setTitle("Create Magnetic Link");
-		linkList.setWidget(0, 7, link);
+		linkList.setWidget(0, 6, link);
 		
 		linkList.getElement().getStyle().setPosition(Position.ABSOLUTE);
-		linkList.getElement().getStyle().setPropertyPx("left", 0);
+		linkList.getElement().getStyle().setPropertyPx("right", 0);
+		linkList.getElement().setPropertyString("align", "right");
 		linkList.getElement().getStyle().setPropertyPx("top", 0);
-		RootPanel.get().add(linkList);
-		int left = this.getElement().getOffsetLeft() + this.getElement().getOffsetWidth() - linkList.getElement().getOffsetWidth();
-		RootPanel.get().setWidgetPosition(linkList,left,0);
+		RootPanel.get("mainContainer").add(linkList);
+
+		this.setWidget(1,1,linkList);
 		this.links = linkList;
 		
 		link.addClickHandler(magneticClick);
@@ -548,7 +545,8 @@
 		core.setElements( this.getMap().getJsMap(), this.getPlot().getJsTimeplot() );
 		StiCore.exportStaticMethods(table,this,this.getPlot(),this.getMap());
 
-		table.setTop( this.getElement().getOffsetTop() + this.getElement().getOffsetHeight() + 40 );		
+		table.setTop( 40 );
+		table.setWidth("100%");
 		
 		for( int i=0; i<kmlLabels.size(); i++ ){
 			if( kmlSources.get(i).intValue() == 0 && kmlCategories.get(i) > -1 ){
@@ -561,7 +559,10 @@
 				core.alert("Unable to load \""+kmlLabels.get(i)+"\"!");
 			}
 		}
-		
+
+		this.setWidget(4, 0, table);
+		this.getCellFormatter().getElement(4,0).setAttribute("colspan", "2");
+		this.getCellFormatter().getElement(4,1).removeFromParent();
 	}
 	
 	public void setDefinedBounds(){
@@ -632,11 +633,13 @@
 	}
 	*/
 	public void resize(){
+		/*
 		int w = Document.get().getClientWidth();
-		RootPanel.get().setWidgetPosition(this.logo,(w-width)/2-40,8);		
+		RootPanel.get("mainContainer").setWidgetPosition(this.logo,(w-width)/2-40,8);		
 		RootPanel.get("mainContainer").setWidgetPosition(this,(w-width)/2,120-39);
 		int left = this.getElement().getOffsetLeft() + this.getElement().getOffsetWidth() - this.links.getElement().getOffsetWidth();
-		RootPanel.get().setWidgetPosition(this.links,left,0);
+		RootPanel.get("mainContainer").setWidgetPosition(this.links,left,0);
+		*/
 	}
 	
     /**
@@ -700,7 +703,7 @@
 		    	  core.switchThroughHistory(index);
 		    	  setHistoryStyle(-1,index);
 		    	  historyIndex = index;
-		    	  RootPanel.get().remove(history);
+		    	  RootPanel.get("mainContainer").remove(history);
 		    	  historyLabel.setUrl(constants.historyImage());
 		      }
 		});
--- a/src/econnect/wp3_3/client/widgets/table/StiTable.java	Mon Nov 26 14:36:42 2012 +0100
+++ b/src/econnect/wp3_3/client/widgets/table/StiTable.java	Mon Nov 26 14:39:42 2012 +0100
@@ -34,7 +34,7 @@
 		this.dataTables = new DynamicStiTable[0];
 		this.setStyleName("baseTable");
 		this.setVisible(false);
-		RootPanel.get("tableWindow").add(this);		
+		//RootPanel.get("tableWindow").add(this);		
 	}
 	
     /**