Ignore:
Timestamp:
2017-04-09T11:08:10+02:00 (7 years ago)
Author:
bastiK
Message:

fixed #7427 - Support reprojection (warping) of imagery layer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java

    r11785 r11858  
    22package org.openstreetmap.josm.gui.layer;
    33
    4 import static org.openstreetmap.josm.tools.I18n.tr;
    54import static org.openstreetmap.josm.tools.I18n.trc;
    65
     
    1110import java.awt.image.BufferedImageOp;
    1211import java.util.ArrayList;
     12import java.util.Arrays;
     13import java.util.Collection;
    1314import java.util.List;
    1415
    1516import javax.swing.AbstractAction;
    1617import javax.swing.Action;
     18import javax.swing.BorderFactory;
    1719import javax.swing.Icon;
    1820import javax.swing.JCheckBoxMenuItem;
     
    2426import javax.swing.JPopupMenu;
    2527import javax.swing.JSeparator;
     28import javax.swing.JTextField;
    2629
    2730import org.openstreetmap.josm.Main;
     
    3336import org.openstreetmap.josm.gui.layer.imagery.ImageryFilterSettings;
    3437import org.openstreetmap.josm.gui.layer.imagery.TileSourceDisplaySettings;
    35 import org.openstreetmap.josm.gui.widgets.UrlLabel;
    3638import org.openstreetmap.josm.tools.GBC;
     39import static org.openstreetmap.josm.tools.I18n.tr;
    3740import org.openstreetmap.josm.tools.ImageProvider;
    3841import org.openstreetmap.josm.tools.ImageProvider.ImageSizes;
     
    146149    public void mergeFrom(Layer from) {
    147150    }
     151   
     152    public abstract Collection<String> getNativeProjections();
    148153
    149154    @Override
     
    152157        panel.add(new JLabel(getToolTipText()), GBC.eol());
    153158        if (info != null) {
    154             String url = info.getUrl();
    155             if (url != null) {
    156                 panel.add(new JLabel(tr("URL: ")), GBC.std().insets(0, 5, 2, 0));
    157                 panel.add(new UrlLabel(url), GBC.eol().insets(2, 5, 10, 0));
     159            List<List<String>> content = new ArrayList<>();
     160            content.add(Arrays.asList(tr("Name"), info.getName()));
     161            content.add(Arrays.asList(tr("Type"), info.getImageryType().getTypeString().toUpperCase()));
     162            content.add(Arrays.asList(tr("URL"), info.getUrl()));
     163            content.add(Arrays.asList(tr("Id"), info.getId() == null ? "-" : info.getId()));
     164            if (info.getMinZoom() != 0) {
     165                content.add(Arrays.asList(tr("Min. zoom"), Integer.toString(info.getMinZoom())));
     166            }
     167            if (info.getMaxZoom() != 0) {
     168                content.add(Arrays.asList(tr("Max. zoom"), Integer.toString(info.getMaxZoom())));
     169            }
     170            if (info.getDescription() != null) {
     171                content.add(Arrays.asList(tr("Description"), info.getDescription()));
     172            }
     173            content.add(Arrays.asList(tr("Native projections"), Utils.join(", ", getNativeProjections())));
     174            for (List<String> entry: content) {
     175                panel.add(new JLabel(entry.get(0) + ':'), GBC.std());
     176                panel.add(GBC.glue(5, 0), GBC.std());
     177                panel.add(createTextField(entry.get(1)), GBC.eol().fill(GBC.HORIZONTAL));
    158178            }
    159179        }
    160180        return panel;
     181    }
     182
     183    protected JTextField createTextField(String text) {
     184        JTextField ret = new JTextField(text);
     185        ret.setEditable(false);
     186        ret.setBorder(BorderFactory.createEmptyBorder());
     187        return ret;
    161188    }
    162189
Note: See TracChangeset for help on using the changeset viewer.