Ignore:
Timestamp:
2016-03-08T01:22:33+01:00 (8 years ago)
Author:
Don-vip
Message:

make MapScaler and SizeButton implement Accessible interface, add unit tests, fix checkstyle violation

File:
1 edited

Legend:

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

    r8510 r9954  
    99import java.awt.geom.Rectangle2D;
    1010
     11import javax.accessibility.Accessible;
     12import javax.accessibility.AccessibleContext;
     13import javax.accessibility.AccessibleValue;
    1114import javax.swing.JComponent;
    1215
     
    1417import org.openstreetmap.josm.gui.help.Helpful;
    1518
    16 public class MapScaler extends JComponent implements Helpful {
     19/**
     20 * Map scale bar, displaying the distance in meter that correspond to 100 px on screen.
     21 * @since 115
     22 */
     23public class MapScaler extends JComponent implements Helpful, Accessible {
    1724
    1825    private final NavigatableComponent mv;
     
    2027    private static final int PADDING_RIGHT = 100;
    2128
     29    /**
     30     * Constructs a new {@code MapScaler}.
     31     * @param mv map view
     32     */
    2233    public MapScaler(NavigatableComponent mv) {
    2334        this.mv = mv;
     
    4152    }
    4253
     54    /**
     55     * Returns the color of map scaler.
     56     * @return the color of map scaler
     57     */
    4358    public static Color getColor() {
    4459        return Main.pref.getColor(marktr("scale"), Color.white);
     
    4964        return ht("/MapView/Scaler");
    5065    }
     66
     67    @Override
     68    public AccessibleContext getAccessibleContext() {
     69        if (accessibleContext == null) {
     70            accessibleContext = new AccessibleMapScaler();
     71        }
     72        return accessibleContext;
     73    }
     74
     75    class AccessibleMapScaler extends AccessibleJComponent implements AccessibleValue {
     76
     77        @Override
     78        public Number getCurrentAccessibleValue() {
     79            return mv.getDist100Pixel();
     80        }
     81
     82        @Override
     83        public boolean setCurrentAccessibleValue(Number n) {
     84            return false;
     85        }
     86
     87        @Override
     88        public Number getMinimumAccessibleValue() {
     89            return null;
     90        }
     91
     92        @Override
     93        public Number getMaximumAccessibleValue() {
     94            return null;
     95        }
     96    }
    5197}
Note: See TracChangeset for help on using the changeset viewer.