|
org.netbeans.modules.diff/1 1.20.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 the NetBeans Mercurial repositories.
Read more about the implementation in the answers to architecture questions.
|
org.netbeans.modules.diff/1 1.20.0 42 | |||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||