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