aboutsummaryrefslogtreecommitdiff
path: root/src/client/callbackhandeler.cpp
diff options
context:
space:
mode:
authorAlexander Pickering <alex@cogarr.net>2018-07-31 16:42:13 -0400
committerAlexander Pickering <alex@cogarr.net>2018-07-31 16:42:13 -0400
commit1d677927e73e2d66591738777f6a1559527dbab2 (patch)
treea4a0190ac748191dd863c19440c82e8d4f5aa427 /src/client/callbackhandeler.cpp
parent11857adbdce423ca93980c884d3dc94a974f735f (diff)
downloadbrokengine-1d677927e73e2d66591738777f6a1559527dbab2.tar.gz
brokengine-1d677927e73e2d66591738777f6a1559527dbab2.tar.bz2
brokengine-1d677927e73e2d66591738777f6a1559527dbab2.zip
Added an editbox
Added bindings to Irrlicht's EditBox gui element.
Diffstat (limited to 'src/client/callbackhandeler.cpp')
-rw-r--r--src/client/callbackhandeler.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/client/callbackhandeler.cpp b/src/client/callbackhandeler.cpp
index 783656d..87a0acf 100644
--- a/src/client/callbackhandeler.cpp
+++ b/src/client/callbackhandeler.cpp
@@ -21,7 +21,7 @@ std::map<IGUIElement*, int> guielements;
//For basic events
//{guielement}
-void registerguielement(lua_State* L){
+void registerguielement(lua_State* L, gui::EGUI_EVENT_TYPE et, const char* funcname){
int ref = luaL_ref(L,LUA_REGISTRYINDEX);//
lua_rawgeti(L,LUA_REGISTRYINDEX,ref);//{guielement}
lua_getfield(L,-1,"guielement");//{guielement},ud_guielement
@@ -59,7 +59,7 @@ bool GlobalEventReceiver::OnEvent(const SEvent& e){
//printf("Gui event\n");
IGUIElement* caller = e.GUIEvent.Caller;
EGUI_EVENT_TYPE get = e.GUIEvent.EventType;
- //printf("detected gui event: %d\n",get);
+ printf("detected gui event: %d\n",get);
if(guielements.find(caller) == guielements.end())
return false;
int ref = guielements[caller];
@@ -108,8 +108,15 @@ bool GlobalEventReceiver::OnEvent(const SEvent& e){
}
lua_rawgeti(L,LUA_REGISTRYINDEX,ref);//{guielement},func(),{guielement}
lua_call(L,1,0);//{guielement}
+ int n = lua_gettop(L);
+ printf("Found %d arguments on top\n",n);
+ if(n > 1){
+ int ans = lua_toboolean(L,-1);
+ lua_pop(L,n);
+ return ans;
+ }
lua_pop(L,1);//
- return true;
+ return false;
}
break;
case EET_MOUSE_INPUT_EVENT:{
@@ -162,6 +169,7 @@ bool GlobalEventReceiver::OnEvent(const SEvent& e){
break;
case EMIE_COUNT:break;
}
+ return false;
}
break;
case EET_KEY_INPUT_EVENT:{
@@ -179,6 +187,7 @@ bool GlobalEventReceiver::OnEvent(const SEvent& e){
}else{
lua_pop(L,2);
}
+ return false;
break;
}
default:{