Ignore:
Timestamp:
2011-06-26T16:56:36+02:00 (13 years ago)
Author:
bastiK
Message:

fixed #6506 - shortcut to switch rendering mode doesn't work (partial revert of [4087])

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
2 edited

Legend:

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

    r4139 r4175  
    277277        viewMenu.add(wireframe);
    278278        wireframe.setAccelerator(wireFrameToggleAction.getShortcut().getKeyStroke());
     279        wireFrameToggleAction.addButtonModel(wireframe.getModel());
    279280
    280281        viewMenu.addSeparator();
  • trunk/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java

    r4087 r4175  
    1313import java.awt.Rectangle;
    1414import java.awt.event.ActionEvent;
     15import java.awt.event.ActionListener;
    1516import java.awt.event.KeyEvent;
    1617import java.awt.event.MouseEvent;
     
    2728
    2829import javax.swing.AbstractAction;
     30import javax.swing.DefaultButtonModel;
    2931import javax.swing.DefaultListSelectionModel;
    3032import javax.swing.JCheckBox;
     
    9799        JLabel wfLabel = new JLabel(tr("Wireframe View"), ImageProvider.get("dialogs/mappaint", "wireframe_small"), JLabel.HORIZONTAL);
    98100        wfLabel.setFont(wfLabel.getFont().deriveFont(Font.PLAIN));
    99         cbWireframe.setFont(cbWireframe.getFont().deriveFont(Font.PLAIN));
    100         cbWireframe.setAction(Main.main.menu.wireFrameToggleAction);
     101
     102        cbWireframe.setModel(new DefaultButtonModel() {
     103            @Override
     104            public void setSelected(boolean b) {
     105                super.setSelected(b);
     106                tblStyles.setEnabled(!b);
     107                onoffAction.updateEnabledState();
     108                upAction.updateEnabledState();
     109                downAction.updateEnabledState();
     110            }
     111        });
     112        cbWireframe.addActionListener(new ActionListener() {
     113            public void actionPerformed(ActionEvent e) {
     114                Main.main.menu.wireFrameToggleAction.actionPerformed(null);
     115            }
     116        });
    101117        cbWireframe.setBorder(new EmptyBorder(new Insets(1,1,1,1)));
    102         cbWireframe.setText("");
     118
    103119        tblStyles = new StylesTable(model);
    104120        tblStyles.setSelectionModel(selectionModel= new DefaultListSelectionModel());
     
    114130        tblStyles.setShowGrid(false);
    115131        tblStyles.setIntercellSpacing(new Dimension(0, 0));
    116         cbWireframe.addChangeListener(tblStyles);
    117132
    118133        JPanel p = new JPanel(new GridBagLayout());
     
    122137
    123138        pnl.add(new JScrollPane(p), BorderLayout.CENTER);
     139
    124140        pnl.add(buildButtonRow(), BorderLayout.SOUTH);
     141
    125142        add(pnl, BorderLayout.CENTER);
    126143    }
    127144
    128     protected class StylesTable extends JTable implements ChangeListener{
     145    protected static class StylesTable extends JTable {
    129146
    130147        public StylesTable(TableModel dm) {
     
    140157            rect.setLocation(rect.x - pt.x, rect.y - pt.y);
    141158            viewport.scrollRectToVisible(rect);
    142         }
    143 
    144         @Override
    145         public void stateChanged(ChangeEvent e) {
    146             setEnabled(!cbWireframe.isSelected());
    147159        }
    148160    }
     
    158170        selectionModel.addListSelectionListener(upAction);
    159171        selectionModel.addListSelectionListener(downAction);
    160         cbWireframe.addChangeListener(onoffAction);
    161         cbWireframe.addChangeListener(upAction);
    162         cbWireframe.addChangeListener(downAction);
    163 
    164172        p.add(new SideButton(onoffAction));
    165173        p.add(new SideButton(upAction));
     
    172180    @Override
    173181    public void showNotify() {
    174         cbWireframe.setAction(Main.main.menu.wireFrameToggleAction);
    175182        MapPaintStyles.addMapPaintSylesUpdateListener(model);
     183        Main.main.menu.wireFrameToggleAction.addButtonModel(cbWireframe.getModel());
    176184    }
    177185
    178186    @Override
    179187    public void hideNotify() {
    180         cbWireframe.setAction(null);
     188        Main.main.menu.wireFrameToggleAction.removeButtonModel(cbWireframe.getModel());
    181189        MapPaintStyles.removeMapPaintSylesUpdateListener(model);
    182190    }
     
    296304    }
    297305
    298     protected abstract class EventListeningAction extends AbstractAction implements ListSelectionListener, ChangeListener {
    299 
    300         protected abstract void updateEnabledState();
    301 
    302         @Override
    303         public void valueChanged(ListSelectionEvent e) {
    304             updateEnabledState();
    305         }
    306 
    307         @Override
    308         public void stateChanged(ChangeEvent e) {
    309             updateEnabledState();
    310         }
    311     }
    312 
    313     protected class OnOffAction extends EventListeningAction {
     306    protected class OnOffAction extends AbstractAction implements ListSelectionListener {
    314307        public OnOffAction() {
    315308            putValue(SHORT_DESCRIPTION, tr("Turn selected styles on or off"));
     
    318311        }
    319312
    320         @Override
    321313        protected void updateEnabledState() {
    322314            setEnabled(!cbWireframe.isSelected() && tblStyles.getSelectedRowCount() > 0);
     315        }
     316
     317        @Override
     318        public void valueChanged(ListSelectionEvent e) {
     319            updateEnabledState();
    323320        }
    324321
     
    337334     * The action to move down the currently selected entries in the list.
    338335     */
    339     protected class MoveUpDownAction extends EventListeningAction {
     336    protected class MoveUpDownAction extends AbstractAction implements ListSelectionListener {
    340337
    341338        final int increment;
     
    348345        }
    349346
    350         @Override
    351347        public void updateEnabledState() {
    352348            int[] sel = tblStyles.getSelectedRows();
     
    364360            }
    365361            model.ensureSelectedIsVisible();
     362        }
     363
     364        public void valueChanged(ListSelectionEvent e) {
     365            updateEnabledState();
    366366        }
    367367    }
Note: See TracChangeset for help on using the changeset viewer.