BsScriptGUIListBox.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsGUITexture.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BE_EXPORT ScriptGUIListBox : public ScriptObject<ScriptGUIListBox>
  8. {
  9. public:
  10. static void initMetaData();
  11. GUIListBox* getInternalValue() const { return mListBox; }
  12. void* getNativeRaw() const { return mListBox; }
  13. private:
  14. static void internal_createInstance(MonoObject* instance, MonoObject* parentLayout, MonoArray* elements, MonoObject* style, MonoArray* guiOptions);
  15. static void internal_destroyInstance(ScriptGUIListBox* nativeInstance);
  16. static void internal_setElements(ScriptGUIListBox* nativeInstance, MonoArray* elements);
  17. static void internal_destroy(ScriptGUIListBox* nativeInstance);
  18. static void internal_disable(ScriptGUIListBox* nativeInstance);
  19. static void internal_enable(ScriptGUIListBox* nativeInstance);
  20. static void initRuntimeData();
  21. static void onSelectionChanged(MonoObject* instance, CM::UINT32 index);
  22. ScriptGUIListBox(GUIListBox* listBox);
  23. GUIListBox* mListBox;
  24. typedef void (__stdcall *OnSelectionChangedThunkDef) (MonoObject*, CM::UINT32, MonoException**);
  25. static OnSelectionChangedThunkDef onSelectionChangedThunk;
  26. };
  27. }