public class MyCommitActionFactory implements ICommitActionFactory
{
private MyDialog dialog;
private ICommitDialog commitDialog;
public ICommitDialog
getCommitDialog(final Shell
shell,
Collection allFilesToCommit, final ICommentDialogPanel
commentPanel) {
commitDialog = new ICommitDialog()
{
public String getMessage()
{
//...
}
public int open()
{
dialog = new MyDialog(new Shell(shell),
commentPanel);
return dialog.open();
}
};
return commitDialog;
}
public class MyDialog
extends DefaultDialog {
public MyDialog(Shell shell, ICommentDialogPanel
commentPanel,
StringBuffer issues) {
super(shell, commentPanel);
this.commentHeaderMessage = issues;
issuePanel = new IssuePanel();
}
public MyDialog(Shell parentShell, MyCommitPanel
panel) {
super(parentShell, (IDialogPanel) panel);
this.panel = (IDialogPanel) panel;
issuePanel = new IssuePanel();
}
@Override
protected Control createContents(Composite
parent) {
this.parent = parent;
//call creating Subversive controls there and also some ours controls
//...
this.dialogArea = this.createMainPanel(composite);
//....
return composite;
}
}
Note, then in createContents I extended in some way
createButtonPane and createMainPanel where my controls were placed.
Is everything is clear there?
Can it be something like I override some initial
initialisation of Subversive CommitDilaog, if it exists, or something like
that? Or can it be something like subversive plug-in falls somewherre during
initialisation? I don't really know what can happen in that case.
Andrei Pavlenko.