BsScriptGUIListBox.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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, MonoArray* elements, MonoString* 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_setVisible(ScriptGUIListBox* nativeInstance, bool visible);
  19. static void internal_setParent(ScriptGUIListBox* nativeInstance, MonoObject* parentLayout);
  20. static void initRuntimeData();
  21. static void onSelectionChanged(MonoObject* instance, CM::UINT32 index);
  22. ScriptGUIListBox(GUIListBox* listBox);
  23. void destroy();
  24. GUIListBox* mListBox;
  25. bool mIsDestroyed;
  26. typedef void (__stdcall *OnSelectionChangedThunkDef) (MonoObject*, CM::UINT32, MonoException**);
  27. static OnSelectionChangedThunkDef onSelectionChangedThunk;
  28. };
  29. }