diff options
author | chai <chaifix@163.com> | 2019-03-29 22:28:40 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-03-29 22:28:40 +0800 |
commit | 157530b8b6e11efc5573d5a0db8987a440197aa1 (patch) | |
tree | f9df79c013885e13dc81e7046c9828037eb29e2e /source/Asura.Editor/controls/binding/_button.cpp | |
parent | e37b1dfd022bda4dfdcba243c0543c62c89db32f (diff) |
*misc
Diffstat (limited to 'source/Asura.Editor/controls/binding/_button.cpp')
-rw-r--r-- | source/Asura.Editor/controls/binding/_button.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/source/Asura.Editor/controls/binding/_button.cpp b/source/Asura.Editor/controls/binding/_button.cpp new file mode 100644 index 0000000..fbae64f --- /dev/null +++ b/source/Asura.Editor/controls/binding/_button.cpp @@ -0,0 +1,60 @@ +#include "../button.h" + +using namespace Luax; + +namespace AsuraEditor +{ + + LUAX_REGISTRY(Button) + { + + // Button.EStatus.xxx + LUAX_REGISTER_ENUM(state, "EStatus", + { "NORMAL", BUTTON_STATUS_NORMAL }, + { "PUSHED", BUTTON_STATUS_PUSHED }, + { "HOVER", BUTTON_STATUS_HOVER }, + { "DISABLED", BUTTON_STATUS_DISABLED }, + { "FOCUSED", BUTTON_STATUS_FOCUSED } + ); + + // Button.EMsg.xxx + LUAX_REGISTER_ENUM(state, "EMessage", + { "CLICK", BUTTON_MSG_CLICK }, + { "HOVER", BUTTON_MSG_HOVER }, + { "FOCUS", BUTTON_MSG_KILLFOCUS } + ); + + } + + LUAX_POSTPROCESS(Button) + { + + } + + // button:Connect(msg, callback) + LUAX_IMPL_METHOD(Button, _Connect) + { + LUAX_STATE(L); + + Button* self = state.GetUserdata<Button>(1); + int msg = state.CheckValue<int>(2); + if (!lua_isfunction(L, 3)) + return state.ErrorType(3, "callback"); + + LuaxMemberRef ref; + self->SetLuaxMemberRef(state, ref, 3); + if (ref) + { + self->mCallbacksRef.push_back(ref); + Slot slot = Slot(state, (*self), ref.refID); + self->Connect(msg, slot); + } + } + + // button:SetImage(image) + LUAX_IMPL_METHOD(Button, _SetImage) + { + + } + +}
\ No newline at end of file |