|
org.netbeans.modules.diff/1 1.18.0 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.
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.
Class, that is used as a source of named streams for diff and merge stuff.
Service, that is used to resolve merge collisions.
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 NetBeans CVS in diff directory.
Read more about the implementation in the answers to architecture questions.
|
org.netbeans.modules.diff/1 1.18.0 42 | |||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||