Changeset 4087 in josm for trunk/src/org/openstreetmap/josm/actions/WireframeToggleAction.java
- Timestamp:
- 2011-05-15T23:51:25+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/WireframeToggleAction.java
r3894 r4087 6 6 import java.awt.event.ActionEvent; 7 7 import java.awt.event.KeyEvent; 8 import java.util.ArrayList;9 import java.util.List;10 11 import javax.swing.ButtonModel;12 8 13 9 import org.openstreetmap.josm.Main; 10 import org.openstreetmap.josm.data.osm.visitor.paint.MapRendererFactory; 11 import org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer; 12 import org.openstreetmap.josm.data.osm.visitor.paint.WireframeMapRenderer; 14 13 import org.openstreetmap.josm.tools.Shortcut; 15 14 16 15 public class WireframeToggleAction extends JosmAction { 17 private final List<ButtonModel> buttonModels = new ArrayList<ButtonModel>();18 //FIXME: replace with property Action.SELECTED_KEY when migrating to19 // Java 620 private boolean selected;21 16 public WireframeToggleAction() { 22 17 super( … … 27 22 true /* register shortcut */ 28 23 ); 29 selected = Main.pref.getBoolean("draw.wireframe", false); 30 notifySelectedState(); 24 putValue(SELECTED_KEY, MapRendererFactory.getInstance().isWireframeMapRendererActive()); 31 25 } 32 26 33 public void addButtonModel(ButtonModel model) { 34 if (model != null && !buttonModels.contains(model)) { 35 buttonModels.add(model); 36 model.setSelected(selected); 27 public void toggleSelectedState() { 28 boolean selected = (Boolean)getValue(SELECTED_KEY); 29 30 if (selected){ 31 MapRendererFactory.getInstance().activate(WireframeMapRenderer.class); 32 } else { 33 MapRendererFactory.getInstance().activate(StyledMapRenderer.class); 37 34 } 38 }39 40 public void removeButtonModel(ButtonModel model) {41 if (model != null && buttonModels.contains(model)) {42 buttonModels.remove(model);43 }44 }45 46 protected void notifySelectedState() {47 for (ButtonModel model: buttonModels) {48 if (model.isSelected() != selected) {49 model.setSelected(selected);50 }51 }52 }53 54 protected void toggleSelectedState() {55 selected = !selected;56 Main.pref.put("draw.wireframe", selected);57 notifySelectedState();58 35 if (Main.map != null) { 59 36 Main.map.mapView.repaint(); 60 37 } 61 38 } 39 62 40 public void actionPerformed(ActionEvent e) { 63 41 toggleSelectedState(); … … 66 44 @Override 67 45 protected void updateEnabledState() { 68 setEnabled(Main.map != null && Main.main.getEditLayer() != null); 69 } 70 71 public boolean isSelected() { 72 return selected; 46 setEnabled(Main.main.getEditLayer() != null); 73 47 } 74 48 }
Note:
See TracChangeset
for help on using the changeset viewer.