|
org.netbeans.modules.diff/1 1.33.1 42 | |||||||||
PREV NEXT | FRAMES NO FRAMES |
See:
Description
Diff | |
---|---|
org.netbeans.api.diff | |
org.netbeans.spi.diff |
Support to everything related to creation and visualization of diffs. This library allows registrations of various diff providers and visualizers and provides programatic access to their functionality.
Adding new methods to the API/SPI which create a Diff Controller capable of providing a diff view with enhanced UI.
Adding PatchUtils.java to the API. Contains two new methods - isPatch(patchFile) and applyPatch(patchFile, contextFile)
DiffController class is a successor to DiffView interface that provides more features.
StreamSource provides more ways of defining the source (a FileObject) and can declare its editability.
A controler interface, that allows to programmatically control the diff component.
From an action or wherever you like you can call this:
public void diff(final StreamSource local, final StreamSource remote){ SwingUtilities.invokeLater(new Runnable() { public void run() { try { DiffView view = Diff.getDefault().createDiff(local, remote); showDiff(view); } catch (IOException ex) { Logger.getLogger(ThisClass.class.getName()).throwing(ex); } } }); } public void showDiff(final DiffView view){ SwingUtilities.invokeLater(new Runnable() { public void run() { //create our panel with our view //right now I am just going to use the diff component // instead of a panel //create a topcomponent with our panel DiffTopComponent tc = new DiffTopComponent(view); tc.setName("MY_DIFF"); tc.setDisplayName("Some display name"); tc.open(); tc.requestActive(); } }); }
Here is a top component to display it:
public class DiffTopComponent extends TopComponent { /** Creates a new instance of DiffTopComponent */ public DiffTopComponent(Component diffPanel) { setLayout(new BorderLayout()); add(diffPanel, BorderLayout.CENTER); getAccessibleContext().setAccessibleName( NbBundle.getMessage(DiffTopComponent.class, "ACSN_Diff_Top_Component")); // NOI18N getAccessibleContext().setAccessibleDescription( NbBundle.getMessage(DiffTopComponent.class, "ACSD_Diff_Top_Component")); // NOI18N } public DiffTopComponent(DiffView view) { this(view.getComponent()); } public int getPersistenceType(){ return TopComponent.PERSISTENCE_NEVER; } protected String preferredID(){ return "DiffTopComponent"; //NOI18N } public HelpCtx getHelpCtx() { return new HelpCtx(getClass()); } }
|
|
The sources for the module are in the NetBeans Mercurial repositories.
Read more about the implementation in the answers to architecture questions.
|
org.netbeans.modules.diff/1 1.33.1 42 | |||||||||
PREV NEXT | FRAMES NO FRAMES |