Ignore:
Timestamp:
03.12.2009 19:02:25 (2 years ago)
Author:
Gubaer
Message:

fixed #3400: relation editor: improvement to highlight an element
fixed #3873: Feature request: download selected elements in relation editor
New: Dbl-Click in member table to set the map selection to this member
New: Ctrl-Dbl-Clik in member table to add the member to the the map selection
New: Download selected incomplete members only

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java

    r2512 r2563  
    1818import javax.swing.KeyStroke; 
    1919import javax.swing.ListSelectionModel; 
     20import javax.swing.SwingUtilities; 
    2021import javax.swing.event.ListSelectionEvent; 
    2122import javax.swing.event.ListSelectionListener; 
     
    7172 
    7273        addMouseListener(new PopupListener()); 
     74        addMouseListener(new DblClickHandler()); 
    7375    } 
    7476 
     
    241243        return (MemberTableModel) getModel(); 
    242244    } 
     245 
     246    class DblClickHandler extends MouseAdapter { 
     247        protected void setSelection(MouseEvent e) { 
     248            int row = rowAtPoint(e.getPoint()); 
     249            if (row < 0) return; 
     250            OsmPrimitive primitive = getMemberTableModel().getReferredPrimitive(row); 
     251            getMemberTableModel().getLayer().data.setSelected(primitive.getPrimitiveId()); 
     252        } 
     253 
     254        protected void addSelection(MouseEvent e) { 
     255            int row = rowAtPoint(e.getPoint()); 
     256            if (row < 0) return; 
     257            OsmPrimitive primitive = getMemberTableModel().getReferredPrimitive(row); 
     258            getMemberTableModel().getSelectionModel().addSelectionInterval(row, row); 
     259            getMemberTableModel().getLayer().data.addSelected(primitive.getPrimitiveId()); 
     260 
     261        } 
     262 
     263        @Override 
     264        public void mouseClicked(MouseEvent e) { 
     265            if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() > 1) { 
     266                if (e.isControlDown()) { 
     267                    addSelection(e); 
     268                } else { 
     269                    setSelection(e); 
     270                } 
     271            } 
     272        } 
     273    } 
    243274} 
Note: See TracChangeset for help on using the changeset viewer.