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