private void setLocation (final int lineNumber, final boolean showLineInLocal) { if (currentDiff == null) { return; } if (showLineInLocal) { currentDiff.setLocation(DiffController.DiffPane.Modified, DiffController.LocationType.LineNumber, lineNumber); } else { currentDiff.getJComponent().putClientProperty("diff.smartScrollDisabled", Boolean.TRUE); currentDiff.setLocation(DiffController.DiffPane.Base, DiffController.LocationType.LineNumber, lineNumber); } }
private boolean setLocation (DiffController view) { boolean locationSet = false; if (view == currentDiff && view.getDifferenceCount() > 0) { locationSet = true; currentDifferenceIndex = showLastDifference ? view.getDifferenceCount() - 1 : 0; view.setLocation(DiffController.DiffPane.Base, DiffController.LocationType.DifferenceIndex, currentDifferenceIndex); } return locationSet; } }
currentSetupDiffLengthChanged = view.getDifferenceCount(); if (showingFileComponent()) { fileComponentSetSelectedIndexContext = true; fileComponentSetSelectedIndexContext = false; diffView = view.getJComponent(); diffView.getActionMap().put("jumpNext", nextAction); // NOI18N diffView.getActionMap().put("jumpPrev", prevAction); // NOI18N displayDiffView(); if (location == -1) { location = view.getDifferenceCount() - 1; if (location >=0 && location < view.getDifferenceCount()) { view.setLocation(DiffController.DiffPane.Modified, DiffController.LocationType.DifferenceIndex, location);
String newTitle = NbBundle.getMessage(PreviewHintFix.class, "FixedSource"); final DiffController diffView = DiffController.create( new DiffSource(oldSource, oldTitle), new DiffSource(newSource, newTitle)); JComponent jc = diffView.getJComponent(); final int firstLine = diffView.getDifferenceCount() == 0 ? edits.firstLine(oldDoc) : -1; SwingUtilities.invokeLater(new Runnable() {
/** Next that is driven by visibility. It continues to next not yet visible difference. */ private void onNextButton() { DiffController view = currentSetup.getView(); DiffNode next = showingFileComponent() ? getActiveFileComponent().getNextNode(currentSetup.getNode()) : null; if (view != null) { int currentDifferenceIndex = view.getDifferenceIndex(); if (currentSetupDiffLengthChanged >= 0) { // jump to the next difference only when the diffs did not change (no difference was removed) // otherwise the next difference might be missed ++currentDifferenceIndex; } currentSetupDiffLengthChanged = view.getDifferenceCount(); if (currentDifferenceIndex >= view.getDifferenceCount()) { // also passes for view.getDifferenceCount() == 0 if (next != null) { setDiffIndex(next.getSetup(), 0, true); } } else { view.setLocation(DiffController.DiffPane.Modified, DiffController.LocationType.DifferenceIndex, currentDifferenceIndex); } } else { if (next != null) { setDiffIndex(next.getSetup(), 0, true); } } refreshComponents(); }
return; final DiffController view = DiffController.createEnhanced(s1, s2); if (currentTask == ShowDiffTask.this) { currentDiff = view; setBottomComponent(currentDiff.getJComponent()); final int dl = diffView.getDividerLocation(); if (!setLocation(view)) { view.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) {
JComponent diffComponent = DiffController.create(expected, actual).getJComponent(); diffComponent.setPreferredSize(new Dimension(500, 250)); JButton ok = new JButton(Bundle.LBL_OK());
@Override public void run() { try { if (isCanceled()) { showDiffError(NbBundle.getMessage(DiffResultsView.class, "MSG_DiffPanel_NoRevisions")); // NOI18N return; } final DiffController view = DiffController.createEnhanced(leftSource, rightSource); int leftMaxLineNumber = getLastLineIndex(leftSource); int rightMaxLineNumber = getLastLineIndex(rightSource); if (currentTask == ShowDiffTask.this) { currentDiff = view; setBottomComponent(currentDiff.getJComponent()); if (leftMaxLineNumber != -1) { setLocation(Math.min(leftMaxLineNumber, lineNumber), false); } if (rightMaxLineNumber != -1) { setLocation(Math.min(rightMaxLineNumber, lineNumber), true); } parent.refreshComponents(false); } } catch (IOException e) { Mercurial.LOG.log(Level.INFO, null, e); } } });
private void refreshComponents() { if (currentSetup == null) { nextAction.setEnabled(false); prevAction.setEnabled(false); return; } DiffController view = currentSetup.getView(); int currentDifferenceIndex = view != null ? view.getDifferenceIndex() : -1; if (view != null) { nextAction.setEnabled(showingFileComponent() && getActiveFileComponent().hasNextNode(currentSetup.getNode()) || currentDifferenceIndex < view.getDifferenceCount() - 1); } else { nextAction.setEnabled(false); } prevAction.setEnabled(showingFileComponent() && getActiveFileComponent().hasPreviousNode(currentSetup.getNode()) || currentDifferenceIndex > 0); }
boolean isNextEnabled() { if (currentDiff != null) { return currentIndex < treeView.getRowCount() - 1 || currentDifferenceIndex < currentDiff.getDifferenceCount() - 1; } else { return false; } }
requestedLeftLine = getMatchingLine(ss2, ss1, requestedRightLine); final DiffController view = DiffController.createEnhanced(ss1, ss2); // possibly executing slow external diff view.addPropertyChangeListener(MultiDiffPanel.this); if (Thread.interrupted() || canceled) { return;
private void onPrevButton() { DiffController view = currentSetup.getView(); DiffNode prev = showingFileComponent() ? getActiveFileComponent().getPreviousNode(currentSetup.getNode()) : null; if (view != null) { int currentDifferenceIndex = view.getDifferenceIndex(); if (currentSetupDiffLengthChanged >= 0) { // jump to the previous difference only when the diffs did not change (no difference was removed) // otherwise the previous difference might be missed --currentDifferenceIndex; } currentSetupDiffLengthChanged = view.getDifferenceCount(); if (currentDifferenceIndex < 0) { if (prev != null) { setDiffIndex(prev.getSetup(), -1, true); } } else if (currentDifferenceIndex < view.getDifferenceCount()) { view.setLocation(DiffController.DiffPane.Modified, DiffController.LocationType.DifferenceIndex, currentDifferenceIndex); } } else { if (prev != null) { setDiffIndex(prev.getSetup(), -1, true); } } refreshComponents(); }
if (currentSetup.getView().getDifferenceCount() < currentSetupDiffLengthChanged) { currentSetupDiffLengthChanged = -1; } else if (currentSetupDiffLengthChanged != -1) { currentSetupDiffLengthChanged = currentSetup.getView().getDifferenceCount(); if (currentSetup.getView().getDifferenceCount() > 0 && requestedRightLine != -1) { final int leftLine = requestedLeftLine; final int rightLine = requestedRightLine;
public void run() { if (firstLine != -1) { diffView.setLocation(DiffController.DiffPane.Base, DiffController.LocationType.LineNumber, firstLine); } else if (diffView.getDifferenceCount() > 0) { diffView.setLocation(DiffController.DiffPane.Base, DiffController.LocationType.DifferenceIndex, index); } } });
@Override public void run () { view.setLocation(DiffController.DiffPane.Modified, DiffController.LocationType.LineNumber, rightLine); if (leftLine != -1) { view.getJComponent().putClientProperty("diff.smartScrollDisabled", Boolean.TRUE); view.setLocation(DiffController.DiffPane.Base, DiffController.LocationType.LineNumber, leftLine); } } });
void onNextButton() { if (currentDiff != null) { if (++currentDifferenceIndex >= currentDiff.getDifferenceCount()) { if (++currentIndex >= treeView.getRowCount()) currentIndex = 0; setDiffIndex(currentIndex, false); } else { currentDiff.setLocation(DiffController.DiffPane.Modified, DiffController.LocationType.DifferenceIndex, currentDifferenceIndex); parent.updateActions(); } } else { if (++currentIndex >= treeView.getRowCount()) currentIndex = 0; setDiffIndex(currentIndex, false); } }
void onPrevButton() { if (currentDiff != null) { if (--currentDifferenceIndex < 0) { if (--currentIndex < 0) currentIndex = treeView.getRowCount() - 1; setDiffIndex(currentIndex, true); } else if (currentDifferenceIndex < currentDiff.getDifferenceCount()) { currentDiff.setLocation(DiffController.DiffPane.Modified, DiffController.LocationType.DifferenceIndex, currentDifferenceIndex); parent.updateActions(); } } else { if (--currentIndex < 0) currentIndex = treeView.getRowCount() - 1; setDiffIndex(currentIndex, true); } }