V
Vasida
Gast
Hi,
ich möchte für mein Program eine ganz popelige und einfach Importseite haben, wo man über einen browse button ein zu importierendes file auswählt und dieses dann verarbeitet.
Ich steige nicht durch den ziemlich undurchsichtigen Aufbau dieser WizardPages durch.
Ich habe mir über die plugin.xml das ImportWizard Template genommen und dann einen eigene WizardPage dazu gemacht.
Prinzipiell komme so weit, dass ich den Wizard über das Menu öffnen kann und in einer Zeile mein Textdatei auswählen kann. Das mache ich mit einem FileFieldEditor
Nur ich steige überhaupt durch, wie ich da jetzt "verarbeiten" kann. Wie schaffe ich es, dass z.B. der Finish-Button aktiviert wird? Ich kann zwar etwas auswählen, aber dann nichts weiter damit machen. Ich suche etwas wie eine Art run()-Methode.
Wo kann ich meine Prüfungen durchführen, ob die Eingabe gültig ist?
Mein ImportWizard sieht so aus:
Meine dazugehörige Page:
ich möchte für mein Program eine ganz popelige und einfach Importseite haben, wo man über einen browse button ein zu importierendes file auswählt und dieses dann verarbeitet.
Ich steige nicht durch den ziemlich undurchsichtigen Aufbau dieser WizardPages durch.
Ich habe mir über die plugin.xml das ImportWizard Template genommen und dann einen eigene WizardPage dazu gemacht.
Prinzipiell komme so weit, dass ich den Wizard über das Menu öffnen kann und in einer Zeile mein Textdatei auswählen kann. Das mache ich mit einem FileFieldEditor
Nur ich steige überhaupt durch, wie ich da jetzt "verarbeiten" kann. Wie schaffe ich es, dass z.B. der Finish-Button aktiviert wird? Ich kann zwar etwas auswählen, aber dann nichts weiter damit machen. Ich suche etwas wie eine Art run()-Methode.
Wo kann ich meine Prüfungen durchführen, ob die Eingabe gültig ist?
Mein ImportWizard sieht so aus:
Java:
BookmarkImportWizardPage mainPage;
public BookmarkImportWizard() {
super();
}
public boolean performFinish() {
File file = mainPage.getSelectedFile();
if (file == null)
return false;
return true;
}
public void init(IWorkbench workbench, IStructuredSelection selection) {
setWindowTitle("File Import Wizard"); //NON-NLS-1
setNeedsProgressMonitor(true);
mainPage = new BookmarkImportWizardPage("Import Bookmarks",selection); //NON-NLS-1
}
public void addPages() {
super.addPages();
addPage(mainPage);
}
}
Meine dazugehörige Page:
Java:
public class BookmarkImportWizardPage
extends WizardPage
{
private Composite container;
private final IStructuredSelection selection;
private FileFieldEditor fileFieldEditor;
protected BookmarkImportWizardPage(String pageName,
IStructuredSelection selection)
{
super(pageName);
this.selection = selection;
}
@Override
public void createControl(Composite parent)
{
container = new Composite(parent, SWT.NONE);
fileFieldEditor = new FileFieldEditor("Import", "Select file",
container);
fileFieldEditor.setFileExtensions(new String[] { "*.xxxx" });
// Required to avoid an error in the system
setControl(container);
setPageComplete(false);
}
public File getSelectedFile()
{
System.out.println("getSelectedFile()");
return null;
}