#! /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