From: <dal...@us...> - 2008-01-12 20:50:28
|
Revision: 11576 http://jedit.svn.sourceforge.net/jedit/?rev=11576&view=rev Author: daleanson Date: 2008-01-12 12:50:27 -0800 (Sat, 12 Jan 2008) Log Message: ----------- Did some refactoring, this commit is to save my place before doing more refactoring. Modified Paths: -------------- plugins/JDiffPlugin/branches/jdiff-20080110/jdiff/DiffLocalOverview.java plugins/JDiffPlugin/branches/jdiff-20080110/jdiff/DualDiff.java Modified: plugins/JDiffPlugin/branches/jdiff-20080110/jdiff/DiffLocalOverview.java =================================================================== --- plugins/JDiffPlugin/branches/jdiff-20080110/jdiff/DiffLocalOverview.java 2008-01-12 12:51:37 UTC (rev 11575) +++ plugins/JDiffPlugin/branches/jdiff-20080110/jdiff/DiffLocalOverview.java 2008-01-12 20:50:27 UTC (rev 11576) @@ -42,9 +42,14 @@ */ public class DiffLocalOverview extends DiffOverview implements MouseListener { - private Rectangle border0; - private Rectangle border1; - private int pxlPerLine = 1; + private Rectangle leftBorder; + private Rectangle rightBorder; + private int pixelsPerLine = 1; + private int leftVisibleLineCount; + private int rightVisibleLineCount; + private Rectangle leftRectangle; + private Rectangle rightRectangle; + private Rectangle centerRectangle; public DiffLocalOverview( Diff.change edits, @@ -65,12 +70,12 @@ // text area that are different from those in the left text area, and // the center area connects the corresponding left and right changed // areas. - int count0 = this.textArea0.getVisibleLines(); - int count1 = this.textArea1.getVisibleLines(); + leftVisibleLineCount = this.textArea0.getVisibleLines(); + rightVisibleLineCount = this.textArea1.getVisibleLines(); + pixelsPerLine = this.textArea0.getPainter().getFontMetrics().getHeight(); // default width is 40 pixels, set in DiffOverview Rectangle size = getBounds(); - gfx.setColor( getBackground() ); gfx.fillRect( 0, 0, size.width, size.height ); @@ -78,51 +83,53 @@ // right sides to separate the diff area from the text area and its // scroll bar. This could be a little narrower, maybe even 1 since the // diff rectangles have a black border around them. - Rectangle inner = new Rectangle( 4, 0, size.width - 8, size.height ); // width = 32 + centerRectangle = new Rectangle( 4, 0, size.width - 8, size.height ); // width = 32 - int lines = Math.max( count0, count1 ); - pxlPerLine = this.textArea0.getPainter().getFontMetrics().getHeight(); - // for drawing the diffs for the left text area - Rectangle rect0 = new Rectangle( - inner.x, // 4 - inner.y, // 0 - inner.width / 3, // (40 - 4 - 4) / 3 = 8 - Math.max( 1, pxlPerLine * count0 ) + leftRectangle = new Rectangle( + centerRectangle.x, // 4 + centerRectangle.y, // 0 + centerRectangle.width / 3, // (40 - 4 - 4) / 3 = 8 + Math.max( 1, pixelsPerLine * leftVisibleLineCount ) ); - // border for the left rectangle - border0 = new Rectangle( rect0 ); - // for drawing the diffs for the right text area - Rectangle rect1 = new Rectangle( - inner.x + ( inner.width - ( inner.width / 3 ) ), // 4 + (32 - 8) = 28 - inner.y, // 0 - inner.width / 3, // 8 - Math.max( 1, pxlPerLine * count1 ) + rightRectangle = new Rectangle( + centerRectangle.x + ( centerRectangle.width - ( centerRectangle.width / 3 ) ), // 4 + (32 - 8) = 28 + centerRectangle.y, // 0 + centerRectangle.width / 3, // 8 + Math.max( 1, pixelsPerLine * rightVisibleLineCount ) ); - // border for the right rectangle - border1 = new Rectangle( rect1 ); + // borders for the left and right rectangles + leftBorder = new Rectangle( leftRectangle ); + rightBorder = new Rectangle( rightRectangle ); // make the left and right rectangles white gfx.setColor( Color.white ); - gfx.fillRect( rect0.x, rect0.y, rect0.width, rect0.height ); - gfx.fillRect( rect1.x, rect1.y, rect1.width, rect1.height ); + gfx.fillRect( leftRectangle.x, leftRectangle.y, leftRectangle.width, leftRectangle.height ); + gfx.fillRect( rightRectangle.x, rightRectangle.y, rightRectangle.width, rightRectangle.height ); - Color color; + // draw the diff areas in the left and right rectangles, and draw the + // connecting line between corresponding diffs in the center rectangle + fillLeft( gfx ); + fillRight( gfx ); + fillCenter( gfx ); - // arrows - Polygon arrow0; - Polygon arrow1; + // draw the borders around the left and right rectangles + gfx.setColor( Color.black ); + gfx.drawRect( leftBorder.x - 1, leftBorder.y, leftBorder.width + 1, leftBorder.height - 1 ); + gfx.drawRect( rightBorder.x - 1, rightBorder.y, rightBorder.width + 1, rightBorder.height - 1 ); + } + private void fillLeft( Graphics gfx ) { // fill in the left rectangle to show where left text area has different // lines than the right text area Diff.change hunk = this.edits; int start_line0 = 0; - Color previous_color = null; + Color color; - for ( int i0 = 0; ( i0 < count0 ); i0++ ) { + for ( int i0 = 0; ( i0 < leftVisibleLineCount ); i0++ ) { // for each line in the left text area, get the current line to consider int physicalLine0 = this.textArea0.getPhysicalLineOfScreenLine( i0 ); @@ -146,7 +153,7 @@ // a 1 pixel tall line in the left rectangle to match up with // the inserted block in the right rectangle color = JDiffPlugin.overviewInvalidColor; - rect0.height = 1; + leftRectangle.height = 1; } else { if ( hunk.inserted == 0 ) { @@ -162,22 +169,25 @@ } // next line is unnecessary, if, here, the height should - // always be pxlPerLine: - //rect0.height = Math.max( 1, pxlPerLine ); - rect0.height = pxlPerLine; + // always be pixelsPerLine: + //leftRectangle.height = Math.max( 1, pixelsPerLine ); + leftRectangle.height = pixelsPerLine; } - rect0.y = inner.y + ( i0 * pxlPerLine ); + leftRectangle.y = centerRectangle.y + ( i0 * pixelsPerLine ); gfx.setColor( color ); - gfx.fillRect( rect0.x, rect0.y, rect0.width, rect0.height ); + gfx.fillRect( leftRectangle.x, leftRectangle.y, leftRectangle.width, leftRectangle.height ); break; } } + } + private void fillRight( Graphics gfx ) { // fill in the right rectangle to show where right text area has different // lines than the left text area - hunk = this.edits; - for ( int i1 = 0; ( i1 < count1 ); i1++ ) { + Color color; + Diff.change hunk = this.edits; + for ( int i1 = 0; ( i1 < rightVisibleLineCount ); i1++ ) { int physicalLine1 = this.textArea1.getPhysicalLineOfScreenLine( i1 ); if ( physicalLine1 == -1 ) { @@ -195,7 +205,7 @@ if ( hunk.inserted == 0 ) { color = JDiffPlugin.overviewInvalidColor; - rect1.height = 1; + rightRectangle.height = 1; } else { if ( hunk.deleted == 0 ) { @@ -205,20 +215,24 @@ color = JDiffPlugin.overviewChangedColor; } - rect1.height = Math.max( 1, pxlPerLine ); + rightRectangle.height = Math.max( 1, pixelsPerLine ); } - rect1.y = inner.y + ( i1 * pxlPerLine ); + rightRectangle.y = centerRectangle.y + ( i1 * pixelsPerLine ); gfx.setColor( color ); - gfx.fillRect( rect1.x, rect1.y, rect1.width, rect1.height ); + gfx.fillRect( rightRectangle.x, rightRectangle.y, rightRectangle.width, rightRectangle.height ); break; } } + } + private void fillCenter( Graphics gfx ) { // draw a line to connect corresponding differences in the left and // right rectangles. Draw a right and left arrow. - hunk = this.edits; - for ( int i0 = 0, i1 = 0; ( hunk != null ) && ( i0 < count0 ) && ( i1 < count1 ); ) { + Polygon arrow0; + Polygon arrow1; + Diff.change hunk = this.edits; + for ( int i0 = 0, i1 = 0; ( hunk != null ) && ( i0 < leftVisibleLineCount ) && ( i1 < rightVisibleLineCount ); ) { int physicalLine0 = this.textArea0.getPhysicalLineOfScreenLine( i0 ); int physicalLine1 = this.textArea1.getPhysicalLineOfScreenLine( i1 ); @@ -256,120 +270,128 @@ break; } - int y0 = inner.y + ( i0 * pxlPerLine ); - int y1 = inner.y + ( i1 * pxlPerLine ); + int y0 = centerRectangle.y + ( i0 * pixelsPerLine ); + int y1 = centerRectangle.y + ( i1 * pixelsPerLine ); // draw the lines gfx.setColor( Color.BLACK ); - gfx.drawLine( rect0.x + rect0.width + 1, y0, rect1.x - 1, y1 ); + gfx.drawLine( leftRectangle.x + leftRectangle.width + 1, y0, rightRectangle.x - 1, y1 ); // draw the "move it right" arrow if ( hunk.inserted == 0 || hunk.deleted > 0 ) { arrow0 = new Polygon(); - arrow0.addPoint( rect0.x + 1, y0 + 1 ); - arrow0.addPoint( rect0.x + 1, y0 + pxlPerLine - 2 ); - arrow0.addPoint( rect0.x + 7, y0 + ( pxlPerLine / 2 ) ); + arrow0.addPoint( leftRectangle.x + 1, y0 + 1 ); + arrow0.addPoint( leftRectangle.x + 1, y0 + pixelsPerLine - 2 ); + arrow0.addPoint( leftRectangle.x + 7, y0 + ( pixelsPerLine / 2 ) ); gfx.fillPolygon( arrow0 ); } // draw the "move it left" arrow if ( hunk.deleted == 0 || hunk.inserted > 0 ) { arrow1 = new Polygon(); - arrow1.addPoint( rect1.x + 1, y1 + ( pxlPerLine / 2 ) ); - arrow1.addPoint( rect1.x + 7, y1 + 1 ); - arrow1.addPoint( rect1.x + 7, y1 + pxlPerLine - 2 ); + arrow1.addPoint( rightRectangle.x + 1, y1 + ( pixelsPerLine / 2 ) ); + arrow1.addPoint( rightRectangle.x + 7, y1 + 1 ); + arrow1.addPoint( rightRectangle.x + 7, y1 + pixelsPerLine - 2 ); gfx.setColor( Color.BLACK ); gfx.fillPolygon( arrow1 ); } } } - - // draw the borders around the left and right rectangles - gfx.setColor( Color.black ); - gfx.drawRect( border0.x - 1, border0.y, border0.width + 1, border0.height - 1 ); - gfx.drawRect( border1.x - 1, border1.y, border1.width + 1, border1.height - 1 ); } public void mouseClicked( MouseEvent e ) { - if ( border0.contains( e.getX(), e.getY() ) ) { + if ( leftBorder.contains( e.getX(), e.getY() ) ) { // handle click on left side - int line_number = ( e.getY() / pxlPerLine ) + textArea0.getFirstPhysicalLine(); - Diff.change hunk = this.edits; - for ( ; hunk != null; hunk = hunk.link ) { - // find the hunk pertaining to this line number - if ( ( hunk.line0 + Math.max( 0, hunk.deleted - 1 ) ) < line_number ) { - continue; // before this line - } + int line_number = ( e.getY() / pixelsPerLine ) + textArea0.getFirstPhysicalLine(); + moveRight( line_number ); + } + else if ( rightBorder.contains( e.getX(), e.getY() ) ) { + // handle click on right side + int line_number = ( e.getY() / pixelsPerLine ) + textArea1.getFirstPhysicalLine(); + moveLeft( line_number ); + } + } - if ( hunk.line0 > line_number ) { - break; // after this line, signals end of loop - } + // copies a diff starting at the given line number in the left text area and + // replaces the corresponding diff in the right text area + private void moveRight( int line_number ) { + Diff.change hunk = this.edits; + for ( ; hunk != null; hunk = hunk.link ) { + // find the hunk pertaining to this line number + if ( ( hunk.line0 + Math.max( 0, hunk.deleted - 1 ) ) < line_number ) { + continue; // before this line + } - // on a line with a right arrow -- - // get the text from the left text area to move to the right - String line_separator = textArea1.getBuffer().getStringProperty( "lineSeparator" ); - StringBuffer sb = new StringBuffer(); - for ( int i = 0; i < hunk.deleted; i++ ) { - sb.append( textArea0.getLineText( hunk.line0 + i ) ).append( line_separator ); - } + if ( hunk.line0 > line_number ) { + break; // after this line, signals end of loop + } - // replace text on right with text from left - textArea1.selectNone(); - int start_sel = textArea1.getLineStartOffset( hunk.line1 ); - int end_sel = textArea1.getLineStartOffset( hunk.line1 + hunk.inserted ); - textArea1.setCaretPosition( start_sel ); - Selection.Range selection; - if ( hunk.inserted == 0 ) { - selection = new Selection.Range( start_sel, start_sel ); - } - else { - selection = new Selection.Range( start_sel, end_sel ); - } - textArea1.setSelectedText( selection, sb.toString() ); - textArea1.selectNone(); - DualDiff.refreshFor( textArea1.getView() ); + // on a line with a right arrow -- + // get the text from the left text area to move to the right + String line_separator = textArea1.getBuffer().getStringProperty( "lineSeparator" ); + StringBuffer sb = new StringBuffer(); + for ( int i = 0; i < hunk.deleted; i++ ) { + sb.append( textArea0.getLineText( hunk.line0 + i ) ).append( line_separator ); } + + // replace text on right with text from left + textArea1.selectNone(); + int start_sel = textArea1.getLineStartOffset( hunk.line1 ); + int end_sel = textArea1.getLineStartOffset( hunk.line1 + hunk.inserted ); + textArea1.setCaretPosition( start_sel ); + Selection.Range selection; + if ( hunk.inserted == 0 ) { + selection = new Selection.Range( start_sel, start_sel ); + } + else { + selection = new Selection.Range( start_sel, end_sel ); + } + textArea1.setSelectedText( selection, sb.toString() ); + textArea1.selectNone(); + DualDiff.refreshFor( textArea1.getView() ); } - else if ( border1.contains( e.getX(), e.getY() ) ) { - // handle click on right side - int line_number = ( e.getY() / pxlPerLine ) + textArea1.getFirstPhysicalLine(); - Diff.change hunk = this.edits; - for ( ; hunk != null; hunk = hunk.link ) { - // find the hunk pertaining to this line number - if ( ( hunk.line1 + Math.max( 0, hunk.inserted - 1 ) ) < line_number ) { - continue; // before this line - } + } - if ( hunk.line1 > line_number ) { - break; // after this line, signals end of loop - } + // copies a diff starting at the given line number in the right text area and + // replaces the corresponding diff in the left text area + private void moveLeft( int line_number ) { + Diff.change hunk = this.edits; + for ( ; hunk != null; hunk = hunk.link ) { + // find the hunk pertaining to this line number + if ( ( hunk.line1 + Math.max( 0, hunk.inserted - 1 ) ) < line_number ) { + continue; // before this line + } - // on a line with a left arrow -- - // get the text from the right text area to move to the left - String line_separator = textArea0.getBuffer().getStringProperty( "lineSeparator" ); - StringBuffer sb = new StringBuffer(); - for ( int i = 0; i < hunk.inserted; i++ ) { - sb.append( textArea1.getLineText( hunk.line1 + i ) ).append( line_separator ); - } + if ( hunk.line1 > line_number ) { + break; // after this line, signals end of loop + } - // replace text on left with text from right - textArea0.selectNone(); - int start_sel = textArea0.getLineStartOffset( hunk.line0 ); - int end_sel = textArea0.getLineStartOffset( hunk.line0 + hunk.deleted ); - textArea0.setCaretPosition( start_sel ); - Selection.Range selection; - if ( hunk.deleted == 0 ) { - selection = new Selection.Range( start_sel, start_sel ); - } - else { - selection = new Selection.Range( start_sel, end_sel ); - } - textArea0.setSelectedText( selection, sb.toString() ); - textArea0.selectNone(); - DualDiff.refreshFor( textArea0.getView() ); + // on a line with a left arrow -- + // get the text from the right text area to move to the left + String line_separator = textArea0.getBuffer().getStringProperty( "lineSeparator" ); + StringBuffer sb = new StringBuffer(); + for ( int i = 0; i < hunk.inserted; i++ ) { + sb.append( textArea1.getLineText( hunk.line1 + i ) ).append( line_separator ); } + + // replace text on left with text from right + textArea0.selectNone(); + int start_sel = textArea0.getLineStartOffset( hunk.line0 ); + int end_sel = textArea0.getLineStartOffset( hunk.line0 + hunk.deleted ); + textArea0.setCaretPosition( start_sel ); + Selection.Range selection; + if ( hunk.deleted == 0 ) { + selection = new Selection.Range( start_sel, start_sel ); + } + else { + selection = new Selection.Range( start_sel, end_sel ); + } + textArea0.setSelectedText( selection, sb.toString() ); + textArea0.selectNone(); + DualDiff.refreshFor( textArea0.getView() ); } } + public void mouseEntered( MouseEvent e ) {} public void mouseExited( MouseEvent e ) {} public void mousePressed( MouseEvent e ) {} Modified: plugins/JDiffPlugin/branches/jdiff-20080110/jdiff/DualDiff.java =================================================================== --- plugins/JDiffPlugin/branches/jdiff-20080110/jdiff/DualDiff.java 2008-01-12 12:51:37 UTC (rev 11575) +++ plugins/JDiffPlugin/branches/jdiff-20080110/jdiff/DualDiff.java 2008-01-12 20:50:27 UTC (rev 11576) @@ -1,22 +1,22 @@ /* - * DualDiff.java - * Copyright (c) 2000, 2001, 2002 Andre Kaplan - * Copyright (c) 2006 Denis Koryavov - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ +* DualDiff.java +* Copyright (c) 2000, 2001, 2002 Andre Kaplan +* Copyright (c) 2006 Denis Koryavov +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ package jdiff; @@ -55,1091 +55,915 @@ import org.gjt.sp.util.Log; -public class DualDiff implements EBComponent -{ - private static boolean ignoreCaseDefault = jEdit.getBooleanProperty("jdiff.ignore-case", - false); +public class DualDiff implements EBComponent { + private static boolean ignoreCaseDefault = jEdit.getBooleanProperty( "jdiff.ignore-case", + false ); - private static boolean trimWhitespaceDefault = jEdit.getBooleanProperty( - "jdiff.trim-whitespace", false); + private static boolean trimWhitespaceDefault = jEdit.getBooleanProperty( + "jdiff.trim-whitespace", false ); - private static boolean ignoreAmountOfWhitespaceDefault = jEdit.getBooleanProperty( - "jdiff.ignore-amount-whitespace", false); + private static boolean ignoreAmountOfWhitespaceDefault = jEdit.getBooleanProperty( + "jdiff.ignore-amount-whitespace", false ); - private static boolean ignoreAllWhitespaceDefault = jEdit.getBooleanProperty( - "jdiff.ignore-all-whitespace", false); + private static boolean ignoreAllWhitespaceDefault = jEdit.getBooleanProperty( + "jdiff.ignore-all-whitespace", false ); - private static Hashtable dualDiffs = new Hashtable(); + private static Hashtable dualDiffs = new Hashtable(); - private boolean ignoreCase; + private boolean ignoreCase; - private boolean trimWhitespace; + private boolean trimWhitespace; - private boolean ignoreAmountOfWhitespace; + private boolean ignoreAmountOfWhitespace; - private boolean ignoreAllWhitespace; + private boolean ignoreAllWhitespace; - private View view; + private View view; - private EditPane editPane0; + private EditPane editPane0; - private EditPane editPane1; + private EditPane editPane1; - private JEditTextArea textArea0; + private JEditTextArea textArea0; - private JEditTextArea textArea1; + private JEditTextArea textArea1; - private Diff.change edits; + private Diff.change edits; - private DiffOverview diffOverview0; + private DiffOverview diffOverview0; - private DiffOverview diffOverview1; + private DiffOverview diffOverview1; - private Box box0; + private Box box0; - private Box box1; + private Box box1; - private final ScrollHandler scrollHandler = new ScrollHandler(); + private final ScrollHandler scrollHandler = new ScrollHandler(); - private DualDiff(View view) - { - this(view, ignoreCaseDefault, trimWhitespaceDefault, - ignoreAmountOfWhitespaceDefault, ignoreAllWhitespaceDefault); - } + private DualDiff( View view ) { + this( view, ignoreCaseDefault, trimWhitespaceDefault, + ignoreAmountOfWhitespaceDefault, ignoreAllWhitespaceDefault ); + } - private DualDiff(View view, boolean ignoreCase, boolean trimWhitespace, - boolean ignoreAmountOfWhiteSpace, boolean ignoreAllWhiteSpace) - { - this.ignoreCase = ignoreCase; - this.trimWhitespace = trimWhitespace; - this.ignoreAmountOfWhitespace = ignoreAmountOfWhiteSpace; - this.ignoreAllWhitespace = ignoreAllWhiteSpace; + private DualDiff( View view, boolean ignoreCase, boolean trimWhitespace, + boolean ignoreAmountOfWhiteSpace, boolean ignoreAllWhiteSpace ) { + this.ignoreCase = ignoreCase; + this.trimWhitespace = trimWhitespace; + this.ignoreAmountOfWhitespace = ignoreAmountOfWhiteSpace; + this.ignoreAllWhitespace = ignoreAllWhiteSpace; - this.view = view; + this.view = view; - EditPane[] editPanes = this.view.getEditPanes(); + EditPane[] editPanes = this.view.getEditPanes(); - this.editPane0 = editPanes[0]; - this.editPane1 = editPanes[1]; + this.editPane0 = editPanes[ 0 ]; + this.editPane1 = editPanes[ 1 ]; - this.textArea0 = this.editPane0.getTextArea(); - this.textArea1 = this.editPane1.getTextArea(); + this.textArea0 = this.editPane0.getTextArea(); + this.textArea1 = this.editPane1.getTextArea(); - this.initOverviews(); - this.addOverviews(); - } + this.initOverviews(); + this.addOverviews(); + } - public void handleMessage(EBMessage message) - { - if (message instanceof BufferUpdate) - { - BufferUpdate bu = (BufferUpdate) message; - Buffer b0 = (Buffer) this.textArea0.getBuffer(); - Buffer b1 = (Buffer) this.textArea1.getBuffer(); - if (bu.getBuffer() != b0 && bu.getBuffer() != b1) - { - // Not concerned by this message - return; - } - if (bu.getWhat() == BufferUpdate.LOADED) - { - this.refresh(); - } - } - else if (message instanceof EditPaneUpdate) - { - EditPaneUpdate epu = (EditPaneUpdate) message; - EditPane editPane = epu.getEditPane(); - View view = editPane.getView(); - if (!DualDiff.isEnabledFor(view)) - { - return; - } - if (epu.getWhat() == EditPaneUpdate.CREATED) - { - DualDiff.editPaneCreated(view, editPane); - } - else if (epu.getWhat() == EditPaneUpdate.DESTROYED) - { - DualDiff.editPaneDestroyed(view, editPane); - } - else if (epu.getWhat() == EditPaneUpdate.BUFFER_CHANGED) - { - DualDiff.editPaneBufferChanged(view, editPane); - } - else - { - } - } - } + public void handleMessage( EBMessage message ) { + if ( message instanceof BufferUpdate ) { + BufferUpdate bu = ( BufferUpdate ) message; + Buffer b0 = ( Buffer ) this.textArea0.getBuffer(); + Buffer b1 = ( Buffer ) this.textArea1.getBuffer(); + if ( bu.getBuffer() != b0 && bu.getBuffer() != b1 ) { + // Not concerned by this message + return ; + } + if ( bu.getWhat() == BufferUpdate.LOADED ) { + this.refresh(); + } + } + else if ( message instanceof EditPaneUpdate ) { + EditPaneUpdate epu = ( EditPaneUpdate ) message; + EditPane editPane = epu.getEditPane(); + View view = editPane.getView(); + if ( !DualDiff.isEnabledFor( view ) ) { + return ; + } + if ( epu.getWhat() == EditPaneUpdate.CREATED ) { + DualDiff.editPaneCreated( view, editPane ); + } + else if ( epu.getWhat() == EditPaneUpdate.DESTROYED ) { + DualDiff.editPaneDestroyed( view, editPane ); + } + else if ( epu.getWhat() == EditPaneUpdate.BUFFER_CHANGED ) { + DualDiff.editPaneBufferChanged( view, editPane ); + } + else {} + } + } - public boolean getIgnoreCase() - { - return this.ignoreCase; - } + public boolean getIgnoreCase() { + return this.ignoreCase; + } - public void setIgnoreCase(boolean ignoreCase) - { - this.ignoreCase = ignoreCase; - } + public void setIgnoreCase( boolean ignoreCase ) { + this.ignoreCase = ignoreCase; + } - public void toggleIgnoreCase() - { - this.ignoreCase = !this.ignoreCase; - } + public void toggleIgnoreCase() { + this.ignoreCase = !this.ignoreCase; + } - public boolean getTrimWhitespace() - { - return this.trimWhitespace; - } + public boolean getTrimWhitespace() { + return this.trimWhitespace; + } - public void setTrimWhitespace(boolean trimWhitespace) - { - this.trimWhitespace = trimWhitespace; - } + public void setTrimWhitespace( boolean trimWhitespace ) { + this.trimWhitespace = trimWhitespace; + } - public void toggleTrimWhitespace() - { - this.trimWhitespace = !this.trimWhitespace; - } + public void toggleTrimWhitespace() { + this.trimWhitespace = !this.trimWhitespace; + } - public boolean getIgnoreAmountOfWhitespace() - { - return this.ignoreAmountOfWhitespace; - } + public boolean getIgnoreAmountOfWhitespace() { + return this.ignoreAmountOfWhitespace; + } - public void setIgnoreAmountOfWhitespace(boolean ignoreAmountOfWhitespace) - { - this.ignoreAmountOfWhitespace = ignoreAmountOfWhitespace; - } + public void setIgnoreAmountOfWhitespace( boolean ignoreAmountOfWhitespace ) { + this.ignoreAmountOfWhitespace = ignoreAmountOfWhitespace; + } - public void toggleIgnoreAmountOfWhitespace() - { - this.ignoreAmountOfWhitespace = !this.ignoreAmountOfWhitespace; - } + public void toggleIgnoreAmountOfWhitespace() { + this.ignoreAmountOfWhitespace = !this.ignoreAmountOfWhitespace; + } - public boolean getIgnoreAllWhitespace() - { - return this.ignoreAllWhitespace; - } + public boolean getIgnoreAllWhitespace() { + return this.ignoreAllWhitespace; + } - public void setIgnoreAllWhitespace(boolean ignoreAllWhitespace) - { - this.ignoreAllWhitespace = ignoreAllWhitespace; - } + public void setIgnoreAllWhitespace( boolean ignoreAllWhitespace ) { + this.ignoreAllWhitespace = ignoreAllWhitespace; + } - public void toggleIgnoreAllWhitespace() - { - this.ignoreAllWhitespace = !this.ignoreAllWhitespace; - } + public void toggleIgnoreAllWhitespace() { + this.ignoreAllWhitespace = !this.ignoreAllWhitespace; + } - private void initOverviews() - { - Buffer buf0 = this.editPane0.getBuffer(); - Buffer buf1 = this.editPane1.getBuffer(); + private void initOverviews() { + Buffer buf0 = this.editPane0.getBuffer(); + Buffer buf1 = this.editPane1.getBuffer(); - if (!buf0.isLoaded() || !buf1.isLoaded()) - { - this.edits = null; + if ( !buf0.isLoaded() || !buf1.isLoaded() ) { + this.edits = null; - int lineCount0 = ((buf0.isLoaded()) ? buf0.getLineCount() : 1); - int lineCount1 = ((buf1.isLoaded()) ? buf1.getLineCount() : 1); + int lineCount0 = ( ( buf0.isLoaded() ) ? buf0.getLineCount() : 1 ); + int lineCount1 = ( ( buf1.isLoaded() ) ? buf1.getLineCount() : 1 ); - this.diffOverview0 = new DiffLocalOverview(this.edits, lineCount0, - lineCount1, this.textArea0, this.textArea1); - this.diffOverview1 = ((jEdit.getBooleanProperty( - "jdiff.global-virtual-overview", true)) ? (DiffOverview) new DiffGlobalVirtualOverview( - this.edits, lineCount0, lineCount1, this.textArea0, this.textArea1) - : (DiffOverview) new DiffGlobalPhysicalOverview(this.edits, - lineCount0, lineCount1, this.textArea0, this.textArea1)); - } - else - { - FileLine[] fileLines0 = this.getFileLines(buf0); - FileLine[] fileLines1 = this.getFileLines(buf1); + this.diffOverview0 = new DiffLocalOverview( this.edits, lineCount0, + lineCount1, this.textArea0, this.textArea1 ); + this.diffOverview1 = ( ( jEdit.getBooleanProperty( + "jdiff.global-virtual-overview", true ) ) ? ( DiffOverview ) new DiffGlobalVirtualOverview( + this.edits, lineCount0, lineCount1, this.textArea0, this.textArea1 ) + : ( DiffOverview ) new DiffGlobalPhysicalOverview( this.edits, + lineCount0, lineCount1, this.textArea0, this.textArea1 ) ); + } + else { + FileLine[] fileLines0 = this.getFileLines( buf0 ); + FileLine[] fileLines1 = this.getFileLines( buf1 ); - Diff d = new Diff(fileLines0, fileLines1); - this.edits = d.diff_2(false); + Diff d = new Diff( fileLines0, fileLines1 ); + this.edits = d.diff_2( false ); - int lineCount0 = fileLines0.length; - int lineCount1 = fileLines1.length; + int lineCount0 = fileLines0.length; + int lineCount1 = fileLines1.length; - this.diffOverview0 = new DiffLocalOverview(this.edits, lineCount0, - lineCount1, this.textArea0, this.textArea1); - this.diffOverview1 = ((jEdit.getBooleanProperty( - "jdiff.global-virtual-overview", true)) ? (DiffOverview) new DiffGlobalVirtualOverview( - this.edits, lineCount0, lineCount1, this.textArea0, this.textArea1) - : (DiffOverview) new DiffGlobalPhysicalOverview(this.edits, - lineCount0, lineCount1, this.textArea0, this.textArea1)); - } - } + this.diffOverview0 = new DiffLocalOverview( this.edits, lineCount0, + lineCount1, this.textArea0, this.textArea1 ); + this.diffOverview1 = ( ( jEdit.getBooleanProperty( + "jdiff.global-virtual-overview", true ) ) ? ( DiffOverview ) new DiffGlobalVirtualOverview( + this.edits, lineCount0, lineCount1, this.textArea0, this.textArea1 ) + : ( DiffOverview ) new DiffGlobalPhysicalOverview( this.edits, + lineCount0, lineCount1, this.textArea0, this.textArea1 ) ); + } + } - private void addOverviews() - { - // this.textArea0.remove(this.vertical0); - this.textArea0.addLeftOfScrollBar(this.diffOverview0); - // this.box0.add(this.vertical0); - // JEditTextArea.RIGHT is private... - // "right" == JEditTextArea.RIGHT - // this.textArea0.add("right", this.box0); + private void addOverviews() { + // this.textArea0.remove(this.vertical0); + this.textArea0.addLeftOfScrollBar( this.diffOverview0 ); + // this.box0.add(this.vertical0); + // JEditTextArea.RIGHT is private... + // "right" == JEditTextArea.RIGHT + // this.textArea0.add("right", this.box0); - // this.textArea1.remove(this.vertical1); - this.textArea1.addLeftOfScrollBar(this.diffOverview1); - // this.box1.add(this.diffOverview1); - // this.box1.add(this.vertical1); - // JEditTextArea.RIGHT is private... - // "right" == JEditTextArea.RIGHT - // this.textArea1.add("right", this.box1); - } + // this.textArea1.remove(this.vertical1); + this.textArea1.addLeftOfScrollBar( this.diffOverview1 ); + // this.box1.add(this.diffOverview1); + // this.box1.add(this.vertical1); + // JEditTextArea.RIGHT is private... + // "right" == JEditTextArea.RIGHT + // this.textArea1.add("right", this.box1); + } - private void removeOverviews() - { - this.textArea0.removeLeftOfScrollBar(this.diffOverview0); - // this.box0.remove(this.vertical0); - // this.box0.remove(this.diffOverview0); - // this.textArea0.remove(this.box0); - // JEditTextArea.RIGHT is private... - // "right" == JEditTextArea.RIGHT - // this.textArea0.add("right", this.vertical0); + private void removeOverviews() { + this.textArea0.removeLeftOfScrollBar( this.diffOverview0 ); + // this.box0.remove(this.vertical0); + // this.box0.remove(this.diffOverview0); + // this.textArea0.remove(this.box0); + // JEditTextArea.RIGHT is private... + // "right" == JEditTextArea.RIGHT + // this.textArea0.add("right", this.vertical0); - this.textArea1.removeLeftOfScrollBar(this.diffOverview1); - // this.box1.remove(this.vertical1); - // this.box1.remove(this.diffOverview1); - // this.textArea1.remove(this.box1); - // JEditTextArea.RIGHT is private... - // "right" == JEditTextArea.RIGHT - // this.textArea1.add("right", this.vertical1); - } + this.textArea1.removeLeftOfScrollBar( this.diffOverview1 ); + // this.box1.remove(this.vertical1); + // this.box1.remove(this.diffOverview1); + // this.textArea1.remove(this.box1); + // JEditTextArea.RIGHT is private... + // "right" == JEditTextArea.RIGHT + // this.textArea1.add("right", this.vertical1); + } - private void refresh() - { - this.removeHandlers(); - this.disableHighlighters(); + private void refresh() { + this.removeHandlers(); + this.disableHighlighters(); - this.removeOverviews(); - this.initOverviews(); - this.addOverviews(); + this.removeOverviews(); + this.initOverviews(); + this.addOverviews(); - this.enableHighlighters(); - this.addHandlers(); + this.enableHighlighters(); + this.addHandlers(); - this.diffOverview0.synchroScrollRight(); - this.diffOverview1.repaint(); - } + this.diffOverview0.synchroScrollRight(); + this.diffOverview1.repaint(); + } - private void enableHighlighters() - { - DiffHighlight diffHighlight0 = (DiffHighlight) DiffHighlight - .getHighlightFor(this.editPane0); + private void enableHighlighters() { + DiffHighlight diffHighlight0 = ( DiffHighlight ) DiffHighlight + .getHighlightFor( this.editPane0 ); - if (diffHighlight0 == null) - { - diffHighlight0 = (DiffHighlight) DiffHighlight.addHighlightTo( - this.editPane0, this.edits, DiffHighlight.LEFT); - this.textArea0.getPainter().addExtension( - TextAreaPainter.BELOW_SELECTION_LAYER, diffHighlight0); - } - else - { - diffHighlight0.setEdits(this.edits); - diffHighlight0.setPosition(DiffHighlight.LEFT); - } + if ( diffHighlight0 == null ) { + diffHighlight0 = ( DiffHighlight ) DiffHighlight.addHighlightTo( + this.editPane0, this.edits, DiffHighlight.LEFT ); + this.textArea0.getPainter().addExtension( + TextAreaPainter.BELOW_SELECTION_LAYER, diffHighlight0 ); + } + else { + diffHighlight0.setEdits( this.edits ); + diffHighlight0.setPosition( DiffHighlight.LEFT ); + } - DiffHighlight diffHighlight1 = (DiffHighlight) DiffHighlight - .getHighlightFor(this.editPane1); + DiffHighlight diffHighlight1 = ( DiffHighlight ) DiffHighlight + .getHighlightFor( this.editPane1 ); - if (diffHighlight1 == null) - { - diffHighlight1 = (DiffHighlight) DiffHighlight.addHighlightTo( - this.editPane1, this.edits, DiffHighlight.RIGHT); - this.textArea1.getPainter().addExtension( - TextAreaPainter.BELOW_SELECTION_LAYER, diffHighlight1); - } - else - { - diffHighlight1.setEdits(this.edits); - diffHighlight1.setPosition(DiffHighlight.RIGHT); - } + if ( diffHighlight1 == null ) { + diffHighlight1 = ( DiffHighlight ) DiffHighlight.addHighlightTo( + this.editPane1, this.edits, DiffHighlight.RIGHT ); + this.textArea1.getPainter().addExtension( + TextAreaPainter.BELOW_SELECTION_LAYER, diffHighlight1 ); + } + else { + diffHighlight1.setEdits( this.edits ); + diffHighlight1.setPosition( DiffHighlight.RIGHT ); + } - diffHighlight0.setEnabled(true); - diffHighlight0.updateTextArea(); - diffHighlight1.setEnabled(true); - diffHighlight1.updateTextArea(); - } + diffHighlight0.setEnabled( true ); + diffHighlight0.updateTextArea(); + diffHighlight1.setEnabled( true ); + diffHighlight1.updateTextArea(); + } - private void disableHighlighters() - { - DiffHighlight diffHighlight0 = (DiffHighlight) DiffHighlight - .getHighlightFor(this.editPane0); + private void disableHighlighters() { + DiffHighlight diffHighlight0 = ( DiffHighlight ) DiffHighlight + .getHighlightFor( this.editPane0 ); - if (diffHighlight0 != null) - { - diffHighlight0.setEnabled(false); - diffHighlight0.updateTextArea(); - } + if ( diffHighlight0 != null ) { + diffHighlight0.setEnabled( false ); + diffHighlight0.updateTextArea(); + } - DiffHighlight diffHighlight1 = (DiffHighlight) DiffHighlight - .getHighlightFor(this.editPane1); + DiffHighlight diffHighlight1 = ( DiffHighlight ) DiffHighlight + .getHighlightFor( this.editPane1 ); - if (diffHighlight1 != null) - { - diffHighlight1.setEnabled(false); - diffHighlight1.updateTextArea(); - } - } + if ( diffHighlight1 != null ) { + diffHighlight1.setEnabled( false ); + diffHighlight1.updateTextArea(); + } + } - private void addHandlers() - { - this.textArea0.addScrollListener(this.scrollHandler); - this.textArea0.addFocusListener(this.scrollHandler); - this.textArea0.addCaretListener(this.scrollHandler); + private void addHandlers() { + this.textArea0.addScrollListener( this.scrollHandler ); + this.textArea0.addFocusListener( this.scrollHandler ); + this.textArea0.addCaretListener( this.scrollHandler ); - this.textArea1.addScrollListener(this.scrollHandler); - this.textArea1.addFocusListener(this.scrollHandler); - this.textArea1.addCaretListener(this.scrollHandler); - } + this.textArea1.addScrollListener( this.scrollHandler ); + this.textArea1.addFocusListener( this.scrollHandler ); + this.textArea1.addCaretListener( this.scrollHandler ); + } - private void removeHandlers() - { - this.textArea0.removeScrollListener(this.scrollHandler); - this.textArea0.removeFocusListener(this.scrollHandler); - this.textArea0.removeCaretListener(this.scrollHandler); + private void removeHandlers() { + this.textArea0.removeScrollListener( this.scrollHandler ); + this.textArea0.removeFocusListener( this.scrollHandler ); + this.textArea0.removeCaretListener( this.scrollHandler ); - this.textArea1.removeScrollListener(this.scrollHandler); - this.textArea1.removeFocusListener(this.scrollHandler); - this.textArea1.removeCaretListener(this.scrollHandler); - } + this.textArea1.removeScrollListener( this.scrollHandler ); + this.textArea1.removeFocusListener( this.scrollHandler ); + this.textArea1.removeCaretListener( this.scrollHandler ); + } - private FileLine[] getFileLines(Buffer buffer) - { - FileLine[] lines = new FileLine[buffer.getLineCount()]; + private FileLine[] getFileLines( Buffer buffer ) { + FileLine[] lines = new FileLine[ buffer.getLineCount() ]; - for (int i = buffer.getLineCount() - 1; i >= 0; i--) - { - int start = buffer.getLineStartOffset(i); - int end = buffer.getLineEndOffset(i); + for ( int i = buffer.getLineCount() - 1; i >= 0; i-- ) { + int start = buffer.getLineStartOffset( i ); + int end = buffer.getLineEndOffset( i ); - // We get the line i without the line separator (always - // \n) - int len = (end - 1) - start; - if (len == 0) - { - lines[i] = new FileLine("", ""); - continue; - } + // We get the line i without the line separator (always + // \n) + int len = ( end - 1 ) - start; + if ( len == 0 ) { + lines[ i ] = new FileLine( "", "" ); + continue; + } - String text = ""; - String canonical = ""; + String text = ""; + String canonical = ""; - text = buffer.getText(start, len); - canonical = text; - if (ignoreCase) - { - canonical = canonical.toUpperCase(); - } - if (trimWhitespace && !ignoreAllWhitespace) - { - canonical = trimWhitespaces(canonical); - } - if (ignoreAmountOfWhitespace && !ignoreAllWhitespace) - { - canonical = squeezeRepeatedWhitespaces(canonical); - } - if (ignoreAllWhitespace) - { - canonical = removeWhitespaces(canonical); - } + text = buffer.getText( start, len ); + canonical = text; + if ( ignoreCase ) { + canonical = canonical.toUpperCase(); + } + if ( trimWhitespace && !ignoreAllWhitespace ) { + canonical = trimWhitespaces( canonical ); + } + if ( ignoreAmountOfWhitespace && !ignoreAllWhitespace ) { + canonical = squeezeRepeatedWhitespaces( canonical ); + } + if ( ignoreAllWhitespace ) { + canonical = removeWhitespaces( canonical ); + } - lines[i] = new FileLine(text, canonical); - } + lines[ i ] = new FileLine( text, canonical ); + } - return lines; - } + return lines; + } - public static String squeezeRepeatedWhitespaces(String str) - { - int inLen = str.length(); - int outLen = 0; - char[] inStr = new char[inLen]; - char[] outStr = new char[inLen]; - str.getChars(0, inLen, inStr, 0); + public static String squeezeRepeatedWhitespaces( String str ) { + int inLen = str.length(); + int outLen = 0; + char[] inStr = new char[ inLen ]; + char[] outStr = new char[ inLen ]; + str.getChars( 0, inLen, inStr, 0 ); - boolean space = false; + boolean space = false; - int idx = 0; - // Skip leading whitespaces - while (idx < inLen && Character.isWhitespace(inStr[idx])) - { - idx++; - } + int idx = 0; + // Skip leading whitespaces + while ( idx < inLen && Character.isWhitespace( inStr[ idx ] ) ) { + idx++; + } - for (; idx < inLen; idx++) - { - if (Character.isWhitespace(inStr[idx])) - { - space = true; - continue; - } + for ( ; idx < inLen; idx++ ) { + if ( Character.isWhitespace( inStr[ idx ] ) ) { + space = true; + continue; + } - if (space) - { - outStr[outLen++] = ' '; - space = false; - } - outStr[outLen++] = inStr[idx]; - } + if ( space ) { + outStr[ outLen++ ] = ' '; + space = false; + } + outStr[ outLen++ ] = inStr[ idx ]; + } - return new String(outStr, 0, outLen); - } + return new String( outStr, 0, outLen ); + } - public static String removeWhitespaces(String str) - { - int inLen = str.length(); - int outLen = 0; - char[] inStr = new char[inLen]; - char[] outStr = new char[inLen]; - str.getChars(0, inLen, inStr, 0); + public static String removeWhitespaces( String str ) { + int inLen = str.length(); + int outLen = 0; + char[] inStr = new char[ inLen ]; + char[] outStr = new char[ inLen ]; + str.getChars( 0, inLen, inStr, 0 ); - for (int i = 0; i < inLen; i++) - { - if (!Character.isWhitespace(inStr[i])) - { - outStr[outLen] = inStr[i]; - outLen++; - } - } + for ( int i = 0; i < inLen; i++ ) { + if ( !Character.isWhitespace( inStr[ i ] ) ) { + outStr[ outLen ] = inStr[ i ]; + outLen++; + } + } - return new String(outStr, 0, outLen); - } + return new String( outStr, 0, outLen ); + } - public static String trimWhitespaces(String str) - { - int inLen = str.length(); - char[] inStr = new char[inLen]; - str.getChars(0, inLen, inStr, 0); + public static String trimWhitespaces( String str ) { + int inLen = str.length(); + char[] inStr = new char[ inLen ]; + str.getChars( 0, inLen, inStr, 0 ); - // Skip leading whitespaces - int startIdx = 0; - while ((startIdx < inLen) && Character.isWhitespace(inStr[startIdx])) - { - startIdx++; - } + // Skip leading whitespaces + int startIdx = 0; + while ( ( startIdx < inLen ) && Character.isWhitespace( inStr[ startIdx ] ) ) { + startIdx++; + } - // Skip trailing whitespaces - int endIdx = inLen - 1; - while ((endIdx >= startIdx) && Character.isWhitespace(inStr[endIdx])) - { - endIdx--; - } + // Skip trailing whitespaces + int endIdx = inLen - 1; + while ( ( endIdx >= startIdx ) && Character.isWhitespace( inStr[ endIdx ] ) ) { + endIdx--; + } - if ((startIdx > 0) || (endIdx < inLen - 1)) - { - return new String(inStr, startIdx, endIdx - startIdx + 1); - } - else - { - return str; - } - } + if ( ( startIdx > 0 ) || ( endIdx < inLen - 1 ) ) { + return new String( inStr, startIdx, endIdx - startIdx + 1 ); + } + else { + return str; + } + } - public static DualDiff getDualDiffFor(View view) - { - return (DualDiff) dualDiffs.get(view); - } + public static DualDiff getDualDiffFor( View view ) { + return ( DualDiff ) dualDiffs.get( view ); + } - public static boolean isEnabledFor(View view) - { - return (dualDiffs.get(view) != null); - } + public static boolean isEnabledFor( View view ) { + return ( dualDiffs.get( view ) != null ); + } - private static void editPaneCreated(View view, EditPane editPane) - { - DualDiff.removeFrom(view); - } + private static void editPaneCreated( View view, EditPane editPane ) { + DualDiff.removeFrom( view ); + } - private static void editPaneDestroyed(View view, EditPane editPane) - { - DualDiff.removeFrom(view); - DiffHighlight.removeHighlightFrom(editPane); - } + private static void editPaneDestroyed( View view, EditPane editPane ) { + DualDiff.removeFrom( view ); + DiffHighlight.removeHighlightFrom( editPane ); + } - private static void editPaneBufferChanged(View view, EditPane editPane) - { - DualDiff.refreshFor(view); - } + private static void editPaneBufferChanged( View view, EditPane editPane ) { + DualDiff.refreshFor( view ); + } - public static void toggleFor(View view) - { - EditPane[] editPanes = view.getEditPanes(); - if (editPanes.length != 2) - { - Log.log(Log.DEBUG, DualDiff.class, - "Splitting: the view has to be split in two"); - if (editPanes.length > 2) - { - view.unsplit(); - } - view.splitVertically(); - } + public static void toggleFor( View view ) { + EditPane[] editPanes = view.getEditPanes(); + if ( editPanes.length != 2 ) { + Log.log( Log.DEBUG, DualDiff.class, + "Splitting: the view has to be split in two" ); + if ( editPanes.length > 2 ) { + view.unsplit(); + } + view.splitVertically(); + } - if (DualDiff.isEnabledFor(view)) - { - DualDiff.removeFrom(view); - } - else - { - DualDiff.addTo(view); - } + if ( DualDiff.isEnabledFor( view ) ) { + DualDiff.removeFrom( view ); + } + else { + DualDiff.addTo( view ); + } - view.invalidate(); - view.validate(); - } + view.invalidate(); + view.validate(); + } - public static void refreshFor(View view) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(view); - if (dualDiff != null) - { - dualDiff.refresh(); + public static void refreshFor( View view ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); + if ( dualDiff != null ) { + dualDiff.refresh(); - view.invalidate(); - view.validate(); - } - else - { - view.getToolkit().beep(); - } - } + view.invalidate(); + view.validate(); + } + else { + view.getToolkit().beep(); + } + } - public static boolean getIgnoreCaseFor(View view) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(view); - if (dualDiff == null) - { - return false; - } + public static boolean getIgnoreCaseFor( View view ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); + if ( dualDiff == null ) { + return false; + } - return dualDiff.getIgnoreCase(); - } + return dualDiff.getIgnoreCase(); + } - public static void toggleIgnoreCaseFor(View view) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(view); - if (dualDiff != null) - { - dualDiff.toggleIgnoreCase(); - dualDiff.refresh(); + public static void toggleIgnoreCaseFor( View view ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); + if ( dualDiff != null ) { + dualDiff.toggleIgnoreCase(); + dualDiff.refresh(); - view.invalidate(); - view.validate(); - } - else - { - view.getToolkit().beep(); - } - } + view.invalidate(); + view.validate(); + } + else { + view.getToolkit().beep(); + } + } - public static boolean getTrimWhitespaceFor(View view) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(view); - if (dualDiff == null) - { - return false; - } + public static boolean getTrimWhitespaceFor( View view ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); + if ( dualDiff == null ) { + return false; + } - return dualDiff.getTrimWhitespace(); - } + return dualDiff.getTrimWhitespace(); + } - public static void toggleTrimWhitespaceFor(View view) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(view); - if (dualDiff != null) - { - dualDiff.toggleTrimWhitespace(); - dualDiff.refresh(); + public static void toggleTrimWhitespaceFor( View view ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); + if ( dualDiff != null ) { + dualDiff.toggleTrimWhitespace(); + dualDiff.refresh(); - view.invalidate(); - view.validate(); - } - else - { - view.getToolkit().beep(); - } - } + view.invalidate(); + view.validate(); + } + else { + view.getToolkit().beep(); + } + } - public static boolean getIgnoreAmountOfWhitespaceFor(View view) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(view); - if (dualDiff == null) - { - return false; - } + public static boolean getIgnoreAmountOfWhitespaceFor( View view ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); + if ( dualDiff == null ) { + return false; + } - return dualDiff.getIgnoreAmountOfWhitespace(); - } + return dualDiff.getIgnoreAmountOfWhitespace(); + } - public static void toggleIgnoreAmountOfWhitespaceFor(View view) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(view); - if (dualDiff != null) - { - dualDiff.toggleIgnoreAmountOfWhitespace(); - dualDiff.refresh(); + public static void toggleIgnoreAmountOfWhitespaceFor( View view ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); + if ( dualDiff != null ) { + dualDiff.toggleIgnoreAmountOfWhitespace(); + dualDiff.refresh(); - view.invalidate(); - view.validate(); - } - else - { - view.getToolkit().beep(); - } - } + view.invalidate(); + view.validate(); + } + else { + view.getToolkit().beep(); + } + } - public static boolean getIgnoreAllWhitespaceFor(View view) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(view); - if (dualDiff == null) - { - return false; - } + public static boolean getIgnoreAllWhitespaceFor( View view ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); + if ( dualDiff == null ) { + return false; + } - return dualDiff.getIgnoreAllWhitespace(); - } + return dualDiff.getIgnoreAllWhitespace(); + } - public static void toggleIgnoreAllWhitespaceFor(View view) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(view); - if (dualDiff != null) - { - dualDiff.toggleIgnoreAllWhitespace(); - dualDiff.refresh(); + public static void toggleIgnoreAllWhitespaceFor( View view ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); + if ( dualDiff != null ) { + dualDiff.toggleIgnoreAllWhitespace(); + dualDiff.refresh(); - view.invalidate(); - view.validate(); - } - else - { - view.getToolkit().beep(); - } - } + view.invalidate(); + view.validate(); + } + else { + view.getToolkit().beep(); + } + } - public static void nextDiff(EditPane editPane) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(editPane.getView()); - if (dualDiff == null) - { - editPane.getToolkit().beep(); - return; - } + public static void nextDiff( EditPane editPane ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( editPane.getView() ); + if ( dualDiff == null ) { + editPane.getToolkit().beep(); + return ; + } - if (dualDiff.editPane0 == editPane) - { - dualDiff.nextDiff0(); - } - else if (dualDiff.editPane1 == editPane) - { - dualDiff.nextDiff1(); - } - else - { - editPane.getToolkit().beep(); - } - } + if ( dualDiff.editPane0 == editPane ) { + dualDiff.nextDiff0(); + } + else if ( dualDiff.editPane1 == editPane ) { + dualDiff.nextDiff1(); + } + else { + editPane.getToolkit().beep(); + } + } - public static void prevDiff(EditPane editPane) - { - DualDiff dualDiff = DualDiff.getDualDiffFor(editPane.getView()); - if (dualDiff == null) - { - editPane.getToolkit().beep(); - return; - } + public static void prevDiff( EditPane editPane ) { + DualDiff dualDiff = DualDiff.getDualDiffFor( editPane.getView() ); + if ( dualDiff == null ) { + editPane.getToolkit().beep(); + return ; + } - if (dualDiff.editPane0 == editPane) - { - dualDiff.prevDiff0(); - } - else if (dualDiff.editPane1 == editPane) - { - dualDiff.prevDiff1(); - } - else - { - editPane.getToolkit().beep(); - } - } + if ( dualDiff.editPane0 == editPane ) { + dualDiff.prevDiff0(); + } + else if ( dualDiff.editPane1 == editPane ) { + dualDiff.prevDiff1(); + } + else { + editPane.getToolkit().beep(); + } + } - public static void diffNormalOutput(View view) - { - if (!DualDiff.isEnabledFor(view)) - { - view.getToolkit().beep(); - return; - } + public static void diffNormalOutput( View view ) { + if ( !DualDiff.isEnabledFor( view ) ) { + view.getToolkit().beep(); + return ; + } - DualDiff dualDiff = DualDiff.getDualDiffFor(view); + DualDiff dualDiff = DualDiff.getDualDiffFor( view ); - // Generate the script - Buffer buf0 = dualDiff.editPane0.getBuffer(); - Buffer buf1 = dualDiff.editPane1.getBuffer(); + // Generate the script + Buffer buf0 = dualDiff.editPane0.getBuffer(); + Buffer buf1 = dualDiff.editPane1.getBuffer(); - FileLine[] fileLines0 = dualDiff.getFileLines(buf0); - FileLine[] fileLines1 = dualDiff.getFileLines(buf1); + FileLine[] fileLines0 = dualDiff.getFileLines( buf0 ); + FileLine[] fileLines1 = dualDiff.getFileLines( buf1 ); - Diff d = new Diff(fileLines0, fileLines1); - Diff.change script = d.diff_2(false); + Diff d = new Diff( fileLines0, fileLines1 ); + Diff.change script = d.diff_2( false ); - // Files are identical: return - if (script == null) - { - GUIUtilities.message(view, "jdiff.identical-files", null); - return; - } + // Files are identical: return + if ( script == null ) { + GUIUtilities.message( view, "jdi... [truncated message content] |