Ignore:
Timestamp:
2009-07-19T10:31:27+02:00 (17 years ago)
Author:
Gubaer
Message:

improved enabling/disabling of menu entries and action buttons depending on current state of JOSM (number of open layers, type of active layer, etc.)

File:
1 edited

Legend:

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

    r1772 r1808  
    33package org.openstreetmap.josm.gui.layer;
    44
     5import static org.openstreetmap.josm.tools.I18n.tr;
     6
    57import java.awt.Component;
    68import java.awt.Graphics;
     9import java.awt.event.ActionEvent;
    710import java.io.File;
    811import java.util.Collection;
    912import java.util.concurrent.CopyOnWriteArrayList;
    1013
     14import javax.swing.AbstractAction;
    1115import javax.swing.Icon;
    1216
     17import org.openstreetmap.josm.actions.GpxExportAction;
     18import org.openstreetmap.josm.actions.SaveAction;
     19import org.openstreetmap.josm.actions.SaveAsAction;
    1320import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
    1421import org.openstreetmap.josm.gui.MapView;
    1522import org.openstreetmap.josm.tools.Destroyable;
     23import org.openstreetmap.josm.tools.ImageProvider;
    1624
    1725/**
     
    133141        return name;
    134142    }
     143
     144
     145    public static class LayerSaveAction extends AbstractAction {
     146        private Layer layer;
     147        public LayerSaveAction(Layer layer) {
     148            putValue(SMALL_ICON, ImageProvider.get("save"));
     149            putValue(SHORT_DESCRIPTION, tr("Save the current data."));
     150            putValue(NAME, tr("Save"));
     151            setEnabled(true);
     152            this.layer = layer;
     153        }
     154
     155        public void actionPerformed(ActionEvent e) {
     156            new SaveAction().doSave(layer);
     157
     158        }
     159    }
     160
     161    public static class LayerSaveAsAction extends AbstractAction {
     162        private Layer layer;
     163        public LayerSaveAsAction(Layer layer) {
     164            putValue(SMALL_ICON, ImageProvider.get("save_as"));
     165            putValue(SHORT_DESCRIPTION, tr("Save the current data to a new file."));
     166            putValue(NAME, tr("Save As..."));
     167            setEnabled(true);
     168            this.layer = layer;
     169        }
     170
     171        public void actionPerformed(ActionEvent e) {
     172            new SaveAsAction().doSave(layer);
     173        }
     174    }
     175
     176    public static class LayerGpxExportAction extends AbstractAction {
     177        private Layer layer;
     178        public LayerGpxExportAction(Layer layer) {
     179            putValue(SMALL_ICON, ImageProvider.get("exportgpx"));
     180            putValue(SHORT_DESCRIPTION, tr("Export the data to GPX file."));
     181            putValue(NAME, tr("Export to GPX..."));
     182            setEnabled(true);
     183            this.layer = layer;
     184        }
     185
     186        public void actionPerformed(ActionEvent e) {
     187            new GpxExportAction().export(layer);
     188        }
     189    }
     190
    135191}
Note: See TracChangeset for help on using the changeset viewer.