summaryrefslogtreecommitdiff
path: root/Editor/Scripting/EditorGUI
diff options
context:
space:
mode:
Diffstat (limited to 'Editor/Scripting/EditorGUI')
-rw-r--r--Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp10
-rw-r--r--Editor/Scripting/EditorGUI/EditorGUI.bind.cpp13
-rw-r--r--Editor/Scripting/EditorGUI/GUIWindow.bind.cpp17
3 files changed, 22 insertions, 18 deletions
diff --git a/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp b/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp
index 0269b72..6c73116 100644
--- a/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp
+++ b/Editor/Scripting/EditorGUI/ContainerWindow.bind.cpp
@@ -1,6 +1,8 @@
#include "Editor/GUI/EditorWindows.h"
#include "Runtime/Math/Math.h"
+using namespace LuaBind;
+
LUA_BIND_REGISTRY(ContainerWindow)
{
LUA_BIND_REGISTER_METHODS(state,
@@ -13,14 +15,6 @@ LUA_BIND_REGISTRY(ContainerWindow)
LUA_BIND_POSTPROCESS(ContainerWindow)
{
- LUA_BIND_REGISTER_ENUM(state, "EShowMode",
- { "NormalWindow", ShowMode::kShowNormalWindow },
- { "ShowPopupMenu", ShowMode::kShowPopupMenu },
- { "Utility ", ShowMode::kShowUtility },
- { "NoShadow", ShowMode::kShowNoShadow },
- { "MainWindow", ShowMode::kShowMainWindow },
- { "AuxWindow", ShowMode::kShowAuxWindow }
- );
}
LUA_BIND_IMPL_METHOD(ContainerWindow, _SetTitle)
diff --git a/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp b/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp
index bd21f7d..ed26604 100644
--- a/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp
+++ b/Editor/Scripting/EditorGUI/EditorGUI.bind.cpp
@@ -11,6 +11,8 @@
#include "Runtime/GUI/TextMeshGenerator.h"
#include "Runtime/Utilities/AutoInvoke.h"
+using namespace LuaBind;
+
static std::vector<character::Unicode>* s_Codepoints;
InitializeStaticVariables([]() {
@@ -96,8 +98,19 @@ int luaopen_GameLab_Editor_GUI(lua_State* L)
state.PushNamespace("Editor");
state.PushNamespace("GUI");
+ state.PushNamespace("Internal");
state.RegisterNativeClass<ContainerWindow>();
state.RegisterNativeClass<GUIWindow>();
+ state.PopNamespace();
+
+ LUA_BIND_REGISTER_ENUM(state, "EShowMode",
+ { "NormalWindow", ContainerWindow::kShowNormalWindow },
+ { "ShowPopupMenu", ContainerWindow::kShowPopupMenu },
+ { "Utility ", ContainerWindow::kShowUtility },
+ { "NoShadow", ContainerWindow::kShowNoShadow },
+ { "MainWindow", ContainerWindow::kShowMainWindow },
+ { "AuxWindow", ContainerWindow::kShowAuxWindow }
+ );
state.RegisterMethods(guiFuncs);
diff --git a/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp b/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp
index dbb26f4..212cb50 100644
--- a/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp
+++ b/Editor/Scripting/EditorGUI/GUIWindow.bind.cpp
@@ -8,7 +8,6 @@ LUA_BIND_REGISTRY(GUIWindow)
{ "Focus", _Focus },
{ "SetContainerWindow", _SetContainerWindow },
{ "SetPosition", _SetPosition },
- { "SetInstance", _SetInstance},
{ "New", _New }
);
}
@@ -17,11 +16,17 @@ LUA_BIND_POSTPROCESS(GUIWindow)
{
}
+// GUIWindow.New([script])
LUA_BIND_IMPL_METHOD(GUIWindow, _New)
{
LUA_BIND_STATE(L, GUIWindow);
+ LUA_BIND_CHECK(L, "T");
+
GUIWindow* wnd = new GUIWindow(state.GetVM());
- wnd->Init();
+
+ if (LuaHelper::IsType(state, "GameLab.Editor.GUI.GUIWindow", -1))
+ wnd->SetMemberRef(state, wnd->m_Script, -1);
+
wnd->PushUserdata(state);
return 1;
}
@@ -48,14 +53,6 @@ LUA_BIND_IMPL_METHOD(GUIWindow, _SetContainerWindow)
return 0;
}
-// SetInstance(self, editorWindow)
-LUA_BIND_IMPL_METHOD(GUIWindow, _SetInstance)
-{
- LUA_BIND_PREPARE(L, GUIWindow);
- self->SetMemberRef(state,self->m_Script, -1);
- return 0;
-}
-
// GUIWindow.SetPosition(self, {x, y, width, height})
LUA_BIND_IMPL_METHOD(GUIWindow, _SetPosition)
{