00001 #if !defined( __ARSFORM_H__ ) 00002 #define __ARSFORM_H__ 00003 00004 namespace Ars 00005 { 00006 00007 class Form : public vector<Window *> { 00008 private: 00009 00010 protected: 00011 00012 int id; 00013 00014 public: 00015 00016 Form( const int aId = -1 ) : id( aId ) {} 00017 00018 ~Form( void ); 00019 00020 const bool HasId( const int *aId ) const { return id == *aId; }; 00021 00022 Window *FindWindowParent( const XRect &r ); 00023 00024 Window *GetArsObject( const int obId ); 00025 00026 void Draw( void ); 00027 void InitDialog( Window *This ); 00028 void ShutdownDialog( Window *This ); 00029 void DoDialog( const int aWait = 10 ); 00030 00031 protected: 00032 friend class MessageServer; 00033 00034 void HandleTillRoot( Message &msg ); 00035 void ProcessMessage( void ); 00036 }; 00037 00038 } 00039 00040 #endif