inlib  1.2.0
Public Member Functions | Static Public Member Functions | Protected Attributes
inlib::sg::cbks Class Reference
Inheritance diagram for inlib::sg::cbks:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void * cast (const std::string &a_class) const
 cbks ()
virtual ~cbks ()
 cbks (const cbks &a_from)
cbksoperator= (const cbks &a_from)
void add_callback (inlib::sg::cbk *a_cbk)
void copy_cbks (const cbks &a_from, bool a_clear=true)
void clear_cbks ()
const std::vector
< inlib::sg::cbk * > & 
callbacks () const

Static Public Member Functions

static const std::string & s_class ()

Protected Attributes

std::vector< inlib::sg::cbk * > m_cbks

Detailed Description

Definition at line 14 of file cbks.


Constructor & Destructor Documentation

inlib::sg::cbks::cbks ( ) [inline]

Definition at line 26 of file cbks.

{}
virtual inlib::sg::cbks::~cbks ( ) [inline, virtual]

Definition at line 27 of file cbks.

inlib::sg::cbks::cbks ( const cbks a_from) [inline]

Definition at line 29 of file cbks.

{copy_cbks(a_from);}

Member Function Documentation

void inlib::sg::cbks::add_callback ( inlib::sg::cbk a_cbk) [inline]

Definition at line 35 of file cbks.

                                       {
    //we take ownership of a_cbk
    m_cbks.push_back(a_cbk);
  }
const std::vector<inlib::sg::cbk*>& inlib::sg::cbks::callbacks ( ) const [inline]

Definition at line 56 of file cbks.

{return m_cbks;}
virtual void* inlib::sg::cbks::cast ( const std::string &  a_class) const [inline, virtual]

Reimplemented in inlib::sg::ghost, and inlib::sg::base_button.

Definition at line 21 of file cbks.

                                                     {
    if(void* p = inlib::cmp_cast<cbks>(this,a_class)) {return p;}
    return 0;
  }
void inlib::sg::cbks::clear_cbks ( ) [inline]

Definition at line 46 of file cbks.

                    {
    std::vector<inlib::sg::cbk*>::iterator it;
    for(it=m_cbks.begin();it!=m_cbks.end();) {
      inlib::sg::cbk* cbk = *it;
      it = m_cbks.erase(it);        
      delete cbk;
    }    
    m_cbks.clear();
  }
void inlib::sg::cbks::copy_cbks ( const cbks a_from,
bool  a_clear = true 
) [inline]

Definition at line 39 of file cbks.

                                                         {
    if(a_clear) clear_cbks();
    std::vector<inlib::sg::cbk*>::const_iterator it;
    for(it=a_from.m_cbks.begin();it!=a_from.m_cbks.end();++it) {
      m_cbks.push_back((*it)->copy());
    }
  }
cbks& inlib::sg::cbks::operator= ( const cbks a_from) [inline]

Definition at line 30 of file cbks.

                                     {
    copy_cbks(a_from);
    return *this;
  }
static const std::string& inlib::sg::cbks::s_class ( ) [inline, static]

Reimplemented in inlib::sg::ghost, and inlib::sg::base_button.

Definition at line 16 of file cbks.

                                    {
    static const std::string s_v("inlib::sg::cbks");
    return s_v;
  }

Member Data Documentation

std::vector<inlib::sg::cbk*> inlib::sg::cbks::m_cbks [protected]

Definition at line 58 of file cbks.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines