Changeset 23916 in osm for applications/editors


Ignore:
Timestamp:
2010-10-30T16:35:28+02:00 (14 years ago)
Author:
oliverw
Message:

Apply guessed street names via double click.

Location:
applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressEditAction.java

    r23891 r23916  
    88import java.util.Collection;
    99
    10 import org.openstreetmap.josm.Main;
    1110import org.openstreetmap.josm.actions.JosmAction;
    1211import org.openstreetmap.josm.data.SelectionChangedListener;
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressNode.java

    r23915 r23916  
    1515
    1616import org.openstreetmap.josm.data.osm.OsmPrimitive;
    17 import org.openstreetmap.josm.plugins.addressEdit.gui.GuessAddressDataAction;
    1817
    1918public class AddressNode extends NodeEntityBase {
     
    7776                this.guessedStreetName = guessedStreetName;
    7877                fireEntityChanged(this);
     78        }
     79       
     80        public boolean hasGuessedStreetName() {
     81                return !StringUtils.isNullOrEmpty(guessedStreetName);
    7982        }
    8083
     
    176179        }
    177180       
     181        /**
     182         * Applies the guessed street name to the addr:street tag value.
     183         */
    178184        public void applyGuessedStreet() {
    179                 if (!StringUtils.isNullOrEmpty(getGuessedStreetName())) {
     185                if (hasGuessedStreetName()) {
    180186                        setOSMTag(TagUtils.ADDR_STREET_TAG, guessedStreetName);
    181187                }
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/NodeEntityBase.java

    r23915 r23916  
    112112                newNode.put(tag, newValue);
    113113                Main.main.undoRedo.add( new ChangeCommand(oldNode, newNode));
     114                fireEntityChanged(this);
    114115        }
    115116
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/AddressEditDialog.java

    r23915 r23916  
    115115                        unresolvedTable.getSelectionModel().addListSelectionListener(this);
    116116                        unresolvedTable.getSelectionModel().addListSelectionListener(new IncompleteAddressListener());
     117                        unresolvedTable.addMouseListener(new IncompleteAddressesMouseListener());                       
    117118                       
    118119                        JScrollPane scroll2 = new JScrollPane(unresolvedTable);
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/AddressEditTableModel.java

    r23915 r23916  
    2020import org.openstreetmap.josm.plugins.addressEdit.INodeEntity;
    2121
    22 public class AddressEditTableModel extends DefaultTableModel implements IAddressEditContainerListener{
     22public abstract class AddressEditTableModel extends DefaultTableModel implements IAddressEditContainerListener{
    2323
    2424        /**
     
    4343                fireTableDataChanged();
    4444        }
     45       
     46        /**
     47         * Gets the node entity for the given row or null; if row contains no entity.
     48         * @param row The row to get the entity object for.
     49         * @return
     50         */
     51        public abstract INodeEntity getEntityOfRow(int row);
    4552}
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/IncompleteAddressesTableModel.java

    r23915 r23916  
    1818import org.openstreetmap.josm.plugins.addressEdit.AddressEditContainer;
    1919import org.openstreetmap.josm.plugins.addressEdit.AddressNode;
     20import org.openstreetmap.josm.plugins.addressEdit.INodeEntity;
    2021import org.openstreetmap.josm.plugins.addressEdit.StringUtils;
    2122
     
    5859
    5960        @Override
    60         public Object getValueAt(int row, int column) {
    61                 if (addressContainer == null || addressContainer.getIncompleteAddresses() == null) {
     61        public Object getValueAt(int row, int column) {         
     62                AddressNode aNode = (AddressNode) getEntityOfRow(row);
     63               
     64                if (aNode == null) {
    6265                        return null;
    6366                }
    64                 if (row < 0 || row > addressContainer.getNumberOfIncompleteAddresses()) {
    65                         return null;
    66                 }
    67                 AddressNode aNode = addressContainer.getIncompleteAddresses().get(row);
    6867               
    6968                switch (column) {
     
    10099                return false;
    101100        }
     101
     102        @Override
     103        public INodeEntity getEntityOfRow(int row) {
     104                if (addressContainer == null || addressContainer.getIncompleteAddresses() == null) {
     105                        return null;
     106                }
     107                if (row < 0 || row > addressContainer.getNumberOfIncompleteAddresses()) {
     108                        return null;
     109                }
     110                return addressContainer.getIncompleteAddresses().get(row);
     111        }
    102112}
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/StreetTableModel.java

    r23849 r23916  
    1717
    1818import org.openstreetmap.josm.plugins.addressEdit.AddressEditContainer;
     19import org.openstreetmap.josm.plugins.addressEdit.INodeEntity;
    1920import org.openstreetmap.josm.plugins.addressEdit.StreetNode;
    2021
     
    7778         */
    7879        @Override
    79         public Object getValueAt(int row, int column) {
    80                 if (addressContainer == null || addressContainer.getStreetList() == null) {
     80        public Object getValueAt(int row, int column) {         
     81                StreetNode sNode = (StreetNode) getEntityOfRow(row);
     82               
     83                if (sNode == null) {
    8184                        return null;
    8285                }
    83                 if (row < 0 || row > addressContainer.getNumberOfStreets()) {
    84                         return null;
    85                 }
    86                 StreetNode sNode = addressContainer.getStreetList().get(row);
    8786               
    8887                switch (column) {
     
    106105                return false;
    107106        }
     107
     108        @Override
     109        public INodeEntity getEntityOfRow(int row) {
     110                if (addressContainer == null || addressContainer.getStreetList() == null) {
     111                        return null;
     112                }
     113                if (row < 0 || row > addressContainer.getNumberOfStreets()) {
     114                        return null;
     115                }
     116                return addressContainer.getStreetList().get(row);       
     117        }
    108118}
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/UnresolvedAddressesTableModel.java

    r23915 r23916  
    3333import org.openstreetmap.josm.plugins.addressEdit.AddressEditContainer;
    3434import org.openstreetmap.josm.plugins.addressEdit.AddressNode;
    35 import org.openstreetmap.josm.plugins.addressEdit.StringUtils;
     35import org.openstreetmap.josm.plugins.addressEdit.INodeEntity;
    3636
    3737/**
     
    8383        @Override
    8484        public Object getValueAt(int row, int column) {
    85                 if (addressContainer == null || addressContainer.getUnresolvedAddresses() == null) {
     85                AddressNode aNode = (AddressNode) getEntityOfRow(row);
     86               
     87                if (aNode == null) {
    8688                        return null;
    8789                }
    88                 if (row < 0 || row > addressContainer.getNumberOfUnresolvedAddresses()) {
    89                         return null;
    90                 }
    91                 AddressNode aNode = addressContainer.getUnresolvedAddresses().get(row);
    9290               
    9391                switch (column) {
     
    9593                        String guessed = aNode.getGuessedStreetName();
    9694                        String cur = aNode.getStreet();
    97                         if (!StringUtils.isNullOrEmpty(guessed) &&
    98                                         AddressNode.MISSING_TAG.equals(cur)) {
    99                                
     95                        if (aNode.hasGuessedStreetName() && AddressNode.MISSING_TAG.equals(cur)) {                             
    10096                                return "*" + guessed;
    10197                        } else {
     
    126122                return false;
    127123        }
     124
     125        @Override
     126        public INodeEntity getEntityOfRow(int row) {
     127                if (addressContainer == null || addressContainer.getUnresolvedAddresses() == null) {
     128                        return null;
     129                }
     130                if (row < 0 || row > addressContainer.getNumberOfUnresolvedAddresses()) {
     131                        return null;
     132                }
     133                return addressContainer.getUnresolvedAddresses().get(row);     
     134        }
    128135}
Note: See TracChangeset for help on using the changeset viewer.