BsScriptContextMenu.h 1013 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_SCR_BE_EXPORT ScriptContextMenu : public ScriptObject < ScriptContextMenu >
  7. {
  8. public:
  9. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "ContextMenu")
  10. GUIContextMenuPtr getInternal() const { return mContextMenu; }
  11. private:
  12. static void internal_CreateInstance(MonoObject* instance);
  13. static void internal_AddItem(ScriptContextMenu* instance, MonoString* path, UINT32 callbackIdx, ShortcutKey shortcut);
  14. static void internal_AddSeparator(ScriptContextMenu* instance, MonoString* path);
  15. static void internal_SetLocalizedName(ScriptContextMenu* instance, MonoString* label, ScriptHString* name);
  16. ScriptContextMenu(MonoObject* instance);
  17. void onContextMenuItemTriggered(UINT32 idx);
  18. GUIContextMenuPtr mContextMenu;
  19. typedef void(__stdcall *OnEntryTriggeredThunkDef) (MonoObject*, UINT32 callbackIdx, MonoException**);
  20. static OnEntryTriggeredThunkDef onEntryTriggered;
  21. };
  22. }