00001 #ifndef _GMDI_H_ 00002 #define _GMDI_H_ 00003 00004 class GMdiChild : public GLayout 00005 { 00006 friend class GMdiParent; 00007 00008 class GMdiChildPrivate *d; 00009 00010 public: 00011 GMdiChild(); 00012 ~GMdiChild(); 00013 00014 void OnPaint(GSurface *pDC); 00015 void OnMouseClick(GMouse &m); 00016 void OnMouseMove(GMouse &m); 00017 void Raise(); 00018 void Lower(); 00019 GRect &GetClient(bool InClientSpace = true); 00020 bool Pour(); 00021 bool Attach(GViewI *p); 00022 int OnEvent(GMessage *m); 00023 char *Name(); 00024 bool Name(const char *n); 00025 }; 00026 00027 class GMdiParent : public GLayout 00028 { 00029 class GMdiParentPrivate *d; 00030 00031 GMdiChild *IsChild(GView *v); 00032 00033 public: 00034 GMdiParent(); 00035 ~GMdiParent(); 00036 00037 void OnPaint(GSurface *pDC); 00038 bool Attach(GViewI *p); 00039 bool OnViewMouse(GView *View, GMouse &m); 00040 bool OnViewKey(GView *View, GKey &Key); 00041 GRect NewPos(); 00042 void OnChildrenChanged(GViewI *Wnd, bool Attaching); 00043 }; 00044 00045 #endif