Changeset 23816 in osm for applications/editors


Ignore:
Timestamp:
2010-10-24T19:57:27+02:00 (14 years ago)
Author:
oliverw
Message:
  • Added README, removed REVISION
  • INodeEntity implements Comparable
  • Sort/render street tree
Location:
applications/editors/josm/plugins/AddressEdit
Files:
1 added
1 deleted
6 edited

Legend:

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

    r23808 r23816  
    9494         */
    9595        public String getCountry() {
     96                if (!TagUtils.hasAddrCountryTag(osmObject)) {
     97                        return MISSING_TAG;
     98                }
    9699                return TagUtils.getAddrCountryValue(osmObject);
    97100        }
    98101       
     102       
     103       
     104        @Override
     105        public int compareTo(INodeEntity o) {
     106                if (o == null || !(o instanceof AddressNode)) {
     107                        return -1;
     108                }
     109                AddressNode other = (AddressNode) o;
     110               
     111                int cc = 0;
     112                cc = this.getCountry().compareTo(other.getCountry());
     113                if ( cc  == 0) {
     114                        cc = this.getState().compareTo(other.getState());
     115                       
     116                        if (cc  == 0) {
     117                                cc = this.getCity().compareTo(other.getCity());
     118                               
     119                                if (cc  == 0) {
     120                                        cc = this.getStreet().compareTo(other.getStreet());
     121                                       
     122                                        if (cc  == 0) {
     123                                                cc = this.getHouseNumber().compareTo(other.getHouseNumber());
     124                                        }
     125                                }
     126                        }
     127                }
     128               
     129                return cc;
     130        }
     131
    99132        @Override
    100133        public String toString() {
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/AddressVisitor.java

    r23814 r23816  
    3030
    3131import java.util.ArrayList;
     32import java.util.Collections;
    3233import java.util.HashMap;
    3334import java.util.HashSet;
     
    131132       
    132133        public List<StreetNode> getStreetList() {
    133                 return new ArrayList<StreetNode>(streetDict.values());
     134               
     135                ArrayList<StreetNode> sortedList = new ArrayList<StreetNode>(streetDict.values());
     136                Collections.sort(sortedList);
     137                return sortedList;
    134138        }
    135139
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/INodeEntity.java

    r23808 r23816  
    1818import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1919
    20 public interface INodeEntity {
     20public interface INodeEntity extends Comparable<INodeEntity> {
    2121        /**
    2222         * Gets the underlying OSM object.
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/NodeEntityBase.java

    r23808 r23816  
    2020import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2121
    22 public class NodeEntityBase implements INodeEntity {
     22public class NodeEntityBase implements INodeEntity, Comparable<INodeEntity> {
    2323        public static final String ANONYMOUS = tr("No name");
    2424       
     
    7474        }
    7575
     76        @Override
     77        public int compareTo(INodeEntity o) {
     78                if (o == null || !(o instanceof NodeEntityBase)) return -1;
     79                return this.getName().compareTo(o.getName());
     80        }
     81
    7682       
    7783}
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/StreetNode.java

    r23814 r23816  
    1515
    1616import java.util.ArrayList;
     17import java.util.Collections;
    1718import java.util.List;
    1819
     
    4849               
    4950                children.add(segment);
     51                Collections.sort(children);
    5052        }
    5153       
  • applications/editors/josm/plugins/AddressEdit/src/org/openstreetmap/josm/plugins/addressEdit/gui/AddressEditDialog.java

    r23815 r23816  
    3636import javax.swing.tree.DefaultMutableTreeNode;
    3737import javax.swing.tree.DefaultTreeModel;
    38 import javax.swing.tree.TreeNode;
     38import javax.swing.tree.TreeSelectionModel;
    3939
    4040public class AddressEditDialog extends JFrame implements ActionListener, TreeSelectionListener {
     
    7272                setLocation(100, 100);
    7373
     74                // TODO: Proper init, if model is null
    7475                if (model != null) {
    7576                        JPanel streetPanel = new JPanel(new BorderLayout());
    7677                        streetsTree = new JTree(new DefaultTreeModel(model.getStreetsTree()));
     78                        streetsTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    7779                        streetsTree.addTreeSelectionListener(this);
     80                        streetsTree.setCellRenderer(new StreetTreeCellRenderer());
     81                       
    7882                        JScrollPane scroll1 = new JScrollPane(streetsTree);
    7983                        streetPanel.add(scroll1, BorderLayout.CENTER);
     
    8488                        unresolvedTree = new JTree(new DefaultTreeModel(model.getUnresolvedAddressesTree()));
    8589                        unresolvedTree.addTreeSelectionListener(this);
     90                       
    8691                        JScrollPane scroll2 = new JScrollPane(unresolvedTree);
    8792                        unresolvedPanel.add(scroll2, BorderLayout.CENTER);
Note: See TracChangeset for help on using the changeset viewer.