Changeset 23884 in osm


Ignore:
Timestamp:
2010-10-27T22:45:07+02:00 (14 years ago)
Author:
oliverw
Message:

Use selection for editing, if available.

Location:
applications/editors/josm/plugins/AddressEdit
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/AddressEdit/.project

    r23879 r23884  
    77        <buildSpec>
    88                <buildCommand>
    9                         <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
    10                         <triggers>full,incremental,</triggers>
     9                        <name>org.eclipse.jdt.core.javabuilder</name>
    1110                        <arguments>
    12                                 <dictionary>
    13                                         <key>LaunchConfigHandle</key>
    14                                         <value>&lt;project&gt;/.externalToolBuilders/org.eclipse.jdt.core.javabuilder (2).launch</value>
    15                                 </dictionary>
    1611                        </arguments>
    1712                </buildCommand>
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressEditAction.java

    r23876 r23884  
    1010import org.openstreetmap.josm.actions.JosmAction;
    1111import org.openstreetmap.josm.data.SelectionChangedListener;
     12import org.openstreetmap.josm.data.osm.DataSet;
    1213import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1314import org.openstreetmap.josm.plugins.addressEdit.gui.AddressEditDialog;
     
    2122        private static final long serialVersionUID = 1L;
    2223        private AddressEditContainer addressEditContainer;
     24        private Collection<? extends OsmPrimitive> newSelection;
    2325
    2426        public AddressEditAction() {
     
    3133                setEnabled(false);
    3234               
     35                addressEditContainer = new AddressEditContainer();
     36                DataSet.addSelectionListener(this);             
    3337        }
    3438
     39        /* (non-Javadoc)
     40         * @see org.openstreetmap.josm.data.SelectionChangedListener#selectionChanged(java.util.Collection)
     41         */
    3542        @Override
    3643        public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
    37                 synchronized (this) {
    38                         collectAddressesAndStreets(newSelection);
     44                this.newSelection = newSelection;
     45                if (addressEditContainer != null) {
     46                        addressEditContainer.invalidate(newSelection);
    3947                }
    4048        }
    4149
     50        /* (non-Javadoc)
     51         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
     52         */
    4253        @Override
    43         public void actionPerformed(ActionEvent arg0) {
    44                 addressEditContainer = new AddressEditContainer();
     54        public void actionPerformed(ActionEvent arg0) {         
    4555                if (addressEditContainer != null) {
    46                         addressEditContainer.attachToDataSet();
     56                        addressEditContainer.attachToDataSet(newSelection);
    4757                        try {
    4858                                AddressEditDialog dlg = new AddressEditDialog(addressEditContainer);
     
    5363                }
    5464        }
     65       
    5566
    56         private void collectAddressesAndStreets(
    57                         final Collection<? extends OsmPrimitive> osmData) {
    58                 if (osmData == null || osmData.isEmpty())
    59                         return;
    60 
    61                
    62         }
    63 
     67        /* (non-Javadoc)
     68         * @see org.openstreetmap.josm.actions.JosmAction#updateEnabledState()
     69         */
    6470        @Override
    6571        protected void updateEnabledState() {
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressEditContainer.java

    r23877 r23884  
    130130                if (newSegment != null) {
    131131                        String name = newSegment.getName();
     132                        if (StringUtils.isNullOrEmpty(name)) return;
     133                       
    132134                        StreetNode sNode = null;
    133135                        if (streetDict.containsKey(name)) {
     
    293295         * be called immediately before an edit session starts.
    294296         */
    295         public void attachToDataSet() {
     297        public void attachToDataSet(Collection<? extends OsmPrimitive> dataToExamine) {         
    296298                Main.main.getCurrentDataSet().addDataSetListener(this);
    297                 invalidate();
     299                if (dataToExamine != null && dataToExamine.size() > 0) {
     300                        invalidate(dataToExamine); // use given data set (usually the current selection)
     301                } else {
     302                        invalidate(); // use current data set
     303                }
    298304        }
    299305       
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/IncompleteAddressesTableModel.java

    r23849 r23884  
    1515
    1616import static org.openstreetmap.josm.tools.I18n.tr;
    17 
    1817
    1918import org.openstreetmap.josm.plugins.addressEdit.AddressEditContainer;
Note: See TracChangeset for help on using the changeset viewer.