| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsScriptEditorPrerequisites.h"
- #include "Wrappers/GUI/BsScriptGUIElement.h"
- namespace bs
- {
- /** @addtogroup ScriptInteropEditor
- * @{
- */
- /** Interop class between C++ & CLR for GUISceneTreeView. */
- class BS_SCR_BED_EXPORT ScriptGUISceneTreeView : public TScriptGUIElement<ScriptGUISceneTreeView>
- {
- public:
- SCRIPT_OBJ(EDITOR_ASSEMBLY, EDITOR_NS, "GUISceneTreeView")
- private:
- ScriptGUISceneTreeView(MonoObject* instance, GUISceneTreeView* treeView);
- ~ScriptGUISceneTreeView();
- /** Triggered when the native scene tree view modifies the scene. */
- void sceneModified();
- /** Triggered when a resource is dragged and dropped over the native scene tree view. */
- void resourceDropped(const HSceneObject& parent, const Vector<Path>& resourcePaths);
- HEvent mOnModifiedConn;
- HEvent mOnResourceDroppedConn;
- /************************************************************************/
- /* CLR HOOKS */
- /************************************************************************/
- static void internal_createInstance(MonoObject* instance, MonoString* style, MonoArray* guiOptions);
- static void internal_update(ScriptGUISceneTreeView* thisPtr);
- static void internal_cutSelection(ScriptGUISceneTreeView* thisPtr);
- static void internal_copySelection(ScriptGUISceneTreeView* thisPtr);
- static void internal_pasteToSelection(ScriptGUISceneTreeView* thisPtr);
- static void internal_duplicateSelection(ScriptGUISceneTreeView* thisPtr);
- static void internal_deleteSelection(ScriptGUISceneTreeView* thisPtr);
- static void internal_renameSelection(ScriptGUISceneTreeView* thisPtr);
- static MonoObject* internal_getState(ScriptGUISceneTreeView* thisPtr);
- static void internal_setState(ScriptGUISceneTreeView* thisPtr, MonoObject* obj);
- typedef void(BS_THUNKCALL *OnModifiedThunkDef) (MonoObject*, MonoException**);
- typedef void(BS_THUNKCALL *OnResourceDroppedThunkDef) (MonoObject*, MonoObject*, MonoArray*, MonoException**);
- static OnModifiedThunkDef onModifiedThunk;
- static OnResourceDroppedThunkDef onResourceDroppedThunk;
- };
- /** @} */
- }
|