next up previous contents
Next: Canvasitems Up: Ein internes GUIOBJECT erzeugen Previous: Ein internes GUIOBJECT erzeugen

Widgets

Der interne GUIOBJECT-Wert wird für Widgets durch die Funktion

createGUIObject :: GUIOBJECT ->     -- Vaterobjekt
                   ObjectKind ->    -- Objekttyp
                   Methods ->       -- Objekt-spezifische Zugriffsmethoden
                   IO GUIOBJECT
im Modul Core erzuegt werden. Hierbei müssen die folgenden Parameter angegeben werden:

Will man keine der Default-Methoden überschreiben, reicht es, die Funktion

createWidget :: GUIOBJECT -> ObjectKind -> IO GUIOBJECT
aufzurufen. Diese ruft dann createGUIObject auf und setzt dabei die Default-Methoden.

Ein Beispiel für einen einfachen Widget-Konstruktor (Label):
newLabel :: Container par => par -> [Config (Label a)] -> IO (Label a)
newLabel par cnf =
  do
    w <- createWidget (toGUIObject par) LABEL  -- GUIOBJECT erzeugen
    configure (Label w) cnf                    -- Konfigurationen setzen
configure aus dem Modul Computation wendet dabei einfach eine Liste von Konfigurationen auf ein Objekt an und hat die folgende Funktionalität:
configure :: w -> [Config w] -> IO w



Christoph Lueth
Wed May 29 14:12:28 MEST 2002