#! /usr/bin/python import Tkinter import os from Tkconstants import * from tool1 import * from xdatwahl import * class DV_Auswahl_GUI: """ /* Klasse zur Darstellung des Auswahlfensters """ def __init__(self,Beschriftung,Fachkonzept): """ /* Beschriftung String: z.B. Öffnen oder Speichern /* Fachkonzept: Referenz auf ein Objekt, das die /* eigentlichen Systemoperationen wie /* 'change directory' ausführt. """ self.Fachkonzept=Fachkonzept # ----------------- Grafik Anfang ------------------------ self.oWindow=Tkinter.Tk() Fensterbreite=str(450) Fensterhoehe=str(430) Geometrie=Fensterbreite+"x"+Fensterhoehe+"+100+100" self.oWindow.geometry(Geometrie) self.oWindow.title("Dateiauswahl - Dr. Kokavecz") # 4 Komponenten untereinander # Komponente 1 self.f1=EingabeZeile(self.oWindow,"Filter: ",200, self.return1) # Komponente Nr. 2 mit interner Struktur # Hauptrahmen oRahmen=Tkinter.Frame(self.oWindow) oRahmen.pack(expand=1,fill=BOTH,padx=5, pady=5) # Innerer Rahmen 1 (links) oRahmen1=Tkinter.Frame(oRahmen) oRahmen1.pack(expand=1,fill=BOTH,side="left", padx=5, pady=5) self.f2l=Listbox_mit_Schiebern(oRahmen1,"Verzeichnisse",\ self.select_links, self.select_links) # Innerer Rahmen 2 (rechts) oRahmen2=Tkinter.Frame(oRahmen) oRahmen2.pack(expand=1,fill=BOTH,side="left", padx=5, pady=5) self.f2r=Listbox_mit_Schiebern2(oRahmen2,"Dateien", \ self.select_rechts, self.doppelrechts) # Komponente 3 self.f3=EingabeZeile(self.oWindow,"Auswahl: ",200, self.return2) # Komponente 4 self.f4=DreiKnoepfe(self.oWindow,Beschriftung," Filtern ", \ "Abbrechen", self.knopf1, self.knopf2, self.knopf3) # ----------------- Grafik Ende ------------------------------ self.Fachkonzept.anmelden(self) self.aktualisieren() # initial Anzeige Tkinter.mainloop() def knopf1(self): """ /* Methode "Speichern" oder "Öffnen" """ self.Fachkonzept.beende(self.f3.getZeile()) def knopf2(self): """ /* Methode Filtern """ self.Fachkonzept.set_filter(self.f1.getZeile()) def knopf3(self): """ /* Methode Abbrechen """ self.Fachkonzept.beende("") def return1(self,event): self.knopf2() def return2(self,event): self.knopf1() # WEITERE METHODEN für Fallbacks, Ereignisse bzw. Aktionen sind hier weggelassen!
Dr. Bernd Kokavecz