Anzeige:
Ergebnis 1 bis 9 von 9

Thema: "Schritt-für-Schritt"-Assistent mit SWT

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.01.2005
    Beiträge
    53

    "Schritt-für-Schritt"-Assistent mit SWT

    Hallo,

    mir obliegt es seit letzter Woche, einen plattformunabhängigen Einrichtungsassistenten nach dem Muster der Installshield-Schritt-für-Schritt-Assistenten anzufertigen. Also, dachte ich mir, benutze ich doch SWT.

    Allerdings fehlt mir der Ansatzpunkt dafür. Ich hatte mir überlegt, eine Factory zu basteln, die ein "halbfertiges" Fenster zurückgibt (also sprich die Weiter-/Abbrechen-Buttons, Titel, kurze Beschreibung, usw -- das, was also immer gleich bleibt), da hätte ich dann nur noch das wichtigste reinsetzen müssen (Progressbar, oder Pfadauswahl, was auch immer).

    Meine Annahme lautet: Der Container für Elemente (Button, usw) heißt "Shell". Meine Factory gibt also eine Shell mit schon ein paar Sachen drin zurück.

    Aaaaber In den Tutorials habe ich folgenden Mainloop kennengelernt:
    Code:
    while(!shell.isDisposed()) {
     if(!display.readAndDispatch()) {
      display.sleep();
     }
    }
    display.dispose();
    Sprich also, wenn meine Shell weg ist, was sie nach meinem Ansatz ja zwangsläufig ist, wenn ein Benutzer auf "Weiter" klickt, dann ist auch die Anwendung zu Ende, und das soll ja nicht so sein.

    Also wie regel ich das? Ist mein erstes mal in Sachen GUI...

    Danke im Voraus!
    Gruß,
    Techl

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Wenn du mehrere Shells hättest hätte dies auch die negative Folge dass immer ein neues Fenster erstellt würde - dem fehlt eventuell der Fokus, etc.

    Besser ists eine Shell zu verwenden und alle untenliegenden Widgets einfach in ein Parent-Container-Widget (Composite-Klasse) zu packen und dann je nach dem das durch ein anderes zu ersetzen.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    02.01.2005
    Beiträge
    53
    Hm, und wie bzw. wo bringe ich diese Ereignisse/Abfragen (Wenn der Benutzer auf Weiter geklickt hat, neuer Container...) im Programmtext unter?

  4. #4
    Registrierter Benutzer
    Registriert seit
    07.02.2002
    Beiträge
    41
    Also ich würd die Aktionen als Listener anmelden. Dann kann man die Steuerlogik auslagern.

  5. #5
    Registrierter Benutzer
    Registriert seit
    02.01.2005
    Beiträge
    53
    Dankeschön ihr zwei!

    Ich geh dann mal ans Planen

  6. #6
    Registrierter Benutzer
    Registriert seit
    07.02.2002
    Beiträge
    41
    Soll das ganze ein tool werden, was generell universell einsetzbar ist, oder für den speziallfall neu kompiliert wird?

  7. #7
    Registrierter Benutzer
    Registriert seit
    02.01.2005
    Beiträge
    53
    Das einzig universelle daran sind die Texte, die lade ich aus einer ASCII-Datei. Das Schema bleibt immer gleich, genauso wie die Elemente.

  8. #8
    Registrierter Benutzer
    Registriert seit
    07.02.2002
    Beiträge
    41
    ich würds mit ner Konfiguration über xml machen. Dann kannst du in der xml datei schön einstellen, welcher Text wann wo erscheint und hast ein vernünftiges schema. Vorteil ist, dass es zum lesen von xml ne reihe von fertigen sachen gibt. für ne ascii datei müsste man wieder nen parser schreiben, der einem die config daraus lädt.

  9. #9
    Registrierter Benutzer
    Registriert seit
    02.01.2005
    Beiträge
    53
    Das ist alles schon erledigt Mir gings einzig und allein um das Eventhandling, und das habe ich heute noch recht hübsch gelöst bekommen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •