Hallo
ich habe mal wieder ein Problem bezüglich meinem Plugin. Diesmal ist es hoffentlich etwas einfacher und offensichtlicher.
Dazu erstmal die Info: ich bin beim QuickFix und möchte soetwas wie "Create new class .." nachbasteln.. habe gelesen, dass so etwas machbar ist, indem ich eine Klasse schreibe, die von WizardPage und eine, die von Wizard erbt.
Die eine Klasse sieht etwa so aus:
Dazu jetzt meine Fragen:
1. Warum soll ich sowohl WIzard extenden als auch INewWizard implementieren? Ist beides erforderlich? Hab das nur irgendwo gelesen, wo das so verwendet wurde, bin mir da nicht sicher.
2. Wenn ich diesen Wizard verwende, sprich der Dialog angezeigt wird, muss ich soweit ich weiß, erst das Objekt erzeugen und dann init aufrufen. Dazu b rauche ich aber IWorkbench und IstructuredSelection..
ich habe aber weder noch.. maximal einen InvocationContext (da der Aufruf in einer eigenen Implementierung von IJavaCompletionProposal geschieht).
Hat jemand einen Hinweis wie ich da rankomme? oder falls das gar nicht so möglich ist, wie ich das haben möchte, wie ich das anders bewerkstelligen kann?
Wäre echt nett, wenn ich ein paar Hinweise bekommen könnte.
Grüße und Danke für jede Hilfe, MZ
ich habe mal wieder ein Problem bezüglich meinem Plugin. Diesmal ist es hoffentlich etwas einfacher und offensichtlicher.
Dazu erstmal die Info: ich bin beim QuickFix und möchte soetwas wie "Create new class .." nachbasteln.. habe gelesen, dass so etwas machbar ist, indem ich eine Klasse schreibe, die von WizardPage und eine, die von Wizard erbt.
Die eine Klasse sieht etwa so aus:
Java:
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
public class ResourceWizard extends Wizard implements INewWizard {
private ResourceWizardPage resourceWizardPage;
private String value;
private IStructuredSelection structuredSelection;
private IWorkbench workbench;
public ResourceWizard(String value) {
super();
this.value = value;
}
@Override
public void addPages(){
super.addPages();
resourceWizardPage = new ResourceWizardPage("", value);
addPage(resourceWizardPage);
}
@Override
public void init(IWorkbench workbench, IStructuredSelection selection) {
this.workbench = workbench;
this.structuredSelection = selection;
}
@Override
public boolean performFinish() {
return true;
}
}
Dazu jetzt meine Fragen:
1. Warum soll ich sowohl WIzard extenden als auch INewWizard implementieren? Ist beides erforderlich? Hab das nur irgendwo gelesen, wo das so verwendet wurde, bin mir da nicht sicher.
2. Wenn ich diesen Wizard verwende, sprich der Dialog angezeigt wird, muss ich soweit ich weiß, erst das Objekt erzeugen und dann init aufrufen. Dazu b rauche ich aber IWorkbench und IstructuredSelection..
ich habe aber weder noch.. maximal einen InvocationContext (da der Aufruf in einer eigenen Implementierung von IJavaCompletionProposal geschieht).
Hat jemand einen Hinweis wie ich da rankomme? oder falls das gar nicht so möglich ist, wie ich das haben möchte, wie ich das anders bewerkstelligen kann?
Wäre echt nett, wenn ich ein paar Hinweise bekommen könnte.
Grüße und Danke für jede Hilfe, MZ