ResourceDialog.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "Dialog.h"
  3. #include <AuswahlBox.h>
  4. #include <Bild.h>
  5. #include <M2DVorschau.h>
  6. #include "../../Karte/EditorKarte.h"
  7. #include <Knopf.h>
  8. enum ResourceDialogType
  9. {
  10. MODEL2D = 1, // es werden Pfade für Model2D Objekte angezeigt
  11. TEXTUR = 2, // es werden Pfade für Bilder angezeigt
  12. ALLOW_RESOURCES = 4, // Es werden Pfade angezeigt, die bereits in einer Resource gespeichert sind
  13. SELECT_OLD_Model2D = 5, // kombiniert MODEL2D und ALLOW_RESOURCES
  14. SELECT_OLD_Textur = 6, // Kombiniert TEXTUR und ALLOW_RESOURCES
  15. ALLOW_NEW_RESOURCES = 8, // Es werden Pfade angezeigt, die noch nicht in einer Resource gespeichert sind
  16. SELECT_NEW_MODEL2D = 9, // kombiniert MODEL2D und ALLOW_NEW_RESOURCES
  17. SELECT_NEW_TEXTUR = 10, // kombiniert TEXTUR und ALLOW_NEW_RESOURCES
  18. SELECT_MODEL2D = 13, // kombiniert MODEL2D, ALLOW_RESOURCES und ALLOW_NEW_RESOURCES
  19. SELECT_TEXTUR = 14, // kombiniert TEXTUR, ALLOW_RESOURCES und ALLOW_NEW_RESOURCES
  20. };
  21. class ResourceDialog : public Dialog
  22. {
  23. private:
  24. AuswahlBox *paths;
  25. M2DVorschau *m2v;
  26. Editor::KarteDaten *daten;
  27. BildZ *bv;
  28. public:
  29. // Konstructor
  30. // tr: Ein Zeiger auf den zu verwendenden TextRenderer
  31. // typ: Beschreibt was der nutzer alles auswählen kann
  32. // daten: Ein Zeiger auf die Karte, welche alle möglichen resouren enthält
  33. // onClose: Eine Funktion die aufgerufen wird, sobald der Dialog geschlossen wird. Es wird der ausgewählte Pfad oder 0 übergeben.
  34. // screenSize: Die größe des Bildschirms zum positionieren des dialogs
  35. ResourceDialog( TextRenderer *tr, UIInit &uiFactory, ResourceDialogType typ, Editor::KarteDaten *daten, std::function< void( const char *path ) > onClose, Punkt screenSize );
  36. // Destruktor
  37. ~ResourceDialog();
  38. };