Ein Fenster für mehrere "Modi"



  • Hallo,

    ich stehe gerade vor folgendem Problem: ich habe ein Fenster (Main window), das je nach Situation/Modus eine andere Aufgabe ausführen soll, diese dann aber für längere Zeit. Ein Beispiel: bei einem Vokabeltrainer sollte es ja möglich sein, eine neue Datei/DB anzulegen, zu bearbeiten etc. Außerdem sollte man damit natürlich auch üben können und zu guter Letzt vielleicht noch Statistiken/Tabellen angezeigt bekommen.
    Das Problem dabei ist jetzt: alles findet im gleichen Fenster statt. Aber abhängig davon in welchem Modus man sich befindet müssen die Controls, die Menüs, das Kontextmenü etc. (teilweise ganz) anders aussehen. Tabs, MDI/SDI, Dialoge etc. kommen dafür ja nicht in Frage, da man das Hauptfenster ja nicht verdecken möchte und hinundher "tabben" will man ja auch nicht, da man immer nur entweder den einen oder den anderen Modus fahren möchte.
    Mein erster Gedanke war jetzt, in einer Methode updateUI einfach das ganze User interface gegen ein anderes auszutauschen (inkl. Menüs usw.) aber das finde ich irgendwie nicht so "sauber". Ist das Problem bekannt? Wie würde man das normalerweise machen?



  • ..das je nach Situation/Modus eine andere Aufgabe ausführen soll, diese dann aber für längere Zeit.

    Ich verstehe noch nicht so ganz was jetzt gegen Tabs spricht.. 😃



  • Es ist sicher abhängig davon mit welcher GUI Bibliothek du arbeitest und ob dir die Lib bestimmte Klassen dafür anbietet - aber grundsätzlich löse ich das immer über einige "Container-Fenster", die übereinander liegen und einfach zwischen sichtbar und unsichtbar hin- und hergeschaltet werden.

    Wenn es sich um nur ganz wenige Elemente handelt, kann man die auch direkt übereinander legen und abwechselnd sichtbar/unsichtbar machen.

    So manche Tab-Implementierung macht das ja auch so, dass das Umschalten auf ein anderes Tab nur ein bereits existierendes Container-Fenster sichtbar gemacht wird, während das alte unsichtbar wird.

    lg, XOR



  • Warum nicht einfach klassisch
    bei Klick auf "Edit -> Manage Word Dictionary" geht ein neues Fenster auf wo man die Bibliothek verwaltet.

    Bei den Statiskien kann man ja auch ein eigenes Fenster machen.
    "Tools -> Show Statistics"

    Man braucht doch nie alles immer auf ein Blick, man verwaltet ja die Bibliothek nicht ständig, und auch die Statistiken will man nur ab und zu sehen.


Anmelden zum Antworten