UIInitialization.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include <functional>
  3. #include "OperatingSystem.h"
  4. namespace Framework
  5. {
  6. class SelectionBox;
  7. class SelectionList;
  8. class ImageView;
  9. class ProgressBar;
  10. class Camera2D;
  11. class Window;
  12. class Button;
  13. class CheckBox;
  14. class LineDiagram;
  15. class M2DPreview;
  16. class Model2D;
  17. class Animation2D;
  18. class TextField;
  19. class ObjTable;
  20. class LiveLineDiagram;
  21. class UIMLView;
  22. class Font;
  23. class Screen;
  24. struct UIInitParam
  25. {
  26. Font* font;
  27. Screen* bildschirm;
  28. void* data;
  29. };
  30. struct UIInit
  31. {
  32. UIInitParam initParam;
  33. std::function<SelectionBox*(const UIInitParam& p)> createSelectionBox;
  34. std::function<SelectionList*(const UIInitParam& p)> createSelectionList;
  35. std::function<ImageView*(const UIInitParam& p)> createImageView;
  36. std::function<ProgressBar*(const UIInitParam& p)> createProgressBar;
  37. std::function<Camera2D*(const UIInitParam& p)> createCamera2D;
  38. std::function<Window*(const UIInitParam& p)> createWindow;
  39. std::function<Button*(const UIInitParam& p)> createButton;
  40. std::function<CheckBox*(const UIInitParam& p)> createCheckBox;
  41. std::function<LiveLineDiagram*(const UIInitParam& p)>
  42. createLiveLineDiagram;
  43. std::function<M2DPreview*(const UIInitParam& p)> createM2DPreview;
  44. std::function<Model2D*(const UIInitParam& p)> createModel2D;
  45. std::function<Animation2D*(const UIInitParam& p)> createAnimation2D;
  46. std::function<TextField*(const UIInitParam& p)> createTextField;
  47. std::function<ObjTable*(const UIInitParam& p)> createObjTable;
  48. std::function<LineDiagram*(const UIInitParam& p)> createLineDiagram;
  49. std::function<UIMLView*(const UIInitParam& p)> createUIMLView;
  50. };
  51. //! Returns a list of default initialization functions
  52. //! \param zFont The font to use (without increased reference counter)
  53. //! \param zScreen The screen to use (without increased reference counter)
  54. DLLEXPORT UIInit defaultUI(Font* zFont, Screen* zScreen);
  55. } // namespace Framework