UIInitialization.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 BarDiagram;
  15. class M2DPreview;
  16. class Model2D;
  17. class Animation2D;
  18. class TextField;
  19. class ObjTable;
  20. class LineDiagram;
  21. class UIMLView;
  22. class Font;
  23. class Screen;
  24. struct UIInitParam
  25. {
  26. Font* schrift;
  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<BarDiagram*(const UIInitParam& p)> createBarDiagram;
  42. std::function<M2DPreview*(const UIInitParam& p)> createM2DPreview;
  43. std::function<Model2D*(const UIInitParam& p)> createModel2D;
  44. std::function<Animation2D*(const UIInitParam& p)> createAnimation2D;
  45. std::function<TextField*(const UIInitParam& p)> createTextField;
  46. std::function<ObjTable*(const UIInitParam& p)> createObjTable;
  47. std::function<LineDiagram*(const UIInitParam& p)> createLineDiagram;
  48. std::function<UIMLView*(const UIInitParam& p)> createUIMLView;
  49. };
  50. //! Returns a list of default initialization functions
  51. //! \param zFont The font to use (without increased reference counter)
  52. //! \param zScreen The screen to use (without increased reference counter)
  53. DLLEXPORT UIInit defaultUI(Font* zFont, Screen* zScreen);
  54. } // namespace Framework