Klasse automatisch bei anderer Klasse "registrieren"

_Grubi

Erfahrenes Mitglied
Hallo,

ich beschäftige mich zur Zeit mit der GUI Entwicklung unter Windows und habe vor mir eine kleine GUI-Library zu erstellen, also einen Wrapper auf der WinAPI. Mir ist bewusst, dass es das schon gibt, aber es geht hier ja um den Lerneffekt :p

Wie ich das grundlegend aufbauen will und kann ist mir bewusst, ich habe nur an einer Stelle etwas Schwierigkeiten:
Vorweg sei gesagt:
  • Die GUI soll sowohl manuell, also aus dem Code heraus, als auch über eine XML Datei o.Ä. aufgebaut werden können.
  • Alle Controls (Buttons, Textboxen, etc) ergeb von einer Basis-Klasse, über die Callbacks für Aktionen registriert werden können.
Das Manuelle ist kein Problem, wie aber löse ich das am Besten für die XML Variante? Da ich grundsätzlich faul bin (^^), suche ich nach einer Möglichkeit, wie ich die Controls ohne Änderungen an der GUI-Klasse, welche mir die GUI anhand des XMLs zusammenbastelt, bekannt macht. Wenn dann durch die XML ein Control gefordert wird, soll dieses erstellt werden.

Um es vielleicht etwas verständlicher zu machen hier noch ein kleines Beispiel:
Ich habe das Grundgerüst der GUI, sprich alle Klassen, welche mir die XML parsen kann und dementsprechend die Controls erstellt.
Nun benötige ich ein neues Control welches ich mir dann in einer neuen Klasse zusammenbastle und zu den anderen Kontrols packe. Beim kompilieren soll dieses Kontrol dann automatisch bei der GUI "registriert" werden, damit ich es in meiner XML verwenden kann ohne, dass ich die XML-Klasse anpassen muss.

Ich hoffe es ist so verständlich :p
Ist so etwas generell möglich oder bleibt mir da nur die einfache Möglichkeit über z.B. eine switch-case-Anweisung?

Danke schonmal für Tipps, Verweise auf andere Seiten oder fertigen Code :D

Gruß
grubi
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück