Changeset 33735 in osm for applications


Ignore:
Timestamp:
2017-10-27T01:25:40+02:00 (7 years ago)
Author:
donvip
Message:

update to JOSM 12987

Location:
applications/editors/josm/plugins/buildings_tools
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/buildings_tools/build.xml

    r32680 r33735  
    44    <property name="commit.message" value="BuildingTools: Alt key to disable tags"/>
    55    <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
    6     <property name="plugin.main.version" value="10580"/>
     6    <property name="plugin.main.version" value="12987"/>
    77   
    88    <!-- Configure these properties (replace "..." accordingly).
  • applications/editors/josm/plugins/buildings_tools/src/buildings_tools/Building.java

    r32728 r33735  
    3232import org.openstreetmap.josm.data.osm.RelationMember;
    3333import org.openstreetmap.josm.data.osm.Way;
     34import org.openstreetmap.josm.gui.MainApplication;
    3435import org.openstreetmap.josm.gui.MapView;
    3536
     
    161162        updatePos();
    162163
    163         Main.map.statusLine.setHeading(Math.toDegrees(heading));
     164        MainApplication.getMap().statusLine.setHeading(Math.toDegrees(heading));
    164165        if (this.drawingAngle != null && !ignoreConstraints) {
    165166            double ang = Math.toDegrees(heading - this.drawingAngle);
     
    168169            if (ang > 360)
    169170                ang -= 360;
    170             Main.map.statusLine.setAngle(ang);
     171            MainApplication.getMap().statusLine.setAngle(ang);
    171172        }
    172173    }
     
    179180        heading = drawingAngle;
    180181        setLengthWidth(projection1(p2), projection2(p2));
    181         Main.map.statusLine.setHeading(Math.toDegrees(heading));
     182        MainApplication.getMap().statusLine.setHeading(Math.toDegrees(heading));
    182183    }
    183184
     
    210211
    211212    private Node findNode(EastNorth pos) {
    212         DataSet ds = Main.getLayerManager().getEditDataSet();
     213        DataSet ds = MainApplication.getLayerManager().getEditDataSet();
    213214        LatLon l = eastNorth2latlon(pos);
    214215        List<Node> nodes = ds.searchNodes(new BBox(l.lon() - 0.0000001, l.lat() - 0.0000001,
     
    237238        List<Node> nodes = new LinkedList<>();
    238239        nodesloop:
    239         for (Node n : Main.getLayerManager().getEditDataSet().searchNodes(bbox)) {
     240        for (Node n : MainApplication.getLayerManager().getEditDataSet().searchNodes(bbox)) {
    240241            if (!n.isUsable())
    241242                continue;
     
    298299        }
    299300        w.addNode(nodes[0]);
     301        DataSet ds = MainApplication.getLayerManager().getEditDataSet();
    300302        Collection<Command> cmds = new LinkedList<>();
    301303        for (int i = 0; i < 4; i++) {
    302304            if (created[i])
    303                 cmds.add(new AddCommand(nodes[i]));
    304         }
    305         cmds.add(new AddCommand(w));
     305                cmds.add(new AddCommand(ds, nodes[i]));
     306        }
     307        cmds.add(new AddCommand(ds, w));
    306308
    307309        if (ToolSettings.PROP_USE_ADDR_NODE.get()) {
  • applications/editors/josm/plugins/buildings_tools/src/buildings_tools/BuildingsToolsPlugin.java

    r31098 r33735  
    22package buildings_tools;
    33
    4 import org.openstreetmap.josm.Main;
     4import javax.swing.JMenu;
     5
    56import org.openstreetmap.josm.data.coor.EastNorth;
    67import org.openstreetmap.josm.data.coor.LatLon;
     
    89import org.openstreetmap.josm.data.projection.Projections;
    910import org.openstreetmap.josm.gui.IconToggleButton;
     11import org.openstreetmap.josm.gui.MainApplication;
    1012import org.openstreetmap.josm.gui.MainMenu;
    1113import org.openstreetmap.josm.gui.MapFrame;
     
    2628    public BuildingsToolsPlugin(PluginInformation info) {
    2729        super(info);
    28         MainMenu.add(Main.main.menu.dataMenu, new BuildingSizeAction());
    29         MainMenu.add(Main.main.menu.dataMenu, new MergeAddrPointsAction());
     30        JMenu dataMenu = MainApplication.getMenu().dataMenu;
     31        MainMenu.add(dataMenu, new BuildingSizeAction());
     32        MainMenu.add(dataMenu, new MergeAddrPointsAction());
    3033    }
    3134
     
    3336    public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
    3437        if (oldFrame == null && newFrame != null) {
    35             Main.map.addMapMode(new IconToggleButton(new DrawBuildingAction(Main.map)));
     38            MainApplication.getMap().addMapMode(new IconToggleButton(new DrawBuildingAction()));
    3639        }
    3740    }
  • applications/editors/josm/plugins/buildings_tools/src/buildings_tools/DrawBuildingAction.java

    r32944 r33735  
    2222import java.util.Map.Entry;
    2323
    24 import org.openstreetmap.josm.Main;
    2524import org.openstreetmap.josm.actions.mapmode.MapMode;
    2625import org.openstreetmap.josm.data.Bounds;
     
    3130import org.openstreetmap.josm.data.osm.OsmPrimitive;
    3231import org.openstreetmap.josm.data.osm.Way;
    33 import org.openstreetmap.josm.data.preferences.ColorProperty;
     32import org.openstreetmap.josm.data.preferences.NamedColorProperty;
     33import org.openstreetmap.josm.gui.MainApplication;
    3434import org.openstreetmap.josm.gui.MapFrame;
    3535import org.openstreetmap.josm.gui.MapView;
     
    3838import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    3939import org.openstreetmap.josm.gui.util.KeyPressReleaseListener;
    40 import org.openstreetmap.josm.gui.util.ModifierListener;
     40import org.openstreetmap.josm.gui.util.ModifierExListener;
    4141import org.openstreetmap.josm.tools.ImageProvider;
     42import org.openstreetmap.josm.tools.Logging;
    4243import org.openstreetmap.josm.tools.Shortcut;
    4344
    4445@SuppressWarnings("serial")
    4546public class DrawBuildingAction extends MapMode implements MapViewPaintable, SelectionChangedListener,
    46         KeyPressReleaseListener, ModifierListener {
     47        KeyPressReleaseListener, ModifierExListener {
    4748    private enum Mode {
    4849        None, Drawing, DrawingWidth, DrawingAngFix
     
    6364    final Building building = new Building();
    6465
    65     public DrawBuildingAction(MapFrame mapFrame) {
     66    public DrawBuildingAction() {
    6667        super(tr("Draw buildings"), "building", tr("Draw buildings"),
    6768                Shortcut.registerShortcut("mapmode:buildings",
    6869                        tr("Mode: {0}", tr("Draw buildings")),
    6970                        KeyEvent.VK_B, Shortcut.DIRECT),
    70                 mapFrame, getCursor());
     71                getCursor());
    7172
    7273        cursorCrosshair = getCursor();
     
    7980            return ImageProvider.getCursor("crosshair", "building");
    8081        } catch (Exception e) {
    81             Main.error(e);
     82            Logging.error(e);
    8283        }
    8384        return Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR);
     
    9495        try {
    9596            // We invoke this to prevent strange things from happening
    96             EventQueue.invokeLater(new Runnable() {
    97                 @Override
    98                 public void run() {
    99                     // Don't change cursor when mode has changed already
    100                     if (!(Main.map.mapMode instanceof DrawBuildingAction))
    101                         return;
    102                     Main.map.mapView.setCursor(c);
    103                 }
     97            EventQueue.invokeLater(() -> {
     98                MapFrame map = MainApplication.getMap();
     99                // Don't change cursor when mode has changed already
     100                if (!(map.mapMode instanceof DrawBuildingAction))
     101                    return;
     102                map.mapView.setCursor(c);
    104103            });
    105104            currCursor = c;
    106105        } catch (Exception e) {
    107             Main.error(e);
     106            Logging.error(e);
    108107        }
    109108    }
     
    128127    public void enterMode() {
    129128        super.enterMode();
     129        MapFrame map = MainApplication.getMap();
    130130        if (getLayerManager().getEditDataSet() == null) {
    131             Main.map.selectSelectTool(false);
    132             return;
    133         }
    134         selectedColor = new ColorProperty(marktr("selected"), selectedColor).get();
     131            map.selectSelectTool(false);
     132            return;
     133        }
     134        selectedColor = new NamedColorProperty(marktr("selected"), selectedColor).get();
    135135        currCursor = cursorCrosshair;
    136         Main.map.mapView.addMouseListener(this);
    137         Main.map.mapView.addMouseMotionListener(this);
    138         Main.map.mapView.addTemporaryLayer(this);
    139         Main.map.keyDetector.addKeyListener(this);
    140         Main.map.keyDetector.addModifierListener(this);
     136        map.mapView.addMouseListener(this);
     137        map.mapView.addMouseMotionListener(this);
     138        map.mapView.addTemporaryLayer(this);
     139        map.keyDetector.addKeyListener(this);
     140        map.keyDetector.addModifierExListener(this);
    141141        DataSet.addSelectionListener(this);
    142142        updateSnap(getLayerManager().getEditDataSet().getSelected());
     
    146146    public void exitMode() {
    147147        super.exitMode();
    148         Main.map.mapView.removeMouseListener(this);
    149         Main.map.mapView.removeMouseMotionListener(this);
    150         Main.map.mapView.removeTemporaryLayer(this);
    151         Main.map.keyDetector.removeKeyListener(this);
    152         Main.map.keyDetector.removeModifierListener(this);
     148        MapFrame map = MainApplication.getMap();
     149        map.mapView.removeMouseListener(this);
     150        map.mapView.removeMouseMotionListener(this);
     151        map.mapView.removeTemporaryLayer(this);
     152        map.keyDetector.removeKeyListener(this);
     153        map.keyDetector.removeModifierExListener(this);
    153154        DataSet.removeSelectionListener(this);
    154155        if (mode != Mode.None)
    155             Main.map.mapView.repaint();
     156            map.mapView.repaint();
    156157        mode = Mode.None;
    157158    }
     
    159160    public final void cancelDrawing() {
    160161        mode = Mode.None;
    161         if (Main.map == null || Main.map.mapView == null)
    162             return;
    163         Main.map.statusLine.setHeading(-1);
    164         Main.map.statusLine.setAngle(-1);
     162        MapFrame map = MainApplication.getMap();
     163        if (map == null || map.mapView == null)
     164            return;
     165        map.statusLine.setHeading(-1);
     166        map.statusLine.setAngle(-1);
    165167        building.reset();
    166         Main.map.mapView.repaint();
     168        map.mapView.repaint();
    167169        updateStatusLine();
    168170    }
    169171
    170172    @Override
    171     public void modifiersChanged(int modifiers) {
     173    public void modifiersExChanged(int modifiers) {
    172174        boolean oldCtrl = ctrl;
    173175        boolean oldShift = shift;
    174         updateKeyModifiers(modifiers);
     176        updateKeyModifiersEx(modifiers);
    175177        if (ctrl != oldCtrl || shift != oldShift) {
    176178            processMouseEvent(null);
    177179            updCursor();
    178180            if (mode != Mode.None)
    179                 Main.map.mapView.repaint();
     181                MainApplication.getMap().mapView.repaint();
    180182        }
    181183    }
     
    200202            n = null;
    201203        } else {
    202             n = Main.map.mapView.getNearestNode(mousePos, OsmPrimitive::isUsable);
     204            n = MainApplication.getMap().mapView.getNearestNode(mousePos, OsmPrimitive::isUsable);
    203205        }
    204206        if (n == null) {
    205             return latlon2eastNorth(Main.map.mapView.getLatLon(mousePos.x, mousePos.y));
     207            return latlon2eastNorth(MainApplication.getMap().mapView.getLatLon(mousePos.x, mousePos.y));
    206208        } else {
    207209            return latlon2eastNorth(n.getCoor());
     
    220222        } else {
    221223            building.setPlace(p, ToolSettings.getWidth(), ToolSettings.getLenStep(), shift);
    222             Main.map.statusLine.setDist(building.getLength());
     224            MainApplication.getMap().statusLine.setDist(building.getLength());
    223225            this.nextMode = ToolSettings.getWidth() == 0 ? Mode.DrawingWidth : Mode.None;
    224226            return this.nextMode;
     
    228230    private Mode modeDrawingWidth() {
    229231        building.setWidth(getEastNorth());
    230         Main.map.statusLine.setDist(Math.abs(building.getWidth()));
     232        MainApplication.getMap().statusLine.setDist(Math.abs(building.getWidth()));
    231233        return Mode.None;
    232234    }
     
    277279        drawStartPos = mousePos;
    278280
    279         Node n = Main.map.mapView.getNearestNode(mousePos, OsmPrimitive::isUsable);
     281        Node n = MainApplication.getMap().mapView.getNearestNode(mousePos, OsmPrimitive::isUsable);
    280282        if (n == null) {
    281             building.setBase(latlon2eastNorth(Main.map.mapView.getLatLon(mousePos.x, mousePos.y)));
     283            building.setBase(latlon2eastNorth(MainApplication.getMap().mapView.getLatLon(mousePos.x, mousePos.y)));
    282284        } else {
    283285            building.setBase(n);
     
    320322        if (e.getButton() != MouseEvent.BUTTON1)
    321323            return;
    322         if (!Main.map.mapView.isActiveLayerDrawable())
     324        if (!MainApplication.getMap().mapView.isActiveLayerDrawable())
    323325            return;
    324326
     
    334336        updCursor();
    335337        if (mode != Mode.None)
    336             Main.map.mapView.repaint();
     338            MainApplication.getMap().mapView.repaint();
    337339    }
    338340
     
    341343        if (e.getButton() != MouseEvent.BUTTON1)
    342344            return;
    343         if (!Main.map.mapView.isActiveLayerDrawable())
     345        if (!MainApplication.getMap().mapView.isActiveLayerDrawable())
    344346            return;
    345347        boolean dragged = true;
     
    359361        if (mousePos == null)
    360362            return;
    361         if (!Main.isDisplayingMapView())
     363        if (!MainApplication.isDisplayingMapView())
    362364            return;
    363365        Node n = null;
    364366        if (!ctrl)
    365             n = Main.map.mapView.getNearestNode(mousePos, OsmPrimitive::isUsable);
     367            n = MainApplication.getMap().mapView.getNearestNode(mousePos, OsmPrimitive::isUsable);
    366368        if (n != null) {
    367369            setCursor(cursorJoinNode);
     
    377379    @Override
    378380    public void mouseMoved(MouseEvent e) {
    379         if (!Main.map.mapView.isActiveLayerDrawable())
     381        if (!MainApplication.getMap().mapView.isActiveLayerDrawable())
    380382            return;
    381383        processMouseEvent(e);
    382384        updCursor();
    383385        if (mode != Mode.None)
    384             Main.map.mapView.repaint();
     386            MainApplication.getMap().mapView.repaint();
    385387    }
    386388
  • applications/editors/josm/plugins/buildings_tools/src/buildings_tools/ToolSettings.java

    r31361 r33735  
    1313import org.openstreetmap.josm.Main;
    1414import org.openstreetmap.josm.data.preferences.BooleanProperty;
     15import org.openstreetmap.josm.tools.Logging;
    1516
    1617public final class ToolSettings {
     
    6162            values.add(entry.getValue());
    6263        }
    63         Main.pref.putCollection("buildings_tools.tags", values);
     64        Main.pref.putList("buildings_tools.tags", values);
    6465    }
    6566
    6667    private static void loadTags() {
    6768        TAGS.clear();
    68         Collection<String> values = Main.pref.getCollection("buildings_tools.tags",
    69                 Arrays.asList(new String[] {"building", "yes"}));
     69        Collection<String> values = Main.pref.getList("buildings_tools.tags",
     70                Arrays.asList("building", "yes"));
    7071        try {
    7172            for (Iterator<String> iterator = values.iterator(); iterator.hasNext();) {
     
    7374            }
    7475        } catch (NoSuchElementException e) {
    75             Main.warn(e);
     76            Logging.warn(e);
    7677        }
    7778    }
    7879
    7980    public static void setBBMode(boolean bbmode) {
    80         Main.pref.put("buildings_tools.bbmode", bbmode);
     81        Main.pref.putBoolean("buildings_tools.bbmode", bbmode);
    8182    }
    8283
     
    8687
    8788    public static void setSoftCursor(boolean softCursor) {
    88         Main.pref.put("buildings_tools.softcursor", softCursor);
     89        Main.pref.putBoolean("buildings_tools.softcursor", softCursor);
    8990    }
    9091
Note: See TracChangeset for help on using the changeset viewer.