Startseite | Themenabende | Mailingliste | Pläne | Links | GnuPG-Schlüssel

Vermeidung der doppelten Öffnung eines Programmfensters

EP0463250: Data processing apparatus user interface and data processing apparatus with such an interface (IBM (US)) http://swpat.ffii.org/patents/txt/ep/0463/250/

Ansprüche

Verletzungsprogramm

(Achtung: Bitte nicht ausführen!)
#!/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-Patente
Startseite | Themenabende | Mailingliste | Pläne | Links | GnuPG-Schlüssel
Letzte Änderung: 11. Januar 2003
Benedikt Wildenhain, patente@benedikt-wildenhain.de