Hey!
ich schreibe gerade ein Eclipse RCP Plugin und erweitere den ImportWizart. Der Benutzer kann einige XML Dateien auswählen und Importprozess auslösen. Hier können unterschiedliche Fehler auftreten, die ich gerne dem Benutzer anzeigen würde.
Mein ersten Ansatz, das direkte Anzeigen der Fehlermeldung ohne separaten Thread. Leider war im Hintergrund immer noch das Job-Fenster zu sehen. Der aktuelle Ablauf (mit Thread siehe unten) ist super, leider ist Fenster nicht an Eclipse gebunden. Ich hätte es gerne, dass der Benutzer erst die Meldung bestätigen muss, bevor es weiter gehen kann.
ich schreibe gerade ein Eclipse RCP Plugin und erweitere den ImportWizart. Der Benutzer kann einige XML Dateien auswählen und Importprozess auslösen. Hier können unterschiedliche Fehler auftreten, die ich gerne dem Benutzer anzeigen würde.
Mein ersten Ansatz, das direkte Anzeigen der Fehlermeldung ohne separaten Thread. Leider war im Hintergrund immer noch das Job-Fenster zu sehen. Der aktuelle Ablauf (mit Thread siehe unten) ist super, leider ist Fenster nicht an Eclipse gebunden. Ich hätte es gerne, dass der Benutzer erst die Meldung bestätigen muss, bevor es weiter gehen kann.
Java:
@Override
public boolean performFinish() {
final String path = this.one.getPath();
final Job job = new Job("Import XML Files in: " + path) {
@Override
protected IStatus run(IProgressMonitor monitor) {
final List<String> errorMessage = ImportXml.perform(path);
new Thread() {
public void run() {
Shell shell = new Shell(display);
MessageBox messageBox = new MessageBox(shell,
SWT.ICON_WARNING | SWT.OK);
messageBox.setText("Warning");
StringBuilder sb = new StringBuilder();
for (String string : errorMessage) {
sb.append("- ").append(string).append("\n");
}
messageBox.setMessage(sb.toString());
int buttonID = messageBox.open();
}
}.start();
return Status.OK_STATUS;
}
};
job.setUser(true);
job.schedule();
return true;
}