/* * 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 GetCapabilitiesViewImpl implements CreateClientWmsPresenter.GetCapabilitiesView { protected static final LayerMessages MESSAGES = GWT.create(LayerMessages.class); /* form fields */ public static final String GET_CAPABILITIES_URL = "GetCapabilitiesURL"; public static final String GET_CAPABILITIES_VERSION = "GetCapabilitiesVersion"; public static final String WMS_USERNAME = "userName"; public static final String WMS_PASSWORD = "password"; private CreateClientWmsPresenter.GetCapabilitiesHandler handler; private VLayout layout; private KeyValueForm form; private FormElement capabilitiesTextField; public GetCapabilitiesViewImpl() { buildGui(); } private void buildGui() { List<FormElement> fields = new ArrayList<FormElement>(); capabilitiesTextField = new FormElement(GET_CAPABILITIES_URL, MESSAGES.layerListClientWmsWizardStepGetCapabilitiesUrlLabel(), KeyValueForm.ITEMTYPE_TEXT, true, 500, MESSAGES.layerListClientWmsWizardStepGetCapabilitiesUrlTooltip(), null); fields.add(capabilitiesTextField); fields.add(new FormElement(WMS_USERNAME, MESSAGES.layerListClientWmsWizardStepGetCapabilitiesUserNameLabel(), 150)); fields.add(new FormElement(WMS_PASSWORD, MESSAGES.layerListClientWmsWizardStepGetCapabilitiesPasswordLabel(), KeyValueForm.ITEMTYPE_PASSWORD, false, 150, null, null)); form = new KeyValueForm(); form.setWidth100(); //form.setColWidths("200", "*"); //form.setColWidths("300"); form.updateFields(fields); layout = new VLayout(); layout.addMember(form); } public void setCapabilitiesTextFieldTooltip(String tooltipText) { capabilitiesTextField.setTooltip(tooltipText); } @Override public void setGetCapabilitiesHandler(CreateClientWmsPresenter.GetCapabilitiesHandler handler) { this.handler = handler; } @Override public Widget getWidget() { return layout; } @Override public String getTitle() { return MESSAGES.layerListClientWmsWizardStepGetCapabilitiesWindowTitle(); } @Override public boolean isValid() { return form.validate(); } @Override public String getInvalidMessage() { return MESSAGES.layerListClientWmsWizardStepGetCapabilitiesInvalidMessage(); } @Override public void clear() { form.clearValues(); } @Override public void sendDataToHandler() { Map<String, String> data = form.getData(); handler.setWarningLabelText(MESSAGES.layerListClientWmsWizardStepGetCapabilitiesStartSearch(), false); handler.onFinisStepGetCapabilities(data.get(GET_CAPABILITIES_URL), data.get(WMS_USERNAME), data.get(WMS_PASSWORD)); } }