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 }