|
class GWindow : public GObject, public GTarget, public GComponent, public GEvent {
protected:
int WndFlags;
GdcRegion Pos;
GWindow *Parent;
GWindow *Notify;
public:
WindowList Children;
GWindow();
virtual ~GWindow();
// Target
int OnEvent(GMessage *Msg);
// Flags
bool Enabled();
void Enabled(bool e);
bool Visible();
void Visible(bool v);
bool Focus();
void Focus(bool f);
virtual bool IsDropTarget();
virtual void IsDropTarget(bool t);
// Events
virtual void OnMouseClick(VMouse &m);
virtual void OnMouseEnter(VMouse &m);
virtual void OnMouseExit(VMouse &m);
virtual void OnMouseMove(VMouse &m);
virtual void OnKey(VKey &k);
virtual void OnPaint(GdcBasePrimitives *pDC);
virtual void OnFocus(bool f);
virtual void OnPulse();
virtual void OnCreate();
virtual bool OnRequestClose();
virtual void OnPosChange();
virtual int OnNotify(GControl *Ctrl, int Flags);
// Font
virtual GFont GetFont();
virtual void SetFont(GFont hFont);
// Other
bool Name(char *n);
char *Name();
virtual bool Invalidate(GdcRegion *r = NULL, bool Repaint = FALSE);
virtual bool InvalidateFrame(GdcRegion *r = NULL, bool Repaint = FALSE);
virtual GdcRegion &GetPos();
virtual bool SetPos(GdcRegion &p, bool Repaint = FALSE);
virtual bool Capture(bool c);
virtual bool IsOver(VMouse &m);
virtual GWindow *WindowFromPoint(int x, int y);
virtual void SetPulse(int Length = -1);
virtual GWindow *GetParent();
virtual void SetParent(GWindow *p);
virtual bool Attach(GWindow *p);
virtual GControl *IsControl();
virtual GWindow *GetNotify();
virtual void SetNotify(GWindow *n);
virtual int X();
virtual int Y();
|
|
// Win32 API
virtual HWND Handle() { return hWnd; }
operator HWND() { return hWnd; }
// Create a Win32 window
virtual bool Create(char *Class, int Style, int x, int y, int Sx, int Sy, HWND hParent);
// Create a virtual window
bool Create(char *name, GdcRegion &Pos);
|