|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2002 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.merge.builtin.visualizer; import java.awt.Color; import java.awt.Component; //import java.awt.event.ActionListener; import java.io.FileNotFoundException; import java.io.InputStreamReader; import java.io.IOException; import java.io.Reader; import java.io.Writer; import java.io.Serializable; import java.util.Iterator; import java.util.Set; import org.openide.util.NbBundle; import org.openide.util.WeakListener; import org.openide.windows.TopComponent; import org.netbeans.api.diff.Difference; import org.netbeans.api.diff.StreamSource; import org.netbeans.spi.diff.MergeVisualizer; /** * The default graphical visualizer of merge conflicts. * * @author Martin Entlicher */ public class GraphicalMergeVisualizer extends MergeVisualizer implements Serializable { private Color colorUnresolvedConflict = new java.awt.Color(255, 160, 180); private Color colorResolvedConflict = new java.awt.Color(180, 255, 180); private Color colorOtherConflict = new java.awt.Color(160, 200, 255); /** The currently opened merge dialog. */ private MergeDialogComponent merge; static final long serialVersionUID =-2175410667258166512L; /** Creates a new instance of GraphicalMergeVisualizer */ public GraphicalMergeVisualizer() { merge = null; //System.out.println("Created a new GraphicalMergeVisualizer() = "+this); } /** * Get the display name of this merge visualizer. */ public String getDisplayName() { return NbBundle.getMessage(GraphicalMergeVisualizer.class, "GraphicalMergeVisualizer.displayName"); } /** * Get a short description of this merge visualizer. */ public String getShortDescription() { return NbBundle.getMessage(GraphicalMergeVisualizer.class, "GraphicalMergeVisualizer.shortDescription"); } /** * Show the visual representation of the merging process of two sources. * The result of the merging process can be saved into a Writer even * before all conflicts are actually resolved. * * @param diffs The list of conflicts. * @param source1 the source of the first file * @param source2 the source of the second file * @param result the information about the result source * @return The Component representing the diff visual representation * or null, when the representation is outside the IDE. * @throws IOException when the reading from input streams fails. */ public Component createView(Difference[] diffs, StreamSource source1, StreamSource source2, StreamSource result) throws IOException { synchronized (this) { //System.out.println("createView(): merge = "+merge); if (merge == null) { Set opened = TopComponent.getRegistry().getOpened(); for (Iterator it = opened.iterator(); it.hasNext(); ) { Object component = it.next(); if (component instanceof MergeDialogComponent) { merge = (MergeDialogComponent) component; break; } } if (merge == null) { merge = new MergeDialogComponent(); } } } if (!merge.isOpened()) merge.open(); MergePanel panel = new MergePanel(); MergeControl control = new MergeControl(panel); control.initialize(diffs, source1, source2, result, colorUnresolvedConflict, colorResolvedConflict, colorOtherConflict); merge.addVetoableChangeListener(WeakListener.vetoableChange(control, merge)); merge.addMergePanel(panel); return merge; } /** Getter for property colorUnresolvedConflict. * @return Value of property colorUnresolvedConflict. */ public java.awt.Color getColorUnresolvedConflict() { return colorUnresolvedConflict; } /** Setter for property colorUnresolvedConflict. * @param colorUnresolvedConflict New value of property colorUnresolvedConflict. */ public void setColorUnresolvedConflict(java.awt.Color colorUnresolvedConflict) { this.colorUnresolvedConflict = colorUnresolvedConflict; } /** Getter for property colorResolvedConflict. * @return Value of property colorResolvedConflict. */ public java.awt.Color getColorResolvedConflict() { return colorResolvedConflict; } /** Setter for property colorResolvedConflict. * @param colorResolvedConflict New value of property colorResolvedConflict. */ public void setColorResolvedConflict(java.awt.Color colorResolvedConflict) { this.colorResolvedConflict = colorResolvedConflict; } /** Getter for property colorOtherConflict. * @return Value of property colorOtherConflict. */ public java.awt.Color getColorOtherConflict() { return colorOtherConflict; } /** Setter for property colorOtherConflict. * @param colorOtherConflict New value of property colorOtherConflict. */ public void setColorOtherConflict(java.awt.Color colorOtherConflict) { this.colorOtherConflict = colorOtherConflict; } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.