Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartPropertiesEditor.java @ 1503:3304608baf35
Issue 433.
Allways load original chart settings when opening the dialog.
flys-client/trunk@3632 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Mon, 09 Jan 2012 17:07:17 +0000 |
parents | d1223d93dd68 |
children | 02a9104c0451 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartPropertiesEditor.java Mon Jan 09 14:28:37 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartPropertiesEditor.java Mon Jan 09 17:07:17 2012 +0000 @@ -37,6 +37,7 @@ import de.intevation.flys.client.shared.model.DoubleProperty; import de.intevation.flys.client.shared.model.IntegerProperty; import de.intevation.flys.client.shared.model.StringProperty; +import de.intevation.flys.client.shared.model.Settings; import de.intevation.flys.client.shared.model.OutputSettings; import de.intevation.flys.client.shared.model.Collection; import de.intevation.flys.client.client.utils.Validator; @@ -66,9 +67,12 @@ /** The collection */ protected Collection collection; - /** The output settings */ + /** The cloned output settings */ protected OutputSettings settings; + /** The original output settings */ + protected OutputSettings origSettings; + /** * Setup editor dialog. @@ -92,8 +96,9 @@ Config config = Config.getInstance(); collection = tab.getCollectionView().getCollection(); String outputName = tab.getOutputName(); - settings = (OutputSettings)collection.getSettings(outputName); + origSettings = (OutputSettings)collection.getSettings(outputName); + settings = (OutputSettings)origSettings.clone(); if (settings == null) { return; } @@ -102,17 +107,20 @@ for (int i = 0; i < list.size(); i++) { Tab t = new Tab(MSG.getString(list.get(i))); List<Property> props = settings.getSettings(list.get(i)); + List<Property> origProps = origSettings.getSettings(list.get(i)); VLayout layout = new VLayout(); for (int j = 0; j < props.size(); j++) { if (props.get(j) instanceof PropertyGroup) { - layout.addMember(generatePropertyGroup(props.get(j))); + layout.addMember(generatePropertyGroup(props.get(j), + origProps.get(j))); } else if (props.get(j) instanceof PropertySetting) { PropertySetting p = (PropertySetting)props.get(j); if (p.getAttribute("display").equals("false")) { continue; } - layout.addMember(generatePropertySetting(props.get(j))); + layout.addMember(generatePropertySetting(props.get(j), + origProps.get(j))); } } t.setPane(layout); @@ -152,16 +160,16 @@ * @param event The event. */ public void onClick(ClickEvent event) { - this.hide(); + this.destroy(); } /** * */ - protected Canvas generatePropertyGroup(Property group) { + protected Canvas generatePropertyGroup(Property group, Property orig) { PropertyGroup pg = (PropertyGroup)group; - List<Property> list = pg.getProperties(); + PropertyGroup origPg = (PropertyGroup)orig; if (pg.getName().equals("axis")) { Label scale = new Label(MSG.scale() + " :"); @@ -175,12 +183,17 @@ StringProperty label = (StringProperty)pg.getPropertyByName("label"); FormItem title = createStringProperty(label); + title.setValue( + ((StringProperty)origPg.getPropertyByName("label")).getValue()); IntegerProperty fontsize = (IntegerProperty)pg.getPropertyByName("font-size"); FormItem fs = createIntegerProperty(fontsize); fs.setAttribute("internalType", "integer"); fs.addChangedHandler(new Validator()); + fs.setValue( + ((IntegerProperty) + origPg.getPropertyByName("font-size")).getValue()); DoubleProperty upper = (DoubleProperty)pg.getPropertyByName("upper"); @@ -188,6 +201,8 @@ range1.setAttribute("internalType", "double"); range1.addChangedHandler(new Validator()); range1.setWidth(70); + range1.setValue( + ((DoubleProperty)origPg.getPropertyByName("upper")).getValue()); DoubleProperty lower = (DoubleProperty)pg.getPropertyByName("lower"); @@ -195,10 +210,15 @@ range2.setAttribute("internalType", "double"); range2.addChangedHandler(new Validator()); range2.setWidth(70); + range2.setValue( + ((DoubleProperty)origPg.getPropertyByName("lower")).getValue()); BooleanProperty fixation = (BooleanProperty)pg.getPropertyByName("fixation"); FormItem fix = createBooleanProperty(fixation); + fix.setValue( + ((BooleanProperty) + origPg.getPropertyByName("fixation")).getValue()); fix.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent e) { if ((Boolean)e.getValue()) { @@ -227,7 +247,7 @@ scaleLayout.setHeight(30); scaleLayout.addMember(scale); scaleLayout.addMember(form2); - scaleLayout.addStyleName("property-dialog-axis"); + scaleLayout.setStyleName("property-dialog-axis"); VLayout root = new VLayout(); root.addMember(form1); @@ -243,25 +263,32 @@ /** * */ - protected DynamicForm generatePropertySetting(Property setting) { + protected DynamicForm generatePropertySetting( + Property setting, + Property orig) + { PropertySetting s = (PropertySetting)setting; DynamicForm form = new DynamicForm(); FormItem item = new FormItem(); if (setting instanceof BooleanProperty) { item = createBooleanProperty((BooleanProperty)setting); + item.setValue(((BooleanProperty)orig).getValue()); } else if (setting instanceof DoubleProperty) { item = createDoubleProperty((DoubleProperty)setting); item.setAttribute("internalType", "double"); item.addChangedHandler(new Validator()); + item.setValue(((DoubleProperty)orig).getValue()); } else if (setting instanceof IntegerProperty) { item = createIntegerProperty((IntegerProperty)setting); item.setAttribute("internalType", "integer"); item.addChangedHandler(new Validator()); + item.setValue(((IntegerProperty)orig).getValue()); } else if (setting instanceof StringProperty) { item = createStringProperty((StringProperty)setting); + item.setValue(((StringProperty)orig).getValue()); } form.setFields(item); return form; @@ -279,7 +306,6 @@ TextItem item = new TextItem(); item.setTitle(MSG.getString(name)); item.setTitleAlign(Alignment.LEFT); - item.setValue(sp.getValue()); item.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent e) { String val; @@ -309,12 +335,12 @@ item.setLabelAsTitle(true); item.setTitleStyle("color:#000;"); item.setTitleAlign(Alignment.LEFT); - if(bp.getValue().equals("true")) { +/* if(bp.getValue().equals("true")) { item.setValue(true); } else { item.setValue(false); - } + }*/ item.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent e) { String val; @@ -343,7 +369,6 @@ TextItem item = new TextItem(); item.setTitle(MSG.getString(name)); item.setTitleAlign(Alignment.LEFT); - item.setValue(dp.getValue()); item.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent e) { String val; @@ -372,7 +397,6 @@ TextItem item = new TextItem(); item.setTitle(MSG.getString(name)); item.setTitleAlign(Alignment.LEFT); - item.setValue(ip.getValue()); item.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent e) { String val; @@ -395,6 +419,8 @@ GWT.log("PropertiesEditor.updateCollection via RPC now"); + Settings s = settings; + collection.addSettings(this.tab.getOutputName(), s); updater.update(collection, loc, new AsyncCallback<Collection>() { public void onFailure(Throwable caught) { GWT.log("Could not update collection attributes."); @@ -407,9 +433,9 @@ } protected void updateChartTab() { - this.hide(); this.tab.updateChartInfo(); this.tab.updateChartPanel(); + this.destroy(); }