Mercurial > hg > STI-GWT
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(" e4D – Info"); informationLink.setTitle("e4D - Info"); @@ -448,7 +444,7 @@ } }); helpLink.setStyleName("headerLink"); - linkList.setWidget(0, 1, helpLink); + HTML contactLink = new HTML(" 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(" 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(" 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(" 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(" 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); } /**