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