00001 #ifndef GUI_EVENT_HPP 00002 #define GUI_EVENT_HPP 00003 00004 #include <luapp_var.hpp> 00005 #include <string> 00006 #include <vector> 00007 00008 namespace gui 00009 { 00011 class event 00012 { 00013 public : 00014 00016 event(); 00017 00019 00024 explicit event(const std::string& sName, bool bOncePerFrame = false); 00025 00027 00029 void set_name(const std::string& sName); 00030 00032 00036 void set_once_per_frame(bool bOncePerFrame); 00037 00039 00041 void add(const lua::var& mValue); 00042 00044 00046 const lua::var* get(uint uiIndex) const; 00047 00049 00051 uint get_num_param() const; 00052 00054 00056 const std::string& get_name() const; 00057 00059 00061 bool is_once_per_frame() const; 00062 00063 lua::var& operator [] (uint uiIndex); 00064 00065 const lua::var& operator [] (uint uiIndex) const; 00066 00067 private : 00068 00069 std::string sName_; 00070 bool bOncePerFrame_; 00071 std::vector<lua::var> lArgList_; 00072 }; 00073 } 00074 00075 #endif