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);
}