Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

GfxProxy< T > Class Template Reference

A proxy for creation and other related things for concrete GfxABCs. More...

#include <GfxProxy.h>

Inheritance diagram for GfxProxy< T >:

GfxProxyBase GfxProxyBase NamedProxy NamedProxy NamedProxy NamedProxy List of all members.

Public Member Functions

 GfxProxy (const char *name, GfxMenu *menu=0)
virtual ~GfxProxy ()
T * Create ()
std::list< T * > GetInstances ()
 GfxProxy (const char *name, GfxMenu *menu=0)
virtual ~GfxProxy ()
T * Create ()
std::list< T * > GetInstances ()

Private Member Functions

void Remove (T *t)
void Remove (T *t)

Private Attributes

std::list< T * > fInstances
std::list< T * > fInstances

Detailed Description

template<class T>
class GfxProxy< T >

A proxy for creation and other related things for concrete GfxABCs.

Id
GfxProxy.h,v 1.1 2003/05/21 20:59:54 musser Exp

EVD

Contact: bv@bnl.gov

Created on: Tue Oct 8 11:53:24 2002

Definition at line 51 of file EventDisplay/GfxProxy.h.


Constructor & Destructor Documentation

template<class T>
GfxProxy< T >::GfxProxy const char *  name,
GfxMenu menu = 0
[inline]
 

Definition at line 58 of file EventDisplay/GfxProxy.h.

00058 : GfxProxyBase(name,menu) {}

template<class T>
virtual GfxProxy< T >::~GfxProxy  )  [inline, virtual]
 

Definition at line 59 of file EventDisplay/GfxProxy.h.

00059 {}

template<class T>
GfxProxy< T >::GfxProxy const char *  name,
GfxMenu menu = 0
[inline]
 

Definition at line 59 of file Midad/MultiPage/GfxProxy.h.

00059 : GfxProxyBase(name,menu) {}

template<class T>
virtual GfxProxy< T >::~GfxProxy  )  [inline, virtual]
 

Definition at line 60 of file Midad/MultiPage/GfxProxy.h.

00060 {}


Member Function Documentation

template<class T>
T* GfxProxy< T >::Create  )  [inline, virtual]
 

Implements GfxProxyBase.

Definition at line 62 of file Midad/MultiPage/GfxProxy.h.

References GfxProxy< T >::fInstances, and GfxProxy< T >::Remove().

00062                 { 
00063         T* t = new T();
00064         fInstances.push_back(t);
00065         t->destroyed.connect(SigC::bind(SigC::slot_class(*this,&GfxProxy<T>::Remove),t));
00066         return t;
00067     }

template<class T>
T* GfxProxy< T >::Create  )  [inline, virtual]
 

Implements GfxProxyBase.

Definition at line 61 of file EventDisplay/GfxProxy.h.

References GfxProxy< T >::fInstances, and GfxProxy< T >::Remove().

00061                 { 
00062         T* t = new T();
00063         fInstances.push_back(t);
00064         t->destroyed.connect(SigC::bind(SigC::slot_class(*this,&GfxProxy<T>::Remove),t));
00065         return t;
00066     }

template<class T>
std::list<T*> GfxProxy< T >::GetInstances  )  [inline]
 

Definition at line 68 of file Midad/MultiPage/GfxProxy.h.

00068 { return fInstances; };

template<class T>
std::list<T*> GfxProxy< T >::GetInstances  )  [inline]
 

Definition at line 67 of file EventDisplay/GfxProxy.h.

Referenced by GfxTrackListMenu::HideAll(), GfxStripListMenu::HideAll(), GfxShowerListMenu::HideAll(), GfxMCVecListMenu::HideAll(), and GfxDigitListMenu::HideAll().

00067 { return fInstances; };

template<class T>
void GfxProxy< T >::Remove T *  t  )  [inline, private]
 

Definition at line 55 of file Midad/MultiPage/GfxProxy.h.

References GfxProxy< T >::fInstances.

00055 { fInstances.remove(t); }

template<class T>
void GfxProxy< T >::Remove T *  t  )  [inline, private]
 

Definition at line 54 of file EventDisplay/GfxProxy.h.

References GfxProxy< T >::fInstances.

Referenced by GfxProxy< T >::Create().

00054 { fInstances.remove(t); }


Member Data Documentation

template<class T>
std::list<T*> GfxProxy< T >::fInstances [private]
 

Definition at line 54 of file Midad/MultiPage/GfxProxy.h.

template<class T>
std::list<T*> GfxProxy< T >::fInstances [private]
 

Definition at line 53 of file EventDisplay/GfxProxy.h.

Referenced by GfxProxy< T >::Create(), and GfxProxy< T >::Remove().


The documentation for this class was generated from the following files:
Generated on Thu Nov 1 11:58:23 2007 for loon by  doxygen 1.3.9.1