# HG changeset patch # User Felix Wolfsteller # Date 1327677844 0 # Node ID 3cf3cd8dd92d54bf07d7cf53bdbb1cc6f0499906 # Parent 1c47de6ccfb1e2418882eb07245aa79ad4d2badb Made manual points edit- and removable. flys-client/trunk@3807 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 1c47de6ccfb1 -r 3cf3cd8dd92d flys-client/ChangeLog --- a/flys-client/ChangeLog Fri Jan 27 15:22:59 2012 +0000 +++ b/flys-client/ChangeLog Fri Jan 27 15:24:04 2012 +0000 @@ -1,3 +1,8 @@ +2012-01-27 Felix Wolfsteller + + * src/main/java/de/intevation/flys/client/client/ui/chart/ManualPointsEditor.java: + Made previously entered values edit- and removable, added TODOs. + 2012-01-27 Felix Wolfsteller * src/main/java/de/intevation/flys/client/client/ui/chart/ChartPropertiesEditor.java, diff -r 1c47de6ccfb1 -r 3cf3cd8dd92d flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ManualPointsEditor.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ManualPointsEditor.java Fri Jan 27 15:22:59 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ManualPointsEditor.java Fri Jan 27 15:24:04 2012 +0000 @@ -18,6 +18,8 @@ import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord; +import com.smartgwt.client.widgets.grid.events.RecordClickEvent; +import com.smartgwt.client.widgets.grid.events.RecordClickHandler; import com.smartgwt.client.types.ListGridFieldType; import com.smartgwt.client.widgets.form.DynamicForm; @@ -143,6 +145,8 @@ Button accept = new Button(MSG.label_ok()); Button cancel = new Button(MSG.label_cancel()); cancel.addClickHandler(this); + + // TODO refactor. accept.addClickHandler(new ClickHandler() { public void onClick(ClickEvent e) { if(isDialogValid()) { @@ -167,6 +171,7 @@ JSONArray data = new JSONArray(); // TODO better get double directly (via cell-formatter etc) + // TODO finalize the X, Y etc. String xString = record.getAttributeAsString("X"); String yString = record.getAttributeAsString("Y"); String nameString = record.getAttributeAsString("name"); @@ -200,14 +205,8 @@ } public void onSuccess(Artifact fartifact) { GWT.log("Successfully set points "); - // TODO refresh collection such that next time - // the new points are shown. - //requestRedraw(); - //updateCollection(); - //updateGrid(); - //enable(); redrawRequestHandler.onRedrawRequest( - new RedrawRequestEvent(Type.DEFAULT)); + new RedrawRequestEvent()); destroy(); } }); @@ -229,18 +228,43 @@ listGrid = new ListGrid(); listGrid.setWidth100(); listGrid.setHeight(200); + listGrid.setCanSort(false); + listGrid.setCanEdit(true); + listGrid.setShowHeaderContextMenu(false); + // TODO X and Y Header depend on the current chart and axis (e.g. W[nn+m]) + // collection.getSettings(outputName).getSettings -> Propertie -> "axis" -> "label" ListGridField xField = new ListGridField("X", "X"); xField.setType(ListGridFieldType.FLOAT); ListGridField yField = new ListGridField("Y", "Y"); yField.setType(ListGridFieldType.FLOAT); ListGridField nameField = new ListGridField("name", MSG.pointname()); - ListGridField removeField = new ListGridField("remove", - MSG.removepoint()); + final ListGridField removeField = + new ListGridField("_removeRecord", MSG.removepoint()){{ + setType(ListGridFieldType.ICON); + setIcon(GWT.getHostPageBaseURL() + MSG.removeFeature()); + setCanEdit(false); + setCanFilter(false); + setCanSort(false); + setCanGroupBy(false); + setCanFreeze(false); + setWidth(25); + }}; + listGrid.setFields(new ListGridField[] {xField, yField, nameField, removeField}); + listGrid.addRecordClickHandler(new RecordClickHandler() { + public void onRecordClick(final RecordClickEvent event) { + // Just handle remove-clicks + if(!event.getField().getName().equals(removeField.getName())) { + return; + } + event.getViewer().removeData(event.getRecord()); + } + }); + // Find the artifacts uuid. findManualPointsUUID(); CollectionItem item = collection.getItem(uuid); @@ -333,10 +357,7 @@ protected static final String ATTRIBUTE_X = "X"; protected static final String ATTRIBUTE_Y = "Y"; protected static final String ATTRIBUTE_NAME = "name"; - - String name; - double x; - double y; + protected static final String ATTRIBUTE_ACTIVE = "active"; private PointRecord() {;} @@ -346,31 +367,36 @@ setY(y); } + public void setActive(boolean b) { + setAttribute(ATTRIBUTE_ACTIVE, b); + } + + public boolean isActive() { + return getAttributeAsBoolean(ATTRIBUTE_ACTIVE); + } + public void setName(String name) { - this.name = name; - setAttribute(ATTRIBUTE_NAME, getName()); + setAttribute(ATTRIBUTE_NAME, name); } public String getName() { - return this.name; + return getAttributeAsString(ATTRIBUTE_NAME); } public void setX(double x) { - this.x = x; - setAttribute(ATTRIBUTE_X, getX()); + setAttribute(ATTRIBUTE_X, x); } public void setY(double y) { - this.y = y; - setAttribute(ATTRIBUTE_Y, getY()); + setAttribute(ATTRIBUTE_Y, y); } public double getX() { - return this.x; + return getAttributeAsDouble(ATTRIBUTE_X); } public double getY() { - return this.y; + return getAttributeAsDouble(ATTRIBUTE_Y); } }