00001 #include "gui_focusframe.hpp" 00002 00003 #include <luapp_function.hpp> 00004 00005 namespace gui 00006 { 00007 lua_focus_frame::lua_focus_frame(lua_State* pLua) : lua_frame(pLua) 00008 { 00009 pFocusFrameParent_ = dynamic_cast<focus_frame*>(pParent_); 00010 if (pParent_ && !pFocusFrameParent_) 00011 throw exception("lua_focus_frame", "Dynamic cast failed !"); 00012 } 00013 00014 int lua_focus_frame::_clear_focus(lua_State* pLua) 00015 { 00016 if (!check_parent_()) 00017 return 0; 00018 00019 lua::function mFunc("FocusFrame:clear_focus", pLua); 00020 00021 pFocusFrameParent_->set_focus(false); 00022 00023 return mFunc.on_return(); 00024 } 00025 00026 int lua_focus_frame::_is_auto_focus(lua_State* pLua) 00027 { 00028 if (!check_parent_()) 00029 return 0; 00030 00031 lua::function mFunc("FocusFrame:is_auto_focus", pLua); 00032 00033 mFunc.push(pFocusFrameParent_->is_auto_focus_enabled()); 00034 00035 return mFunc.on_return(); 00036 } 00037 00038 int lua_focus_frame::_set_auto_focus(lua_State* pLua) 00039 { 00040 if (!check_parent_()) 00041 return 0; 00042 00043 lua::function mFunc("FocusFrame:set_auto_focus", pLua); 00044 mFunc.add(0, "enabled", lua::TYPE_BOOLEAN); 00045 if (mFunc.check()) 00046 pFocusFrameParent_->enable_auto_focus(mFunc.get(0)->get_bool()); 00047 00048 return mFunc.on_return(); 00049 } 00050 00051 int lua_focus_frame::_set_focus(lua_State* pLua) 00052 { 00053 if (!check_parent_()) 00054 return 0; 00055 00056 lua::function mFunc("FocusFrame:set_focus", pLua); 00057 00058 pFocusFrameParent_->set_focus(true); 00059 00060 return mFunc.on_return(); 00061 } 00062 }