class GWindow

GWindow is the core window object. It represents any sort of window in the system at a simplistic level. All other windows are derived from the base functionality of a GWindow.

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();
	// BeOS API
	GWindow(BView *wnd);
	virtual ~GWindow();

	// BeOS objects
	virtual BWindow *GetBWindow() { return (Parent) ? Parent->GetBWindow() : 0; }
	virtual BView *GetBView() { return Sys_View; }
	// 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);
 
};


Name(...)

	char *Name();
Returns a pointer to the objects name;

	bool Name(char *s);
Sets the objects name. The string is copied and stored internally. The return value is non-zero when the function succeeds.
© 1999 Matthew Allen