changeset 8234:b6371be363b1

(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel The sq ti panel no longer inherits from SQOffEpoch panel as it is now to different for that to make sense. This commit also implements createOld for the SQ Ti panel.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 08 Sep 2014 17:52:52 +0200
parents e3fdca2c4850
children c0da2514f4ce
files gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadOffEpochPanel.java gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadSQTiPanel.java gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoRecord.java
diffstat 3 files changed, 93 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadOffEpochPanel.java	Mon Sep 08 17:50:10 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadOffEpochPanel.java	Mon Sep 08 17:52:52 2014 +0200
@@ -191,10 +191,6 @@
             SedimentLoadInfoRecord rec = new SedimentLoadInfoRecord(sl);
             sedLoadTable.addData(rec);
         }
-        if (sedLoad.length == 1) {
-            /* Preselect lists with only one load. */
-            sedLoadTable.selectRecords(new int[] {0});
-        }
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadSQTiPanel.java	Mon Sep 08 17:50:10 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadSQTiPanel.java	Mon Sep 08 17:52:52 2014 +0200
@@ -41,10 +41,71 @@
 
 /** Show input to select an official epoch. */
 public class SedLoadSQTiPanel
-extends SedLoadOffEpochPanel
+extends PeriodPanel
 {
+    protected SedimentLoadInfoServiceAsync sedLoadInfoService =
+        GWT.create(SedimentLoadInfoService.class);
+
+    protected ListGrid sedLoadTable;
+
+        /** Creates layout with title. */
+    public Canvas createWidget(DataList data) {
+        VLayout root = new VLayout();
+
+        Label title = new Label(data.get(0).getDescription());
+        title.setHeight("25px");
+
+        root.addMember(title);
+
+        return root;
+    }
+
+    /** Create layout for data entered previously. */
+    @Override
+    public Canvas createOld(DataList dataList) {
+        HLayout layout = new HLayout();
+        layout.setWidth("400px");
+        VLayout vLayout = new VLayout();
+        vLayout.setWidth(130);
+        Label label = new Label(dataList.getLabel());
+        label.setWidth("200px");
+        label.setHeight(25);
+
+        List<Data> items = dataList.getAll();
+        Data str = getData(items, "sq_ti_date");
+        DataItem[] strItems = str.getItems();
+
+        String dateString = strItems[0].getStringValue();
+        Label dateLabel = new Label(dateString);
+        dateLabel.setHeight(20);
+        vLayout.addMember(dateLabel);
+        Canvas back = getBackButton(dataList.getState());
+        layout.addMember(label);
+        layout.addMember(vLayout);
+        layout.addMember(back);
+
+        GWT.log("Old data: " + strItems[0].getDescription() + " label " + strItems[0].getLabel() + " value: " + strItems[0].getStringValue());
+
+        return layout;
+    }
+
+    public Canvas create(DataList data) {
+        VLayout layout = new VLayout();
+        Canvas helper = createHelper();
+        this.helperContainer.addMember(helper);
+
+        Canvas submit = getNextButton();
+        Canvas widget = createWidget(data);
+
+        layout.addMember(widget);
+        layout.addMember(submit);
+
+        fetchSedimentLoadData();
+
+        return layout;
+    }
+
     /** Creates the helper grid in which off epochs can be selected. */
-    @Override
     protected Canvas createHelper() {
         sedLoadTable = new ListGrid();
         sedLoadTable.setShowHeaderContextMenu(false);
@@ -57,7 +118,7 @@
         sedLoadTable.setSelectionAppearance(SelectionAppearance.CHECKBOX);
         sedLoadTable.setSelectionType(SelectionStyle.SINGLE);
 
-        ListGridField date = new ListGridField("sq_date", MSG.year());
+        ListGridField date = new ListGridField("sq_ti_date", MSG.year());
         date.setType(ListGridFieldType.TEXT);
         date.setWidth(100);
 
@@ -76,23 +137,30 @@
             return new Data[0];
         }
         String d = "";
+        String desc = "";
         for (int i = 0; i < lgr.length; i++) {
             /* Should only be one item as this is single selection */
             Record r = (Record) lgr[i];
             d = r.getAttribute("sq_ti_id");
-            GWT.log("Got attribute sq_ti_id : " + d);
+            desc = r.getAttribute("sq_ti_date");
+            GWT.log("Got attribute sq_ti_id : " + d + " desc: " + desc);
         }
-        DataItem item = new DefaultDataItem("sq_ti_id", "sq_ti_id", d);
-            data.add(new DefaultData(
-                        "sq_ti_id",
-                        null,
-                        null,
-                        new DataItem[] { item }));
+        DataItem item = new DefaultDataItem("sq_ti_id", "this is ignored", d);
+        DataItem dateLabel = new DefaultDataItem("sq_ti_date", "this is ignored", desc);
+        data.add(new DefaultData(
+                    "sq_ti_id",
+                    null,
+                    null,
+                    new DataItem[] { item }));
+        data.add(new DefaultData(
+                    "sq_ti_date",
+                    null,
+                    null,
+                    new DataItem[] { dateLabel }));
         return data.toArray(new Data[data.size()]);
     }
 
     /** Fetch load info from service and populate table. */
-    @Override
     protected void fetchSedimentLoadData() {
         Config config = Config.getInstance();
         String locale = config.getLocale ();
@@ -123,5 +191,17 @@
             }
         );
     }
+
+    /** Add record to input helper listgrid. */
+    protected void addSedimentLoadInfo (SedimentLoadInfoObject[] sedLoad) {
+        for(SedimentLoadInfoObject sl: sedLoad) {
+            SedimentLoadInfoRecord rec = new SedimentLoadInfoRecord(sl);
+            sedLoadTable.addData(rec);
+        }
+        if (sedLoad.length == 1) {
+            /* Preselect lists with only one load. */
+            sedLoadTable.selectRecords(new int[] {0});
+        }
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoRecord.java	Mon Sep 08 17:50:10 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SedimentLoadInfoRecord.java	Mon Sep 08 17:52:52 2014 +0200
@@ -33,7 +33,7 @@
     }
 
     public void setSQTiDate(String date) {
-        setAttribute("sq_date", date);
+        setAttribute("sq_ti_date", date);
     }
 
     public void setSQTiId(String id) {
@@ -53,6 +53,6 @@
     }
 
     public String getSQTiDate() {
-        return getAttribute("sq_date");
+        return getAttribute("sq_ti_date");
     }
 }

http://dive4elements.wald.intevation.org