Halihallo alle
Meine Erfahrungen mit Perl/Tk sind zwar etwas vorhanden, halten sich jedoch in
beträchtlichen Grenzen...
Als ich in der Dokumentation und im Internet gesucht habe, habe ich nur allgemeine
Beispiele und Codes gefunden, die auf demselben MainWindow und Design operieren. Ich
suche nach einer Lösung, wie ich in einem MainWindow mehrere Ansichten parallel
verwalten kann. Beispiel: Ich habe z.B. eine Adresskartei. Im MainWindow sollen nun
die Kontakte in einer Liste aufgezeigt werden, aber in _demselben_ MainWindow sollen
die Einträge dann auch bearbeitet werden können.
Ich dachte mir, einfach einen MainFrame auf das ganze MainWindow zu setzen, indem jedoch
mehrere, sich vollständig überlagernde Frames eingebettet sind. Ein Frame für
"Adresse bearbeiten", ein Frame für "Adressliste anzeigen", ... Je nach Ansichtsmodus
soll dann der eine oder andere Frame sichtbar werden. Nur weiss ich a) nicht, wie ich
Frames mal sichtbar mal unsichtbar darstellen kann und b) ob dies in Tk so
üblich/möglich ist.
Wie würdet Ihr sowas umsetzen?
Zweite Frage zur Umsetzung:
Bei z.B. Delphi ist jedes Formular eine eigene Klasse. Selbst das Design ist
"objektorientiert". In Perl/Tk ist es meistens so (das entnehme ich den Online
Beispielen), dass ein Script die Frames, Menus, ..., einfach Widgets definiert, einige
Callbacks definiert, die im selben Script definiert sind und dann in den MainLoop geht.
Keine Module... Ich wünschte mir jedoch eine OO-Umsetzung, so habe ich mir folgendes
überlegt:
Jede "Funktionalität" so z.B. Adresse bearbeiten, Adresse anzeigen, ... wird in einer
Klasse abgebildet. Nehmen wir als Beispiel "Adresse bearbeiten":
Diese Klasse enthält eine Methode "design", der das MainWindow-Widget übergeben wird,
es erstellt das ganze "Design" zu "Adresse bearbeiten" und speichert die Widgets im
Modul-Scope (globale Variablen der Klasse), sodass alle Methoden der Klasse (Callbacks)
auf diese Widgets zugreifen und verändern können. Die Backticks sind dann in der Form
sub { $self->callback_name_edited() }; übergeben. Somit haben wir Design und Code einer
Funktionalität vollständig in einem Modul.
Meine Frage: Wie könntet Ihr euch eine OOP-Umsetzung eines Tk-GUI-Programmes vorstellen?
Wie habt ihr es evtl. schon gelöst? - Was haltet Ihr von meinem Vorschlag?
Viele Grüsse
Philipp
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.