public OverlayPositionsModel(PositionsModel delegate, CharacteristicsModel characteristicsModel) { this(delegate); characteristicsModel.addListDataListener(new ListDataListener() { public void intervalAdded(ListDataEvent e) { } public void intervalRemoved(ListDataEvent e) { } public void contentsChanged(ListDataEvent e) { // clear overlay when route characteristics is changed clearOverlay(); } }); }
public Object getSelectedItem() { return getSelectedCharacteristics(); }
public void setSelectedItem(Object anItem) { if ((getSelectedItem() != null && !getSelectedItem().equals(anItem)) || getSelectedItem() == null && anItem != null) { route.setCharacteristics((RouteCharacteristics) anItem); fireContentsChanged(this, 0, MAX_VALUE); } } }
public void dispose() { if(positionsModel != null) { positionsModel.removeTableModelListener(positionsModelListener); characteristicsModel.removeListDataListener(characteristicsModelListener); mapViewCallback.removeRoutingServiceChangeListener(mapViewCallbackListener); showCoordinates.removeChangeListener(showCoordinatesListener);
@SuppressWarnings("unchecked") public void run() { FormatAndRoutesModel formatAndRoutesModel = convertPanel.getFormatAndRoutesModel(); NavigationFormat format = formatAndRoutesModel.getFormat(); BaseRoute route = format.createRoute((RouteCharacteristics) convertPanel.getCharacteristicsModel().getSelectedItem(), MessageFormat.format(getBundle().getString("new-positionlist-name"), formatAndRoutesModel.getSize() + 1), new ArrayList<NavigationPosition>()); formatAndRoutesModel.addPositionList(formatAndRoutesModel.getSize(), route); formatAndRoutesModel.setSelectedItem(route); } }
public void setRoute(BaseRoute<BaseNavigationPosition, BaseNavigationFormat> route) { this.route = route; fireContentsChanged(this, IGNORE, IGNORE); }
public RouteCharacteristics getSelectedCharacteristics() { return getRoute() != null ? route.getCharacteristics() : null; }
public void setRouteCharacteristics(RouteCharacteristics characteristics) { getConvertPanel().getCharacteristicsModel().setSelectedItem(characteristics); }
@SuppressWarnings("unchecked") public void setSelectedRoute(BaseRoute route) { if ((getSelectedRoute() != null && !getSelectedRoute().equals(route)) || getSelectedRoute() == null && route != null) { positionsModel.setRoute(route); characteristicsModel.setRoute(route); fireContentsChanged(this, IGNORE, IGNORE); } } }
undoManager.addChangeListener(e -> handleUndoUpdate()); characteristicsModel = new CharacteristicsModel(); positionsModel = new OverlayPositionsModel(new UndoPositionsModel(undoManager), characteristicsModel); formatAndRoutesModel = new UndoFormatAndRoutesModel(undoManager, new FormatAndRoutesModelImpl(positionsModel, characteristicsModel));
public void dispose() { getMapManager().getDisplayedMapModel().removeChangeListener(displayedMapListener); getMapManager().getAppliedThemeModel().removeChangeListener(appliedThemeListener); mapViewCallback.getTileServerMapManager().getAppliedOverlaysModel().removeTableModelListener(appliedOverlayListener); positionsModel.removeTableModelListener(positionsModelListener); characteristicsModel.removeListDataListener(characteristicsModelListener); mapViewCallback.removeRoutingServiceChangeListener(routingServiceListener); routeColorModel.removeChangeListener(colorModelListener); trackColorModel.removeChangeListener(colorModelListener); unitSystemModel.removeChangeListener(unitSystemListener); mapViewCallback.getShowShadedHills().removeChangeListener(shadedHillsListener); long start = currentTimeMillis(); if (routeRenderer != null) routeRenderer.dispose(); updateDecoupler.dispose(); long end = currentTimeMillis(); log.info("RouteRenderer stopped after " + (end - start) + " ms"); NavigationPosition center = getCenter(); preferences.putDouble(CENTER_LONGITUDE_PREFERENCE, center.getLongitude()); preferences.putDouble(CENTER_LATITUDE_PREFERENCE, center.getLatitude()); int zoom = getZoom(); preferences.putInt(CENTER_ZOOM_PREFERENCE, zoom); mapView.destroyAll(); }
characteristicsModel.addListDataListener(new ListDataListener() { public void intervalAdded(ListDataEvent e) {
private void handleRoutesUpdate() { NavigationFormat format = formatAndRoutesModel.getFormat(); boolean supportsMultipleRoutes = format instanceof MultipleRoutesFormat; boolean existsARoute = formatAndRoutesModel.getSize() > 0; boolean existsMoreThanOneRoute = formatAndRoutesModel.getSize() > 1; boolean existsAPosition = positionsModel.getRowCount() > 0; boolean existsMoreThanOnePosition = positionsModel.getRowCount() > 1; RouteCharacteristics characteristics = characteristicsModel.getSelectedCharacteristics(); comboBoxChoosePositionList.setEnabled(existsMoreThanOneRoute); RouteConverter r = RouteConverter.getInstance(); ActionManager actionManager = r.getContext().getActionManager(); actionManager.enable("insert-positions", existsMoreThanOnePosition); actionManager.enable("delete-positions", existsMoreThanOnePosition); actionManager.enable("new-positionlist", supportsMultipleRoutes); actionManager.enable("rename-positionlist", existsARoute); actionManager.enable("convert-route-to-track", existsAPosition && characteristics.equals(Route)); actionManager.enable("convert-track-to-route", existsAPosition && characteristics.equals(Track)); actionManager.enable("delete-positionlist", existsMoreThanOneRoute); actionManager.enable("split-positionlist", supportsMultipleRoutes && existsARoute && existsMoreThanOnePosition); tableHeaderMenu.enableSortActions(existsMoreThanOnePosition); actionManager.enable("complete-flight-plan", existsAPosition && format instanceof GarminFlightPlanFormat); actionManager.enable("print-map", r.isMapViewAvailable() && r.getMapView().isSupportsPrinting() && existsAPosition); actionManager.enable("print-profile", existsAPosition); }
characteristicsModel.addListDataListener(characteristicsModelListener); mapViewCallback.addRoutingServiceChangeListener(routingServiceListener); showCoordinates.addChangeListener(showCoordinatesListener);
public void initialize(PositionsModel positionsModel, CharacteristicsModel characteristicsModel) { this.positionsModel = positionsModel; positionsModel.addTableModelListener(e -> { // ignored updates on columns not relevant for length calculation if (e.getType() == UPDATE && !isFirstToLastRow(e) && !(e.getColumn() == LONGITUDE_COLUMN_INDEX || e.getColumn() == LATITUDE_COLUMN_INDEX || e.getColumn() == ALL_COLUMNS)) return; if (getPositionsModel().isContinousRange()) return; calculateDistance(); }); characteristicsModel.addListDataListener(new AbstractListDataListener() { public void process(ListDataEvent e) { // ignore events following setRoute() if (isIgnoreEvent(e)) return; calculateDistance(); } }); }
characteristicsModel.addListDataListener(characteristicsModelListener); mapViewCallback.addRoutingServiceChangeListener(mapViewCallbackListener); showCoordinates.addChangeListener(showCoordinatesListener);