Changeset 8065 in josm


Ignore:
Timestamp:
2015-02-14T22:32:42+01:00 (10 years ago)
Author:
stoecker
Message:

display imagery description in preferences dialog tooltip

Location:
trunk/src/org/openstreetmap/josm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java

    r7759 r8065  
    166166    private ImageryBounds bounds = null;
    167167    private List<String> serverProjections;
     168    private String description;
    168169    private String attributionText;
    169170    private String attributionLinkURL;
     
    200201        @pref String projections;
    201202        @pref String icon;
     203        @pref String description;
    202204
    203205        /**
     
    229231            cookies = i.cookies;
    230232            icon = i.icon;
     233            description = i.description;
    231234            if (i.bounds != null) {
    232235                bounds = i.bounds.encodeAsString(",");
     
    332335        id = e.id;
    333336        url = e.url;
     337        description = e.description;
    334338        cookies = e.cookies;
    335339        eulaAcceptanceRequired = e.eula;
     
    389393        this.countryCode = i.countryCode;
    390394        this.icon = i.icon;
     395        this.description = i.description;
    391396    }
    392397
     
    472477            return false;
    473478        }
     479        if (!Objects.equals(this.description, other.description)) {
     480            return false;
     481        }
    474482        return true;
    475483    }
    476 
    477484
    478485    @Override
     
    774781
    775782    /**
     783     * Returns the description text when existing.
     784     * @return The description
     785     * @since 8064
     786     */
     787    public String getDescription() {
     788        return this.description;
     789    }
     790
     791    /**
     792     * Sets the description text when existing.
     793     * @param description the imagery description text
     794     * @since 8064
     795     */
     796    public void setDescription(String description) {
     797        this.description = description;
     798    }
     799
     800    /**
     801     * Returns a tool tip text for display.
     802     * @return The text
     803     * @since 8064
     804     */
     805    public String getToolTipText() {
     806        String desc = getDescription();
     807        if (desc != null && !desc.isEmpty()) {
     808            return "<html>" + getName() + "<br>" + desc + "</html>";
     809        }
     810        return getName();
     811    }
     812
     813    /**
    776814     * Returns the EULA acceptance URL, if any.
    777815     * @return The URL to an EULA text that has to be accepted before use, or {@code null}
  • trunk/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java

    r7860 r8065  
    184184     * Gets a server URL in the preferences dialog. Used by plugins.
    185185     *
    186      * @param server
    187      *            The server name
     186     * @param server The server name
    188187     * @return The server URL
    189188     */
     
    228227        private final ImageryLayerInfo layerInfo;
    229228
    230         private static class ImageryTableCellRenderer extends DefaultTableCellRenderer {
     229        /**
     230         * class to render the URL information of Imagery source
     231         * @since 8064
     232         */
     233        private static class ImageryURLTableCellRenderer extends DefaultTableCellRenderer {
    231234
    232235            private List<ImageryInfo> layers;
    233236
    234             public ImageryTableCellRenderer(List<ImageryInfo> layers) {
     237            public ImageryURLTableCellRenderer(List<ImageryInfo> layers) {
    235238                this.layers = layers;
    236239            }
     
    255258                        }
    256259                    }
    257                 }
     260                    label.setToolTipText((String)value);
     261                }
     262                return label;
     263            }
     264        }
     265
     266        /**
     267         * class to render the name information of Imagery source
     268         * @since 8064
     269         */
     270        private static class ImageryNameTableCellRenderer extends DefaultTableCellRenderer {
     271            @Override
     272            public Component getTableCellRendererComponent(JTable table, Object value, boolean
     273                    isSelected, boolean hasFocus, int row, int column) {
     274                ImageryInfo info = (ImageryInfo) value;
     275                JLabel label = (JLabel) super.getTableCellRendererComponent(
     276                        table, info.getName(), isSelected, hasFocus, row, column);
     277                label.setBackground(Main.pref.getUIColor("Table.background"));
     278                if (isSelected) {
     279                    label.setForeground(Main.pref.getUIColor("Table.foreground"));
     280                }
     281                label.setToolTipText(info.getToolTipText());
    258282                return label;
    259283            }
     
    281305
    282306            defaultModel = new ImageryDefaultLayerTableModel();
    283             defaultTable = new JTable(defaultModel) {
    284                 @Override
    285                 public String getToolTipText(MouseEvent e) {
    286                     java.awt.Point p = e.getPoint();
    287                     return (String) defaultModel.getValueAt(rowAtPoint(p), columnAtPoint(p));
    288                 }
    289             };
     307            defaultTable = new JTable(defaultModel);
    290308
    291309            defaultModel.addTableModelListener(
     
    309327            TableColumnModel mod = defaultTable.getColumnModel();
    310328            mod.getColumn(2).setPreferredWidth(800);
    311             mod.getColumn(2).setCellRenderer(new ImageryTableCellRenderer(layerInfo.getLayers()));
     329            mod.getColumn(2).setCellRenderer(new ImageryURLTableCellRenderer(layerInfo.getLayers()));
    312330            mod.getColumn(1).setPreferredWidth(400);
     331            mod.getColumn(1).setCellRenderer(new ImageryNameTableCellRenderer());
    313332            mod.getColumn(0).setPreferredWidth(50);
    314333
    315334            mod = activeTable.getColumnModel();
    316335            mod.getColumn(1).setPreferredWidth(800);
    317             mod.getColumn(1).setCellRenderer(new ImageryTableCellRenderer(layerInfo.getDefaultLayers()));
     336            mod.getColumn(1).setCellRenderer(new ImageryURLTableCellRenderer(layerInfo.getDefaultLayers()));
    318337            mod.getColumn(0).setPreferredWidth(200);
    319338
     
    726745                    return info.getCountryCode();
    727746                case 1:
    728                     return info.getName();
     747                    return info;
    729748                case 2:
    730749                    return info.getExtendedUrl();
  • trunk/src/org/openstreetmap/josm/io/imagery/ImageryReader.java

    r7937 r8065  
    117117                        "id",
    118118                        "type",
     119                        "description",
    119120                        "default",
    120121                        "url",
     
    206207                switch(qName) {
    207208                case "name":
     209                    /* TODO: don't ignore lang attribute */
    208210                    entry.setTranslatedName(accumulator.toString());
     211                    break;
     212                case "description":
     213                    /* TODO: don't ignore lang attribute */
     214                    entry.setDescription(accumulator.toString());
    209215                    break;
    210216                case "id":
Note: See TracChangeset for help on using the changeset viewer.