#pragma once #include "../GuiComponent.h" #include "ComponentListComponent.h" #include "../MetaData.h" #include "TextComponent.h" #include "../GameData.h" #include "NinePatchComponent.h" #include "ButtonComponent.h" #include class GuiMetaDataEd : public GuiComponent { public: GuiMetaDataEd(Window* window, MetaDataList* md, const std::vector& mdd, const std::string& header, std::function savedCallback, std::function deleteFunc); virtual ~GuiMetaDataEd(); private: void save(); void fetch(); void populateList(const std::vector& mdd); NinePatchComponent mBox; ComponentListComponent mList; TextComponent mHeader; std::vector mLabels; std::vector mEditors; MetaDataList* mMetaData; std::function mSavedCallback; std::function mDeleteFunc; ButtonComponent mDeleteButton; ButtonComponent mFetchButton; ButtonComponent mSaveButton; };