00001 #ifndef ABSTRACTAPPLICATION_H 00002 #define ABSTRACTAPPLICATION_H 00003 00004 #include "Types.h" 00005 #include "InitializeInterface.h" 00006 #include "AbstractPropertyContainer.h" 00007 #include "RendergroupGLView.h" 00008 00009 namespace RenderTools { 00010 00018 class AbstractApplication: public AbstractPropertyContainer { 00019 public: 00020 00021 AbstractApplication( void ); 00022 virtual ~AbstractApplication( void ); 00023 00024 static PropertyPtr create( const XMLNodePtr & xml = XMLNodePtr() ); 00025 virtual void createProperties( void ); 00026 virtual const string getTypeName( bool ofComponent = false ) const; 00027 00028 virtual void onInitialize( void ); 00029 virtual int mainloop( void ) = 0; 00030 virtual void quit( void ); 00031 00032 const ViewControllerContainerPtr & getViewControllers( void ) const; 00033 void addViewController( const ViewControllerPtr & ); 00034 void removeViewController( const ViewControllerPtr & ); 00035 00036 protected: 00037 ViewControllerContainerPtr m_viewControllers; 00038 }; 00039 00040 }; 00041 00042 00043 #endif
1.5.8