tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
455
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    antimon antimon ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    60
    Hallo zusammen,

    nachdem ich trotz Durchwühlen der Eclipse-API nicht schlauer geworden bin, hier mein Hilferuf an Euch:

    Ich möchte projektspezifische Einstellungen in meinem Eclipse-RCP Projekt in einem eigenen Dialog haben, der genauso aufgebaut ist wie der PreferenceDialog. Im Prinzip genauso wie man in der Eclipse IDE auch einen globalen Einstellungsdialog hat und dann noch einen pro Projekt.

    Mein Gedankengang war folgender: Um dem globalen Einstellungsdialog Seiten unterzujubeln erstellt man PreferencePage-Extensions. Das Gleiche kann ich auch machen, in dem ich einen ExtensionPoint für projektspezifische Einstellungsseiten erstelle.

    Nur jetzt beginnt der schwierige Teil - wie bekomme ich die PreferencePages aus diesem ExtensionPoint in den eigenen PreferencesDialog? Ich habe versucht zu schauen, wie das bei dem Command "org.eclipse.ui.window.preferences" läuft, aber daraus bin ich nicht schlau geworden.

    Wie muss ich vorgehen?
    - Den PreferencesDialog erweitern und dort die Seiten einbinden?
    - Oder brauche ich den PreferenceManager, der die Seiten sammelt und sortiert und dann dem Dialog übergeben wird?

    Wäre ein Command zum Öffnen des Dialoges sinnvoll, der erst die Seiten "sammelt", sortiert und dann dem Dialog übergibt? Oder ist das nicht zielführend?

    Leider ist mir nicht so ganz klar, wie die Zusammenhänge sind, denn die Seiten können ja gruppiert werden und müssen deshalb an der richtigen Stelle "eingehängt" werden - muss ich mich darum kümmern oder gibt es da schon vorgefertigte Klassen?
     

  2. #2
    antimon antimon ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    60
    Ich habe jetzt mal die Version mit dem PreferenceManager ausprobiert und denke dass ich auf einem richtigen Weg bin... zuerst erstelle ich also alle PreferenceNodes und übergebe die an den PreferenceManager - so weit so gut.

    Allerdings habe ich jetzt Schwierigkeiten beim Öffnen des Dialogs:

    Wenn ich die Nodes mit new PreferenceNode("id", new XYZPage()); erstelle, funktioniert alles soweit - allerdings möchte ich gerne den Namen der einzelnen Seiten definieren, deswegen benötige ich den Konstruktor: PreferenceNode(String id, String label, ImageDescriptor image, String className)

    Allerdings übergibt man hier ja className - also zum Beispiel XYZPage.class.getName()
    Wenn ich dies aber tue, oder anstattdessen "org.a.b.c.XYZPage.class" angebe, bekomme ich eine NullPointerException und der Fensterinhalt bleibt frei:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    java.lang.NullPointerException
        at org.eclipse.jface.preference.PreferenceNode.createPage(PreferenceNode.java:161)
        at org.eclipse.jface.preference.PreferenceDialog.createPage(PreferenceDialog.java:1339)
        at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.createPage(FilteredPreferenceDialog.java:382)
        at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1230)
        at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:679)
        at org.eclipse.jface.preference.PreferenceDialog$10.run(PreferenceDialog.java:708)

    Wenn ich XYZPage in das "normale" Eclipse-Preferences-Fenster (über den Extension Point, da wird ja auch nur der Klassenname übergeben) einbinde, funktioniert es einwandfrei.

    Was könnte das sein? Bin ziemlich ratlos...
     

Ähnliche Themen

  1. Dialog aus Dialog heraus öffnen
    Von sTEk im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 08.12.08, 22:07
  2. Preference Dialog, eclipse rcp
    Von hagbard23 im Forum Java
    Antworten: 0
    Letzter Beitrag: 30.11.07, 16:11
  3. Strings von Dialog A nach Dialog B übertragen
    Von king_of_drums im Forum C/C++
    Antworten: 13
    Letzter Beitrag: 30.08.06, 13:45
  4. Strings von Dialog A nach Dialog B übertragen
    Von king_of_drums im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 15.08.06, 13:47
  5. Antworten: 5
    Letzter Beitrag: 24.05.05, 12:49