Startseite Themenabende Mailingliste Pläne Links GnuPG-Schlüssel |
#!/usr/bin/env python from Tkinter import * winopen = 0 class Window(Toplevel): def __init__(self, master, **kw): global winopen apply(Toplevel.__init__, (self, master), kw) winopen = 1 def __del__(self): global winopen winopen = 0 def newwin(): if not winopen: window = Window(root) Label(window, text = "I'm unique!").pack() root = Tk() Button(root, text="Window", command = newwin).pack() root.mainloop()
Dieses Programm ist leider etwas länger geworden, aber das ist bei GUI-Programmen normal. Das Python-Skript benutzt Tkinter, das Standard-Widget-Set in Python. Es wird eine Klasse Window definiert, die ein ganz normales Toplevel-Fenster ist (von Toplevel abgeleitet) und zusätzlich in Konstruktor und Destruktor darauf achtet, daß die boolesche Variable winopen genau dann auf 1 gesetzt ist, wenn ein derartiges Fenster schon existiert.
Die Funktion newwin() ist ein callback, welches aufgerufen wird, wenn
der Benutzer ein neues Fenster anfordert und dieses Fenster genau dann erzeugt,
wenn noch keines da ist.
Die letzten drei Zeilen erzeugen das Wurzel-Widget (ein Toplevel-Fenster),
in welches ein Button gepackt wird, der zur Fensteranforderung da ist, und
befördern das Programm in eine Endlosschleife, die erst durch einen Abbruch
(Ctrl-C, Fenster schließen, ...) beendet werden kann.
Es werden gleichzeitig die Ansprüche 1 und 7 verletzt, da das Programm
sowohl die angegebene Methode implementiert, als auch zusammen mit einem
normalen PC den beschriebenen Apparat realisiert.
ACHTUNG: Dieses Patent wird auch von der Regierung der Bundesrepublik Deutschland auf ihrer Website http://www.bundesregierung.de/ verletzt, indem der Button "Sitemap" (ganz unten rechts) ein zusätzlichliches Fenster öffnet, welches nur einmal erzeugt werden kann
Das Programm verletzt zwei Ansprüche, die Bundesregierung verletzt das Patent auf Ihren Webseiten. Eingereicht von: Roland Stigge Übersicht Sieger-PatenteStartseite Themenabende Mailingliste Pläne Links GnuPG-Schlüssel |