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.