#pragma once #include #include "Betriebssystem.h" namespace Framework { class AuswahlBox; class AuswahlListe; class BildZ; class FBalken; class Kamera2D; class Fenster; class Knopf; class KontrollKnopf; class LDiag; class M2DVorschau; class Model2D; class Animation2D; class TextFeld; class ObjTabelle; class SLDiag; class UIMLView; class Schrift; class Bildschirm; struct UIInitParam { Schrift *schrift; Bildschirm *bildschirm; void *data; }; struct UIInit { UIInitParam initParam; std::function< AuswahlBox *( UIInitParam &p ) > createAuswahlBox; std::function< AuswahlListe *( UIInitParam &p ) > createAuswahlListe; std::function< BildZ *( UIInitParam &p ) > createBildZ; std::function< FBalken *( UIInitParam &p ) > createFBalken; std::function< Kamera2D *( UIInitParam &p ) > createKamera2D; std::function< Fenster *( UIInitParam &p ) > createFenster; std::function< Knopf *( UIInitParam &p ) > createKnopf; std::function< KontrollKnopf *( UIInitParam &p ) > createKontrollKnopf; std::function< LDiag *( UIInitParam &p ) > createLDiag; std::function< M2DVorschau *( UIInitParam &p ) > createM2DVorschau; std::function< Model2D *( UIInitParam &p ) > createModel2D; std::function< Animation2D *( UIInitParam &p ) > createAnimation2D; std::function< TextFeld *( UIInitParam &p ) > createTextFeld; std::function< ObjTabelle *( UIInitParam &p ) > createObjTabelle; std::function< SLDiag *( UIInitParam &p ) > createSLDiag; std::function< UIMLView *( UIInitParam &p ) > createUIMLView; }; //! gibt eine liste mit default initialisierungsfunktionen zurück //! \param zSchrift Die schrift die verwendet werden soll (ohne erhöhten reference Counter) //! \param zScreen Der Bildschirm der verwendet werden soll (ohne erhöhten reference Counter) DLLEXPORT UIInit defaultUI( Schrift *zSchrift, Bildschirm *zScreen ); }