/*
* This is part of Geomajas, a GIS framework, http://www.geomajas.org/.
*
* Copyright 2008-2015 Geosparc nv, http://www.geosparc.com/, Belgium.
*
* The program is available in open source according to the GNU Affero
* General Public License. All contributions in this program are covered
* by the Geomajas Contributors License Agreement. For full licensing
* details, see LICENSE.txt in the project root.
*/
package org.geomajas.widget.layer.client.view.wizard;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.Widget;
import com.smartgwt.client.widgets.layout.VLayout;
import org.geomajas.widget.layer.client.i18n.LayerMessages;
import org.geomajas.widget.layer.client.presenter.CreateClientWmsPresenter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author Jan Venstermans
*/
public class EditLayerSettingsViewImpl implements CreateClientWmsPresenter.EditLayerSettingsView {
protected static final LayerMessages MESSAGES = GWT.create(LayerMessages.class);
/* form fields */
public static final String LAYER_NAME = "LayerName";
private CreateClientWmsPresenter.EditLayerSettingsHandler handler;
private VLayout layout;
private KeyValueForm form;
public EditLayerSettingsViewImpl() {
buildGui();
}
private void buildGui() {
List<FormElement> fields = new ArrayList<FormElement>();
fields.add(new FormElement(LAYER_NAME,
MESSAGES.layerListClientWmsWizardStepEditLayerSettingsNameLabel(),
KeyValueForm.ITEMTYPE_TEXT, true, 300, null, null));
form = new KeyValueForm();
form.setWidth100();
form.setColWidths("*");
form.updateFields(fields);
layout = new VLayout();
layout.addMember(form);
}
@Override
public Widget getWidget() {
return layout;
}
@Override
public String getTitle() {
return MESSAGES.layerListClientWmsWizardStepEditLayerSettingsWindowTitle();
}
@Override
public boolean isValid() {
return form.validate();
}
@Override
public String getInvalidMessage() {
return MESSAGES.layerListClientWmsWizardStepEditLayerSettingsInvalidMessage();
}
@Override
public void clear() {
form.clearValues();
}
@Override
public void sendDataToHandler() {
Map<String, String> data = form.getData();
handler.onFinishStepSetLayerName(data.get(LAYER_NAME));
}
@Override
public void setEditLayerSettingsHandler(CreateClientWmsPresenter.EditLayerSettingsHandler handler) {
this.handler = handler;
}
}