001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.preferences.imagery;
003
004import static org.openstreetmap.josm.tools.I18n.tr;
005
006import javax.swing.JLabel;
007
008import org.openstreetmap.josm.data.imagery.ImageryInfo;
009import org.openstreetmap.josm.data.imagery.ImageryInfo.ImageryType;
010import org.openstreetmap.josm.tools.GBC;
011
012/**
013 * Panel for adding WMTS imagery sources
014 * @author Wiktor Niesiobędzki
015 *
016 */
017public class AddWMTSLayerPanel extends AddImageryPanel {
018
019    /**
020     * default constructor
021     */
022    public AddWMTSLayerPanel() {
023        add(new JLabel(tr("1. Enter getCapabilities URL")), GBC.eol());
024        add(rawUrl, GBC.eop().fill());
025        rawUrl.setLineWrap(true);
026        rawUrl.setAlignmentY(TOP_ALIGNMENT);
027        add(new JLabel(tr("2. Enter name for this layer")), GBC.eol());
028        add(name, GBC.eol().fill(GBC.HORIZONTAL));
029        registerValidableComponent(rawUrl);
030    }
031
032    @Override
033    protected ImageryInfo getImageryInfo() {
034        return new ImageryInfo(getImageryName(), "wmts:" + sanitize(getImageryRawUrl(), ImageryType.WMTS));
035    }
036
037    @Override
038    protected boolean isImageryValid() {
039        return !getImageryName().isEmpty() && !getImageryRawUrl().isEmpty();
040    }
041
042}