public int getRowCount() { return delegate.getRowCount(); }
private int getAddRow() { NavigationPosition position = lastSelectedPositions.size() > 0 ? lastSelectedPositions.get(lastSelectedPositions.size() - 1) : null; // quite crude logic to be as robust as possible on failures if (position == null && positionsModel.getRowCount() > 0) position = positionsModel.getPosition(positionsModel.getRowCount() - 1); return position != null ? positionsModel.getIndex(position) + 1 : 0; }
private List<PositionWithLayer> asPositionWithLayers(int[] indices) { List<PositionWithLayer> result = new ArrayList<>(); for (int selectedPosition : indices) { if (selectedPosition >= positionsModel.getRowCount()) continue; result.add(new PositionWithLayer(positionsModel.getPosition(selectedPosition))); } return result; }
protected void handleFullUpdate() { series.delete(0, series.getItemCount() - 1); if (positions.getRowCount() > 0) handleAdd(0, positions.getRowCount() - 1); }
public synchronized void handleAdd(int firstRow, int lastRow) { int validLastRow = min(lastRow, positionsModel.getRowCount() - 1); List<PositionWithLayer> added = new ArrayList<>(); for (int i = firstRow; i <= validLastRow; i++) { PositionWithLayer positionWithLayer = new PositionWithLayer(positionsModel.getPosition(i)); positionWithLayers.add(i, positionWithLayer); added.add(positionWithLayer); } if (!added.isEmpty()) waypointOperation.add(added); }
private int getAddRow() { List<PositionWithLayer> lastSelectedPositions = selectionUpdater.getPositionWithLayers(); NavigationPosition position = lastSelectedPositions.size() > 0 ? lastSelectedPositions.get(lastSelectedPositions.size() - 1).getPosition() : null; // quite crude logic to be as robust as possible on failures if (position == null && positionsModel.getRowCount() > 0) position = positionsModel.getPosition(positionsModel.getRowCount() - 1); return position != null ? positionsModel.getIndex(position) + 1 : 0; }
public synchronized void handleAdd(int firstRow, int lastRow) { int beforeFirstRow = firstRow > 0 ? firstRow - 1 : firstRow; int validLastRow = min(lastRow, positionsModel.getRowCount() - 1); int afterLastRow = lastRow < positionsModel.getRowCount() - 1 ? lastRow + 1 : validLastRow; List<PairWithLayer> removed = new ArrayList<>(); // do not remove anything if a new position is prepended or appended to the track if (firstRow > 0 && lastRow < positionsModel.getRowCount() - 1) removed.add(pairWithLayers.remove(beforeFirstRow)); List<PairWithLayer> added = new ArrayList<>(); for (int i = beforeFirstRow; i < afterLastRow; i++) { PairWithLayer pairWithLayer = new PairWithLayer(positionsModel.getPosition(i), positionsModel.getPosition(i + 1)); pairWithLayers.add(i, pairWithLayer); added.add(pairWithLayer); } if (!removed.isEmpty()) trackOperation.remove(removed); if (!added.isEmpty()) trackOperation.add(added); }
public synchronized void handleUpdate(int firstRow, int lastRow) { int beforeFirstRow = firstRow > 0 ? firstRow - 1 : firstRow; int validLastRow = min(lastRow, positionsModel.getRowCount() - 1); int afterLastRow = lastRow < positionsModel.getRowCount() - 1 ? lastRow + 1 : validLastRow; List<PairWithLayer> updated = new ArrayList<>(); for (int i = beforeFirstRow; i < afterLastRow; i++) { PairWithLayer pairWithLayer = new PairWithLayer(positionsModel.getPosition(i), positionsModel.getPosition(i + 1)); pairWithLayer.setLayer(pairWithLayers.get(i).getLayer()); pairWithLayers.set(i, pairWithLayer); updated.add(pairWithLayers.get(i)); } if (!updated.isEmpty()) trackOperation.update(updated); }
int findSuccessorWithTime(PositionsModel positionsModel, int index) { while (index < positionsModel.getRowCount()) { NavigationPosition position = positionsModel.getPosition(index); if (position.hasTime()) return index; index++; } return -1; }
public void updateClosestPositionsForTagging() { int[] rows = asRange(0, photosModel.getRowCount() - 1); executeOperation(photosView, photosModel, rows, new Operation() { public String getName() { return "UpdateClosestPositionForTagging"; } public boolean run(int index, NavigationPosition navigationPosition) { if (!(navigationPosition instanceof PhotoPosition)) return false; PhotoPosition position = (PhotoPosition) navigationPosition; if (position.getTagState().equals(Tagged)) return false; updateClosestPositionForTagging(position); return true; } public String getMessagePrefix() { return "update-closest-position-"; } }); }
private void insertPosition(int row, Double longitude, Double latitude) { positionsModel.add(row, longitude, latitude, null, null, null, mapViewCallback.createDescription(positionsModel.getRowCount() + 1, null)); int[] rows = new int[]{row}; positionsSelectionModel.setSelectedPositions(rows, true); if (preferences.getBoolean(COMPLEMENT_DATA_PREFERENCE, false)) mapViewCallback.complementData(rows, true, true, true, true, false); }
protected void updateAdapterFromDelegate(TableModelEvent e) { // ignored updates on columns not relevant for row count if (e.getType() == UPDATE && !isFirstToLastRow(e)) return; if (getDelegate().isContinousRange()) return; label.setText(Integer.toString(getDelegate().getRowCount())); } }
private void insertPosition(int row, Double longitude, Double latitude) { positionsModel.add(row, longitude, latitude, null, null, null, mapViewCallback.createDescription(positionsModel.getRowCount() + 1, null)); int[] rows = new int[]{row}; positionsSelectionModel.setSelectedPositions(rows, true); mapViewCallback.complementData(rows, true, true, true, true, false); }
public void run() { // remove all from previous event map updater eventMapUpdater.handleRemove(0, MAX_VALUE); // select current event map updater and let him add all eventMapUpdater = getEventMapUpdaterFor(positionsModel.getRoute().getCharacteristics()); eventMapUpdater.handleAdd(0, MapsforgeMapView.this.positionsModel.getRowCount() - 1); } });
private NavigationPosition calculateCenter(int row) { NavigationPosition position = positionsModel.getPosition(row); // if there is only one position or it is the first row, choose the map center if (row >= positionsModel.getRowCount() - 1) return null; // otherwise center between given positions NavigationPosition second = positionsModel.getPosition(row + 1); if (!second.hasCoordinates() || !position.hasCoordinates()) return null; return new BoundingBox(asList(second, position)).getCenter(); }
public void addNumbers() { int[] rows = positionsView.getSelectedRows(); if (rows.length == 0) return; int digitCount = widthInDigits(positionsModel.getRowCount() + 1); NumberPattern numberPattern = RouteConverter.getInstance().getNumberPatternPreference(); NumberingStrategy numberingStrategy = RouteConverter.getInstance().getNumberingStrategyPreference(); processNumbers(positionsView, positionsModel, rows, digitCount, numberPattern, numberingStrategy, COORDINATE_PREDICATE); }
private Integer count(TagState tagState) { int count = 0; for (int i = 0, c = getDelegate().getRowCount(); i < c; i++) { PhotoPosition position = (PhotoPosition) getDelegate().getPosition(i); if (tagState.equals(position.getTagState())) count++; } return count; }
public boolean run(int index, NavigationPosition position) { NavigationPosition predecessor = index > 0 && index < positionsModel.getRowCount() ? positionsModel.getPosition(index - 1) : null; if (predecessor != null) { String previousSpeed = formatSpeed(position.getSpeed()); String nextSpeed = formatSpeed(position.calculateSpeed(predecessor)); boolean changed = nextSpeed != null && !nextSpeed.equals(previousSpeed); if (changed) positionsModel.edit(index, new PositionColumnValues(SPEED_COLUMN_INDEX, nextSpeed), false, true); return changed; } return false; }
private void insertPosition() { RouteConverter r = RouteConverter.getInstance(); PositionsModel positionsModel = r.getConvertPanel().getPositionsModel(); int[] selectedRows = r.getConvertPanel().getPositionsView().getSelectedRows(); int row = selectedRows.length > 0 ? selectedRows[0] : positionsModel.getRowCount(); int insertRow = row > positionsModel.getRowCount() - 1 ? row : row + 1; List<NavigationPosition> selectedValues = listResult.getSelectedValuesList(); for (int i = selectedValues.size() - 1; i >= 0; i -= 1) { NavigationPosition position = selectedValues.get(i); positionsModel.add(insertRow, position.getLongitude(), position.getLatitude(), position.getElevation(), null, null, position.getDescription()); int[] rows = new int[]{insertRow}; r.getConvertPanel().getPositionsSelectionModel().setSelectedPositions(rows, true); r.getPositionAugmenter().addData(rows, false, true, true, true, false); } }
private NavigationPosition insertRow(int row, NavigationPosition position) { String description = getBatchPositionAugmenter().createDescription(positionsModel.getRowCount() + 1, null); positionsModel.add(row, position.getLongitude(), position.getLatitude(), position.getElevation(), position.getSpeed(), position.getTime(), description); return positionsModel.getPosition(row); }