Ignore:
Timestamp:
2012-03-03T12:37:00+01:00 (12 years ago)
Author:
jttt
Message:

Add selectZoomTool method (needed by editgpx)

File:
1 edited

Legend:

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

    r5034 r5035  
    9595    public MapStatus statusLine;
    9696
     97    // Toggle dialogs
    9798    public ConflictDialog conflictDialog;
    9899    public FilterDialog filterDialog;
     
    101102    public SelectionListDialog selectionListDialog;
    102103    public PropertiesDialog propertiesDialog;
     104
     105    // Map modes
     106    private final MapMode mapModeSelect;
     107    private final MapMode mapModeDraw;
     108    private final MapMode mapModeZoom;
    103109
    104110    /**
     
    140146        // toolbar
    141147        toolBarActions.setFloatable(false);
    142         addMapMode(new IconToggleButton(new SelectAction(this)));
    143         addMapMode(new IconToggleButton(new DrawAction(this)));
    144         addMapMode(new IconToggleButton(new ZoomAction(this)));
     148        addMapMode(new IconToggleButton(mapModeSelect = new SelectAction(this)));
     149        addMapMode(new IconToggleButton(mapModeDraw = new DrawAction(this)));
     150        addMapMode(new IconToggleButton(mapModeZoom = new ZoomAction(this)));
    145151        addMapMode(new IconToggleButton(new DeleteAction(this), true));
    146152        addMapMode(new IconToggleButton(new ParallelWayAction(this), true));
     
    208214    }
    209215
    210     public void selectSelectTool(boolean onlyIfModeless) {
     216    public boolean selectSelectTool(boolean onlyIfModeless) {
    211217        if(onlyIfModeless && !Main.pref.getBoolean("modeless", false))
    212             return;
    213 
    214         selectMapMode((MapMode)getDefaultButtonAction());
     218            return false;
     219
     220        return selectMapMode(mapModeSelect);
    215221    }
    216222
     
    219225            return;
    220226
    221         Action drawAction = ((AbstractButton)toolBarActions.getComponent(1)).getAction();
    222         selectMapMode((MapMode)drawAction);
     227        selectMapMode(mapModeDraw);
     228    }
     229
     230    public boolean selectZoomTool(boolean onlyIfModeless) {
     231        if(onlyIfModeless && !Main.pref.getBoolean("modeless", false))
     232            return false;
     233
     234        return selectMapMode(mapModeZoom);
    223235    }
    224236
     
    318330     * in such cases.
    319331     * @param mapMode   The new mode to set.
    320      */
    321     public void selectMapMode(MapMode newMapMode) {
    322         selectMapMode(newMapMode, mapView.getActiveLayer());
     332     * @return
     333     */
     334    public boolean selectMapMode(MapMode newMapMode) {
     335        return selectMapMode(newMapMode, mapView.getActiveLayer());
    323336    }
    324337
     
    328341     * @param newMapMode
    329342     * @param newLayer
    330      */
    331     public void selectMapMode(MapMode newMapMode, Layer newLayer) {
     343     * @return True if mode is really selected
     344     */
     345    public boolean selectMapMode(MapMode newMapMode, Layer newLayer) {
    332346        if (newMapMode == null || !newMapMode.layerIsSupported(newLayer))
    333             return;
     347            return false;
    334348
    335349        MapMode oldMapMode = this.mapMode;
    336350        if (newMapMode == oldMapMode)
    337             return;
     351            return true;
    338352        if (oldMapMode != null) {
    339353            oldMapMode.exitMode();
     
    343357        lastMapMode.put(newLayer, newMapMode);
    344358        fireMapModeChanged(oldMapMode, newMapMode);
     359        return true;
    345360    }
    346361
Note: See TracChangeset for help on using the changeset viewer.