public void actionPerformed(GpsActionEvent event) { String markerTitle = getParameters().get(0); Object source = event.getSource(); if (source instanceof JToggleButton) { if (((JToggleButton) source).isSelected()) { markerTitle = tr("{0} start", markerTitle); } else { markerTitle = tr("{0} end", markerTitle); } } String iconName = getParameters().size() > 1 ? getParameters().get(1).trim() : null; long timeout = DialogClosingThread.DEFAULT_TIMEOUT; if (getParameters().size() > 2) { try { timeout = Integer.parseInt(getParameters().get(2)); } catch (NumberFormatException e) { Main.error(e.getMessage()); } } String markerText = markerTitle; if (timeout > 0) { if (dialog == null) { dialog = new WaypointDialog(); } String inputText = dialog.openDialog( SurveyorPlugin.getSurveyorFrame(), tr("Waypoint Description"), timeout * 1000); if (inputText != null && inputText.length() > 0) { inputText = inputText.replaceAll("<", "_"); // otherwise the gpx file is ruined markerText = markerText + " " + inputText; } } // add the waypoint to the marker layer AND to the gpx layer // (easy export of data + waypoints): MarkerLayer layer = getMarkerLayer(); GpxLayer gpsLayer = getGpxLayer(); WayPoint waypoint = new WayPoint(event.getCoordinates()); waypoint.attr.put("name", markerText); if (iconName != null && !iconName.isEmpty()) waypoint.attr.put("sym", iconName); synchronized (SurveyorLock.class) { layer.data.add(new Marker(event.getCoordinates(), markerText, iconName, null, -1.0, 0.0)); if (gpsLayer != null) { gpsLayer.data.waypoints.add(waypoint); } } Main.map.repaint(); }
@Override public void actionPerformed(GpsActionEvent event) { LatLon coordinates = event.getCoordinates(); System.out.println( getClass().getSimpleName() + " KOORD: " + coordinates.lat() + ", " + coordinates.lon() + " params: " + getParameters()); }