Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayGUI::cXWindow Class Reference

#include <cXWindow.h>

Inheritance diagram for GrayGUI::cXWindow:
GrayLib::cXObject GrayLib::IInputWnd Gray3D::cDXBase GrayLib::cScriptableObj IXObject Gray::cThreadLockableRef Gray::CObject Gray::cHeapObject GrayLib::IInputMouse IScriptableObj Gray::cRefBase Gray::cThreadLockStub Gray::IHeapObject IUnknown Gray::cLockableBase GrayGUI::cXColorGrid GrayGUI::cXComboBox GrayGUI::cXImage GrayGUI::cXProgressBar GrayGUI::cXScrollBar GrayGUI::cXSpinCounter GrayGUI::cXStaticMultiScroll GrayGUI::cXWindowText

Public Types

enum  P_TYPE_ { P_QTY }
 
enum  M_TYPE_ { M_QTY }
 
- Public Types inherited from GrayLib::cXObject
enum  P_TYPE_ { P_QTY }
 
enum  M_TYPE_ { M_QTY }
 base methods that all objects have. More...
 

Public Member Functions

 cXWindow (X_WNDCLASS_TYPE eXWClass, cXWindow *pParent, DLGID_t dlgid=k_DLGID_Static, UID_t uid=cUID::k_CLEAR)
 
virtual ~cXWindow ()
 
virtual HRESULT DisposeThis ()
 utility More...
 
virtual bool InitXWindow ()
 
 STDMETHOD_ (XOBJTID_t, get_XObjTypeId)() const
 
X_WNDCLASS_TYPE get_XWType () const
 
const ATOMCHAR_tget_XWTypeName () const
 
 STDMETHOD_ (cString, get_Name)() const override
 
virtual cXObjectPtr get_ContainerObject () const override
 
cXDialogPtr get_DialogParent () const
 
STDMETHOD() s_PropGet (const cScriptableProp *pProp, cVariant &vValRet) override
 
STDMETHOD() s_PropPut (const cScriptableProp *pProp, const cVariant &vVal) override
 
STDMETHOD() s_Invoke (const cScriptableMethod *pMethod, const cVariant &vArgs, cVariant &vValRet) override
 
 CSCRIPT_CLASS_DEF1 (XWindow, cXObject)
 
void s_Update (P_TYPE_ eProp)
 
virtual void ShowWindow (SHOWWINDOW_t nCmdShow=SW_SHOW)
 
void ShowWindowBool (bool bShow)
 
bool IsWindowVisible (void) const noexcept
 
bool IsWindowEnabled (void) const noexcept
 
void EnableWindow (bool bClickable)
 
bool IsZoomed (void) const noexcept
 
bool IsIconic (void) const noexcept
 
bool IsWindowOpen () const noexcept
 
bool IsStyle (DWORD dwStyle) const noexcept
 
DWORD get_Style (void) const noexcept
 
virtual void put_Style (DWORD dwStyle)
 
void ModifyStyle (DWORD dwStyleAdd, DWORD dwStyleRem=0)
 
void ModifyStyleBool (DWORD dwStyleMod, bool bFlag)
 
bool IsExStyle (DWORD dwStyle) const noexcept
 
void put_ExStyle (DWORD dwStyle)
 
WINFLAG_MASK get_Flags (void) const noexcept
 
void put_Flags (WINFLAG_MASK uiFlags)
 
bool HasFlags (WINFLAG_MASK uiFlags) const noexcept
 
virtual void ModifyFlags (WINFLAG_MASK uiFlagsAdd, WINFLAG_MASK uiFlagsRem=0)
 
WINDOCKFLAG_MASK get_DockFlags (void) const noexcept
 
void put_DockFlags (WINDOCKFLAG_MASK dock)
 
bool ConstrainDocking (void)
 
DLGID_t get_DlgID (void) const noexcept
 
void put_DlgID (DLGID_t id)
 
DLGID_t get_HelpID () const
 
cDXSpriteElem & get_TextureDC (void)
 
PIXELS_t get_XPos (void) const noexcept
 
PIXELS_t get_YPos (void) const noexcept
 
PIXELS_t get_Width (void) const noexcept
 
PIXELS_t get_Height (void) const noexcept
 
void MoveWindow (PIXELS_t xParent, PIXELS_t yParent, PIXELS_t width, PIXELS_t height)
 
void MoveWindow (const cRectI &rect)
 
const cRectIget_WindowRect (void) const noexcept
 
void CvtWindowToApp (cPoint2i *pPoint) const
 
void CvtWindowToApp (cPoint2i *pPoint, PIXELS_t x, PIXELS_t y) const
 
void CvtAppToWindow (cPoint2i *pPoint) const
 
void CvtAppToWindow (cPoint2i *pPoint, PIXELS_t x, PIXELS_t y) const
 
HRESULT SetViewportWindow (cPoint2i &ptAbsolutePos)
 
void SetScissorWindow (cPoint2i &ptAbsolutePos)
 
bool IsPointIntersect (PIXELS_t x, PIXELS_t y) const
 
bool IsAppIntersect (PIXELS_t x, PIXELS_t y) const
 
bool IsCursorIntersect () const
 
void ScaleAll (FLOAT fScale)
 
void MoveToFront ()
 
bool MoveToFront (cXWindow *pChildControl)
 
virtual HRESULT InitDeviceObjects (cDXDevice *pDXDev)
 
virtual HRESULT DeleteDeviceObjects ()
 
virtual HRESULT OnResetDeviceX ()
 
virtual HRESULT OnLostDeviceX ()
 
virtual void Render ()
 
void RenderChildren ()
 
virtual void SetWidthHeight (PIXELS_t Width, PIXELS_t Height)
 
virtual void SetXYPos (PIXELS_t X, PIXELS_t Y)
 
void SetXYCenter ()
 
void GetSizeParent (SIZE &sizeparent) const
 
virtual bool OnRender (void)
 
virtual bool OnMouseDown (MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
 
virtual bool OnMouseWheel (MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y, short nWheelChange)
 
virtual bool OnMouseMove (MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
 
virtual bool OnMouseUp (MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
 
virtual bool OnMouseDblClk (MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
 
virtual bool OnKeyDown (VK_TYPE vKey)
 
virtual bool OnKeyUp (VK_TYPE vKey)
 
virtual bool OnChar (VK_TYPE vKey)
 
virtual bool OnCommand (DLGID_t id, cXWindow *pCtrl, WORD wNotify)
 
virtual DWORD OnNCHitTest (int x, int y) const
 
virtual bool OnDrop (cXWindow *pDragged, cXWindow *pConsumer, bool bTest)
 
virtual void OnCancelMode ()
 
virtual void OnShowWindow (bool bShow, UINT nShowWindowCode)
 
virtual bool OnKeyFocus (bool bActive)
 
virtual bool OnHelp () const
 
virtual void OnScroll (int iPos, cXWindow *pCtrl)
 
virtual void OnContextMenu (cXMenu *pMenu, cXWindow *pCtrl)
 
virtual void OnSize (UINT uType, PIXELS_t cx, PIXELS_t cy)
 
void FrameMoveTick (TIMESYS_t timeNow)
 
virtual void onTick (void)
 
virtual bool CanTakeMouseInput () const
 
int get_ChildQty () const noexcept
 
cXWindowPtr EnumChild (ITERATE_t index) const
 
bool IsChildTypeOpen (X_WNDCLASS_TYPE xClassType, DLGID_t id=k_DLGID_ANY) const
 
cXWindowPtr FindChildByType (X_WNDCLASS_TYPE XClassType, DLGID_t id=k_DLGID_ANY) const
 
cXWindowPtr GetDlgItem (DLGID_t id, int iDescendChildren=0) const
 
int AddChildWindow (cXWindow *pChild, bool bAddBottom=false, SHOWWINDOW_t nShowCmd=SW_SHOWNORMAL)
 
void GetWidthHeightForChildren (OUT cRectI &rect, PIXELS_t dx, PIXELS_t dy)
 
bool IsMyDescendant (const cXWindow *pChild) const
 
virtual cXWindowPtr GetConsumingControl (int x, int y, cXWindow *pIgnore=nullptr) const
 
bool DetachFromParent ()
 
void EnableWindowRange (DLGID_t idStart, DLGID_t idEnd, bool bEnable)
 
bool SendCommand (WORD wNotify) const
 
cXWindowPtr get_ParentWindow (void) const noexcept
 
virtual bool LoadTextureFromFile (const FILECHAR_t *File, TEXTURELOAD_t uLoadFlags=TEXTURELOAD_NOP)
 
void LoadTextureBlank ()
 
bool LoadTextureStyleElem (XSTYLE_ELEM_TYPE eStyleElem, TEXTURELOAD_t uLoadFlags=TEXTURELOAD_NOP)
 
bool LoadTextureIcon (SPRITEID_t iIconIndex)
 
COLOR_ELEM_t get_BackAlpha () const noexcept
 
virtual void put_BackAlpha (COLOR_ELEM_t bAlpha)
 
D3DCOLOR get_BackColor () const
 
void put_BackColor (D3DCOLOR color)
 
D3DCOLOR get_NormalColor () const
 
void put_NormalColor (D3DCOLOR color)
 
void put_ToolTip (const GChar_t *pstrToolTip)
 
virtual cString GetToolTip (cXWindow *pCtrl, int x, int y) const
 
virtual void put_Text (const GChar_t *pszText)
 
virtual cString get_Text () const
 
virtual void put_FontPtr (const cFontBase *pFont)
 
bool SetKeyFocus ()
 
void put_TickTimer (TIMESYSD_t dwTimeInc)
 
- Public Member Functions inherited from GrayLib::cXObject
virtual cScriptableInterfaceDefPtr _stdcall get_ScriptInterfaceDef () const
 
 cXObject (UID_t nUID=cUID::k_CLEAR, cXObjDef *pBaseDef=nullptr)
 
virtual ~cXObject ()
 
virtual bool isValidCheck () const noexcept override
 
 STDMETHOD_ (XOBJTID_t, get_XObjTypeId)() const
 
const ATOMCHAR_tget_XObjTypeName () const
 
virtual int get_BaseRefCount () const
 
bool isValidUID () const noexcept
 
UID_t get_UIDValue () const noexcept
 
UID_t get_HashCode () const noexcept
 
 STDMETHOD_ (HASHCODE_t, get_HashCodeX)() const noexcept override
 
void put_UIDValuePrivate (UID_t dwIndex)
 
 STDMETHOD_ (void, put_UIDValue)(UID_t dwIndex)
 
 STDMETHOD_ (cString, get_Name)() const override
 
STDMETHOD() put_Name (cString sName)
 
 STDMETHOD_ (cString, get_NameDeco)() const
 
 STDMETHOD_ (cStringA, get_SymName)() const override
 
STDMETHOD() put_SymName (cAtomRef aSymName, bool bOverwrite=false)
 
HRESULT put_SymName2 (cAtomRef aSymName)
 
cXObjDefget_BaseDef () const
 
virtual bool put_BaseDef (cXObjDef *pDef)
 
 STDMETHOD_ (cAtomRef, get_BaseSymNameA)() const
 shortcut for symbolic name for get_BaseDef() More...
 
virtual cVariant get_ContainerVar () const
 
STDMETHOD() put_ContainerVar (const cVariant &vVal)
 
bool isMyContainer (const cXObject *pObjParent) const
 
void InitObjState ()
 
XObjState_TYPE get_ObjState () const noexcept
 
bool put_ObjState (XObjState_TYPE eObjState)
 
bool isObjStateLoading () const noexcept
 
bool isObjStateLoading1 () const noexcept
 
bool isObjStateLoaded () const noexcept
 
bool isObjStateModified () const noexcept
 
bool isObjStateDisposed () const noexcept
 
bool isObjStateBad () const noexcept
 
STDMETHOD() SetObjStateLoaded ()
 extra cleanup at the end of the load. More...
 
void SetObjStateBad ()
 
void SetObjStateModified ()
 
void ClearObjStateModified ()
 
const cTimeIntget_TimeSaved () const noexcept
 
void put_TimeSaved (cTimeInt timeSaved)
 
void UpdateTimeSaved ()
 
virtual cVarTuplePtr FindTagA (cAtomRef aTagName) const
 extra Properties/Tags More...
 
cVarTuplePtr FindTag (const ATOMCHAR_t *pszTagName) const
 
void s_WritePropsTags (IScriptableSetter &Update)
 
STDMETHOD() s_PropPut (const cScriptableProp *pProp, const cVariant &vVal) override
 
STDMETHOD() s_PropGet (const cScriptableProp *pProp, OUT cVariant &vValRet) override
 
STDMETHOD() s_Invoke (const cScriptableMethod *pMethod, const cVariant &vArgs, OUT cVariant &vValRet) override
 
STDMETHOD() s_GetByName (const ATOMCHAR_t *pszPropName, OUT cVariant &rvValRet) override
 
STDMETHOD() s_TagPut (const ATOMCHAR_t *pszTagName, const cVariant &vValSet)
 
STDMETHOD() s_TagGet (const ATOMCHAR_t *pszTagName, OUT cVariant &vValRet)
 
STDMETHOD() s_LoadProps (IScriptableEnumerator &rProps)
 
STDMETHOD() s_EventSinkAdd (cXObjDef *pXObjDef, bool bRemove=false)
 
cStringA s_PropGetDumpStr (const cScriptableProp *pProp, XOBJ_DUMP_MASK_t uFlags=0)
 Enumerate methods and props. reflection/introspection. More...
 
HRESULT s_DumpKeys (cStreamOutput &rout, XOBJ_DUMP_MASK_t uFlags, const cScriptableProp *const *ppProps, ITERATE_t iQty)
 
HRESULT s_DumpHelp (cStreamOutput &rout, const cVariant &vArgs)
 
virtual XOBJ_WEIRD_t IsWeird () const
 
virtual XOBJ_WEIRD_t FixWeird ()
 
virtual size_t GetHeapStats (OUT ITERATE_t &iAllocCount) const
 allocs for all children. does NOT include sizeof(*this) More...
 
 IUNKNOWN_DISAMBIG_R (cThreadLockableRef)
 
STDMETHOD() QueryInterface (const IID &riid, void **ppvObject) override
 
- Public Member Functions inherited from GrayLib::cScriptableObj
virtual ~cScriptableObj ()
 
 STDMETHOD_ (cScriptableInterfaceDefPtr, get_ScriptInterfaceDef)() const
 
STDMETHOD() s_PropGet (const cScriptableProp *pProp, OUT cVariant &vValRet) override
 
STDMETHOD() s_PropPut (const cScriptableProp *pProp, const cVariant &vVal) override
 
STDMETHOD() s_Invoke (const cScriptableMethod *pMethod, const cVariant &vArgs, OUT cVariant &vValRet) override
 
const cScriptablePropFindPropStr (const ATOMCHAR_t *pszPropName) const
 
const cScriptableMethodFindMethodStr (const ATOMCHAR_t *pszPropName) const
 
HRESULT s_InvokeKey (const ATOMCHAR_t *pszMethodKey, const cVariant &vArgs, OUT cVariant &vValRet)
 
 STDMETHOD_ (cVariant, s_Exec)(const ATOMCHAR_t *pszMethodKey
 
STDMETHOD() s_GetEnum (ITERATE_t i, OUT cStringA &rsPropName, OUT cVariant &rvValRet) override
 
STDMETHOD() s_GetByName (const ATOMCHAR_t *pszPropName, OUT cVariant &rvValRet) override
 
STDMETHOD() s_Put (const ATOMCHAR_t *pszPropName, const cVariant &vValSet) override
 
void s_LoadPropsCommandLine (cAppArgs &args)
 
HRESULT s_LoadPropsBase (IScriptableEnumerator &rProps)
 
HRESULT s_LoadPropVar (const ATOMCHAR_t *pszPropName, const cVariant &vVal)
 
HRESULT s_WritePropNULL (IScriptableSetter &s, const cScriptableProp *pProp)
 
HRESULT s_WriteProp (IScriptableSetter &s, const cScriptableProp *pProp)
 
HRESULT s_WritePropsClass (IScriptableSetter &s, const cScriptableInterfaceDef *pClass)
 
HRESULT s_WritePropsArray (IScriptableSetter &s, const cScriptableProp *pProps, IScriptableObj *pDefaultSkip=nullptr)
 
STDMETHOD() s_WriteProps (IScriptableSetter &s)
 
 STDMETHOD_ (cVariant, s_Get)(const ATOMCHAR_t *pszPropName)
 
cVariant s_Get (const cScriptableProp &rProp)
 
 STDMETHOD_ (cString, s_GetStr)(const ATOMCHAR_t *pszPropName)
 
 STDMETHOD_ (float, s_GetFloat)(const ATOMCHAR_t *pszPropName)
 
STDMETHOD() GetTypeInfoCount (UINT *pctinfo)
 
- Public Member Functions inherited from Gray::cThreadLockableRef
 cThreadLockableRef (int iStaticRefCount=0) noexcept
 
virtual ~cThreadLockableRef ()
 
virtual void onThreadLockFail (TIMESYSD_t dwWaitMS)
 
- Public Member Functions inherited from Gray::cRefBase
 cRefBase (int iRefCount=0) noexcept
 
virtual ~cRefBase ()
 
int get_RefCount () const noexcept
 
HASHCODE_t get_HashCode () const noexcept
 
 STDMETHOD_ (HASHCODE_t, get_HashCodeX)() const noexcept
 
virtual void onFinalRelease ()
 
bool isValidObj () const noexcept
 
 STDMETHOD_ (ULONG, AddRef)(void) override
 
 STDMETHOD_ (ULONG, Release)(void) override
 
STDMETHOD() QueryInterface (const IID &riid, void __RPC_FAR *__RPC_FAR *ppvObject) override
 
void IncRefCount ()
 
void DecRefCount ()
 
bool isStaticConstruct () const noexcept
 
void StaticConstruct ()
 
void StaticDestruct ()
 
bool isDestructing () noexcept
 
void SetDestructing ()
 
- Public Member Functions inherited from Gray::cThreadLockStub
THREADID_t get_ThreadLockOwner () const
 
- Public Member Functions inherited from Gray::CObject
virtual ~CObject ()
 
virtual void AssertValid () const
 < memory allocation and structure definitions are valid. More...
 
virtual void Serialize (cArchive &a)
 
- Public Member Functions inherited from Gray::cHeapObject
 cHeapObject ()
 
virtual ~cHeapObject ()
 
bool IsValidInsideN (INT_PTR index) const
 
bool IsValidInsidePtr (void const *pTest) const
 
virtual size_t GetHeapStatsThis (OUT ITERATE_t &iAllocCount) const
 
- Public Member Functions inherited from GrayLib::IInputWnd
virtual bool OnKeyDown (VK_TYPE nVKey, int lParam)
 
virtual bool OnKeyUp (VK_TYPE nVKey, int lParam)
 
virtual bool OnKeyChar (wchar_t nAscii, int lParam)
 
virtual long OnCommand (int wParam, int lParam)
 
- Public Member Functions inherited from GrayLib::IInputMouse
virtual bool OnMouseDblClick (MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
 
virtual void OnMouseExit ()
 
- Public Member Functions inherited from Gray3D::cDXBase
 cDXBase (cDXDevice *pDXDev=nullptr) noexcept
 
virtual ~cDXBase ()
 
ID3DDeviceget_D3DDev () const noexcept
 
bool isInitDevice () const noexcept
 
bool isLostDevice () const noexcept
 
 UNITTEST_FRIEND (cDXBase)
 

Static Public Member Functions

static const ATOMCHAR_tGetXWTypeName (X_WNDCLASS_TYPE eXWClass)
 
- Static Public Member Functions inherited from GrayLib::cScriptableObj
static HRESULT GRAYCALL CopyAllProps (IScriptableSetter *pObjDest, IScriptableEnumerator &rProps, int iStart=0)
 

Public Attributes

const X_WNDCLASS_TYPE m_eXWClass
 
cColorDX m_NormalColor
 foreground color. More...
 
- Public Attributes inherited from GrayLib::cXObject
cVarMap m_TagMap
 attach extra tags here. (e.g. properties that don't apply to all instances. ASSUME NO OVERLAP with defined props.) More...
 
- Public Attributes inherited from GrayLib::cScriptableObj
const cVariantvArgs = cVariant::k_VarNULL)
 
- Public Attributes inherited from Gray3D::cDXBase
cDXDevicem_pDXDev
 What device is this attached to (or should be)? InitDeviceObjects() was called and DeleteDeviceObjects() was not. More...
 
cIUnkPtr< ID3DDevicem_pD3DDev
 

Static Public Attributes

static cScriptableProp sm_Props [P_QTY+1]
 
static cScriptableMethod sm_Methods [M_QTY+1]
 
static const ATOMCHAR_tk_XWindowClassNames [X_WNDCLASS_QTY+1]
 
- Static Public Attributes inherited from GrayLib::cXObject
static cScriptableInterfaceDef sm_ScriptInterfaceDef
 
static cScriptableProp sm_Props [P_QTY+1]
 
static cScriptableMethod sm_Methods [M_QTY+1]
 
static ITERATE_t sm_iLoadingCount = 0
 are we loading ? LoadXObject() reentrant ? More...
 

Protected Attributes

cXWindowPtr m_pParentWnd
 Set when someone calls AddChildWindow(pMe) for me on my parent. More...
 
cRectI m_WindowRect
 Current coords relative to my m_pParentWnd. More...
 
cDXSpriteElem m_TexElem
 Background texture if we are using one. defines back color also. More...
 
cArrayRef< cXWindowm_aChildWindows
 z ordered array of children. [0]=draw on top. [qty]=draw on bottom More...
 
- Protected Attributes inherited from GrayLib::cXObject
 CHEAPOBJECT_IMPL
 
cRefPtr< cXObjDefm_pBaseDef
 This XObject is based on a template of other XObject/XObjDef. overloads it's props via m_TagMap. More...
 

Friends

class cXDesktopMgr
 
class cXDialog
 

Additional Inherited Members

- Protected Member Functions inherited from Gray::cLockableBase
 cLockableBase () noexcept
 
 ~cLockableBase ()
 
LONG get_LockCount () const
 
bool isLocked () const
 
void IncLockCount ()
 
LONG DecLockCount ()
 
void Lock ()
 
LONG Unlock ()
 
- Protected Member Functions inherited from Gray::cHeapObject
const void * get_HeapPtr () const noexcept override
 Get the top level (outermost, freeable) class pointer. I can delete get_HeapPtr(). More...
 

Detailed Description

base class for all GUI windows. Similar to MFC CWnd

Member Enumeration Documentation

◆ M_TYPE_

Enumerator
M_QTY 

◆ P_TYPE_

Enumerator
P_QTY 

Constructor & Destructor Documentation

◆ cXWindow()

GrayGUI::cXWindow::cXWindow ( X_WNDCLASS_TYPE  eXWClass,
cXWindow pParent,
DLGID_t  dlgid = k_DLGID_Static,
UID_t  uid = cUID::k_CLEAR 
)

◆ ~cXWindow()

GrayGUI::cXWindow::~cXWindow ( )
virtual

Member Function Documentation

◆ AddChildWindow()

int GrayGUI::cXWindow::AddChildWindow ( cXWindow pChild,
bool  bAddBottom = false,
SHOWWINDOW_t  nShowCmd = SW_SHOWNORMAL 
)

◆ CanTakeMouseInput()

bool GrayGUI::cXWindow::CanTakeMouseInput ( void  ) const
virtual

Reimplemented in GrayGUI::cXDialog.

◆ ConstrainDocking()

bool GrayGUI::cXWindow::ConstrainDocking ( void  )
Returns
true = cahnged.

◆ CSCRIPT_CLASS_DEF1()

GrayGUI::cXWindow::CSCRIPT_CLASS_DEF1 ( XWindow  ,
cXObject   
)

◆ CvtAppToWindow() [1/2]

void GrayGUI::cXWindow::CvtAppToWindow ( cPoint2i pPoint) const

◆ CvtAppToWindow() [2/2]

void GrayGUI::cXWindow::CvtAppToWindow ( cPoint2i pPoint,
PIXELS_t  x,
PIXELS_t  y 
) const

◆ CvtWindowToApp() [1/2]

void GrayGUI::cXWindow::CvtWindowToApp ( cPoint2i pPoint) const

traverse up my parents to calculate my app client units position.

Returns
App units = 0,0 = the upper left corner of the App window client area.

◆ CvtWindowToApp() [2/2]

void GrayGUI::cXWindow::CvtWindowToApp ( cPoint2i pPoint,
PIXELS_t  x,
PIXELS_t  y 
) const

◆ DeleteDeviceObjects()

HRESULT GrayGUI::cXWindow::DeleteDeviceObjects ( )
virtual

Reimplemented from Gray3D::cDXBase.

Reimplemented in GrayGUI::cXWindowText.

◆ DetachFromParent()

bool GrayGUI::cXWindow::DetachFromParent ( )

detach from my parent window

◆ DisposeThis()

HRESULT GrayGUI::cXWindow::DisposeThis ( void  )
virtual

utility

detach my children etc.

Attempt to force it's removal from the world.

Destroy this object even though there may be references to it. indicate to anyone who looks that this is a deleted object ? Pre-destructor cleanup things can be done since virtuals don't work in destructors.

Note
since this is reference counted it is actually deleted in onFinalRelease()
This is similar to the .NET Dispose() function DEBUG_CHECK( get_ObjState() == XObjState_Disposing );

Reimplemented from GrayLib::cXObject.

Reimplemented in GrayGUI::cXStaticMultiScroll, GrayGUI::cXToolTip, GrayGUI::cXMenu, GrayGUI::cXDialog, GrayGUI::cXDTBase, GrayGUI::cXTableBox, GrayGUI::cXSpinCounter, GrayGUI::cXListBox, and GrayGUI::cXComboBox.

◆ EnableWindow()

void GrayGUI::cXWindow::EnableWindow ( bool  bClickable)
inline

◆ EnableWindowRange()

void GrayGUI::cXWindow::EnableWindowRange ( DLGID_t  idStart,
DLGID_t  idEnd,
bool  bEnable 
)

◆ EnumChild()

cXWindowPtr GrayGUI::cXWindow::EnumChild ( ITERATE_t  index) const

◆ FindChildByType()

cXWindowPtr GrayGUI::cXWindow::FindChildByType ( X_WNDCLASS_TYPE  XClassType,
DLGID_t  id = k_DLGID_ANY 
) const

◆ FrameMoveTick()

void GrayGUI::cXWindow::FrameMoveTick ( TIMESYS_t  timeNow)

◆ get_BackAlpha()

COLOR_ELEM_t GrayGUI::cXWindow::get_BackAlpha ( ) const
inlinenoexcept

0xff = fully opaque

◆ get_BackColor()

D3DCOLOR GrayGUI::cXWindow::get_BackColor ( ) const
inline

◆ get_ChildQty()

int GrayGUI::cXWindow::get_ChildQty ( ) const
inlinenoexcept

◆ get_ContainerObject()

virtual cXObjectPtr GrayGUI::cXWindow::get_ContainerObject ( ) const
inlineoverridevirtual

Reimplemented from GrayLib::cXObject.

◆ get_DialogParent()

cXDialogPtr GrayGUI::cXWindow::get_DialogParent ( ) const

Walk up the parent tree to get to the top dialog. (if there is one)

◆ get_DlgID()

DLGID_t GrayGUI::cXWindow::get_DlgID ( void  ) const
inlinenoexcept

◆ get_DockFlags()

WINDOCKFLAG_MASK GrayGUI::cXWindow::get_DockFlags ( void  ) const
inlinenoexcept

◆ get_Flags()

WINFLAG_MASK GrayGUI::cXWindow::get_Flags ( void  ) const
inlinenoexcept

◆ get_Height()

PIXELS_t GrayGUI::cXWindow::get_Height ( void  ) const
inlinenoexcept

◆ get_HelpID()

DLGID_t GrayGUI::cXWindow::get_HelpID ( ) const

◆ get_NormalColor()

D3DCOLOR GrayGUI::cXWindow::get_NormalColor ( ) const
inline

◆ get_ParentWindow()

cXWindowPtr GrayGUI::cXWindow::get_ParentWindow ( void  ) const
inlinenoexcept

Equiv to _WIN32 GetParent()

◆ get_Style()

DWORD GrayGUI::cXWindow::get_Style ( void  ) const
inlinenoexcept

ex. WS_VISIBLE

◆ get_Text()

virtual cString GrayGUI::cXWindow::get_Text ( void  ) const
inlinevirtual

◆ get_TextureDC()

cDXSpriteElem& GrayGUI::cXWindow::get_TextureDC ( void  )
inline

◆ get_Width()

PIXELS_t GrayGUI::cXWindow::get_Width ( void  ) const
inlinenoexcept

◆ get_WindowRect()

const cRectI& GrayGUI::cXWindow::get_WindowRect ( void  ) const
inlinenoexcept

◆ get_XPos()

PIXELS_t GrayGUI::cXWindow::get_XPos ( void  ) const
inlinenoexcept

◆ get_XWType()

X_WNDCLASS_TYPE GrayGUI::cXWindow::get_XWType ( ) const
inline

◆ get_XWTypeName()

const ATOMCHAR_t* GrayGUI::cXWindow::get_XWTypeName ( ) const
inline

◆ get_YPos()

PIXELS_t GrayGUI::cXWindow::get_YPos ( void  ) const
inlinenoexcept

◆ GetConsumingControl()

cXWindowPtr GrayGUI::cXWindow::GetConsumingControl ( int  x,
int  y,
cXWindow pIgnore = nullptr 
) const
virtual

◆ GetDlgItem()

cXWindowPtr GrayGUI::cXWindow::GetDlgItem ( DLGID_t  id,
int  iDescendChildren = 0 
) const

◆ GetSizeParent()

void GrayGUI::cXWindow::GetSizeParent ( SIZE &  sizeparent) const

◆ GetToolTip()

cString GrayGUI::cXWindow::GetToolTip ( cXWindow pCtrl,
int  x,
int  y 
) const
virtual

overload this to check to dynamic tool tip text.

  • x,y = app coords.

Reimplemented in GrayGUI::cXDialog, GrayGUI::cXSpinCounter, and GrayGUI::cXScrollBar.

◆ GetWidthHeightForChildren()

void GrayGUI::cXWindow::GetWidthHeightForChildren ( OUT cRectI rect,
PIXELS_t  dx,
PIXELS_t  dy 
)

◆ GetXWTypeName()

const ATOMCHAR_t * GrayGUI::cXWindow::GetXWTypeName ( X_WNDCLASS_TYPE  eXWClass)
static

Use the cScriptableInterfaceDef stuff ?

◆ HasFlags()

bool GrayGUI::cXWindow::HasFlags ( WINFLAG_MASK  uiFlags) const
inlinenoexcept

◆ InitDeviceObjects()

HRESULT GrayGUI::cXWindow::InitDeviceObjects ( cDXDevice pDXDev)
virtual

Reimplemented from Gray3D::cDXBase.

Reimplemented in GrayGUI::cXWindowText.

◆ InitXWindow()

◆ IsAppIntersect()

bool GrayGUI::cXWindow::IsAppIntersect ( PIXELS_t  x,
PIXELS_t  y 
) const

◆ IsChildTypeOpen()

bool GrayGUI::cXWindow::IsChildTypeOpen ( X_WNDCLASS_TYPE  xClassType,
DLGID_t  id = k_DLGID_ANY 
) const

◆ IsCursorIntersect()

bool GrayGUI::cXWindow::IsCursorIntersect ( ) const

◆ IsExStyle()

bool GrayGUI::cXWindow::IsExStyle ( DWORD  dwStyle) const
inlinenoexcept

ex. WS_EX_RIGHT

◆ IsIconic()

bool GrayGUI::cXWindow::IsIconic ( void  ) const
inlinenoexcept

◆ IsMyDescendant()

bool GrayGUI::cXWindow::IsMyDescendant ( const cXWindow pChild) const

◆ IsPointIntersect()

bool GrayGUI::cXWindow::IsPointIntersect ( PIXELS_t  x,
PIXELS_t  y 
) const

◆ IsStyle()

bool GrayGUI::cXWindow::IsStyle ( DWORD  dwStyle) const
inlinenoexcept

ex. WS_VISIBLE

◆ IsWindowEnabled()

bool GrayGUI::cXWindow::IsWindowEnabled ( void  ) const
inlinenoexcept

◆ IsWindowOpen()

bool GrayGUI::cXWindow::IsWindowOpen ( ) const
inlinenoexcept

◆ IsWindowVisible()

bool GrayGUI::cXWindow::IsWindowVisible ( void  ) const
inlinenoexcept

◆ IsZoomed()

bool GrayGUI::cXWindow::IsZoomed ( void  ) const
inlinenoexcept

◆ LoadTextureBlank()

void GrayGUI::cXWindow::LoadTextureBlank ( )

◆ LoadTextureFromFile()

bool GrayGUI::cXWindow::LoadTextureFromFile ( const FILECHAR_t File,
TEXTURELOAD_t  uLoadFlags = TEXTURELOAD_NOP 
)
virtual

Load the background texture for the window from a file.

Reimplemented in GrayGUI::cXDialog.

◆ LoadTextureIcon()

bool GrayGUI::cXWindow::LoadTextureIcon ( SPRITEID_t  iIconIndex)

◆ LoadTextureStyleElem()

bool GrayGUI::cXWindow::LoadTextureStyleElem ( XSTYLE_ELEM_TYPE  eStyleElem,
TEXTURELOAD_t  uLoadFlags = TEXTURELOAD_NOP 
)

◆ ModifyFlags()

virtual void GrayGUI::cXWindow::ModifyFlags ( WINFLAG_MASK  uiFlagsAdd,
WINFLAG_MASK  uiFlagsRem = 0 
)
inlinevirtual

Reimplemented in GrayGUI::cXDialog.

◆ ModifyStyle()

void GrayGUI::cXWindow::ModifyStyle ( DWORD  dwStyleAdd,
DWORD  dwStyleRem = 0 
)
inline

ex. WS_VISIBLE

◆ ModifyStyleBool()

void GrayGUI::cXWindow::ModifyStyleBool ( DWORD  dwStyleMod,
bool  bFlag 
)
inline

ex. WS_VISIBLE

◆ MoveToFront() [1/2]

void GrayGUI::cXWindow::MoveToFront ( )

◆ MoveToFront() [2/2]

bool GrayGUI::cXWindow::MoveToFront ( cXWindow pChildControl)

◆ MoveWindow() [1/2]

void GrayGUI::cXWindow::MoveWindow ( const cRectI rect)

◆ MoveWindow() [2/2]

void GrayGUI::cXWindow::MoveWindow ( PIXELS_t  xParent,
PIXELS_t  yParent,
PIXELS_t  width,
PIXELS_t  height 
)
  • x, y = in my parents coords.

◆ OnCancelMode()

virtual void GrayGUI::cXWindow::OnCancelMode ( )
inlinevirtual

◆ OnChar()

bool GrayGUI::cXWindow::OnChar ( VK_TYPE  vKey)
virtual

Reimplemented in GrayGUI::cXListBox, and GrayGUI::cXEditText.

◆ OnCommand()

◆ OnContextMenu()

void GrayGUI::cXWindow::OnContextMenu ( cXMenu pMenu,
cXWindow pCtrl 
)
virtual

◆ OnDrop()

bool GrayGUI::cXWindow::OnDrop ( cXWindow pDragged,
cXWindow pConsumer,
bool  bTest 
)
virtual

Reimplemented in GrayGUI::cXDialog.

◆ OnHelp()

bool GrayGUI::cXWindow::OnHelp ( ) const
virtual

◆ OnKeyDown()

bool GrayGUI::cXWindow::OnKeyDown ( VK_TYPE  vKey)
virtual

Reimplemented in GrayGUI::cXScrollBar, and GrayGUI::cXEditText.

◆ OnKeyFocus()

◆ OnKeyUp()

bool GrayGUI::cXWindow::OnKeyUp ( VK_TYPE  vKey)
virtual

Reimplemented in GrayGUI::cXEditText.

◆ OnLostDeviceX()

HRESULT GrayGUI::cXWindow::OnLostDeviceX ( void  )
virtual

Reimplemented from Gray3D::cDXBase.

Reimplemented in GrayGUI::cXWindowText, GrayGUI::cXImage, and GrayGUI::cXColorGrid.

◆ OnMouseDblClk()

bool GrayGUI::cXWindow::OnMouseDblClk ( MBUTTON_TYPE  uButton,
PIXELS_t  x,
PIXELS_t  y 
)
virtual

◆ OnMouseDown()

◆ OnMouseMove()

bool GrayGUI::cXWindow::OnMouseMove ( MBUTTON_TYPE  uButton,
PIXELS_t  x,
PIXELS_t  y 
)
virtual

◆ OnMouseUp()

bool GrayGUI::cXWindow::OnMouseUp ( MBUTTON_TYPE  uButton,
PIXELS_t  x,
PIXELS_t  y 
)
virtual

◆ OnMouseWheel()

bool GrayGUI::cXWindow::OnMouseWheel ( MBUTTON_TYPE  uButton,
PIXELS_t  x,
PIXELS_t  y,
short  nWheelChange 
)
virtual

◆ OnNCHitTest()

DWORD GrayGUI::cXWindow::OnNCHitTest ( int  x,
int  y 
) const
virtual

Reimplemented in GrayGUI::cXButton, and GrayGUI::cXDialog.

◆ OnRender()

bool GrayGUI::cXWindow::OnRender ( void  )
virtual

Just render the texture here. (default operation)

Returns
false = FAIL so don't render children.

Reimplemented in GrayGUI::cXToolTip, GrayGUI::cXDialog, GrayGUI::cXGroupBox, GrayGUI::cXStaticMulti, GrayGUI::cXStatic, GrayGUI::cXProgressBar, GrayGUI::cXEditText, GrayGUI::cXColorGrid, and GrayGUI::cXButton.

◆ OnResetDeviceX()

HRESULT GrayGUI::cXWindow::OnResetDeviceX ( void  )
virtual

Reimplemented from Gray3D::cDXBase.

Reimplemented in GrayGUI::cXWindowText, and GrayGUI::cXDialog.

◆ OnScroll()

void GrayGUI::cXWindow::OnScroll ( int  iPos,
cXWindow pCtrl 
)
virtual

◆ OnShowWindow()

void GrayGUI::cXWindow::OnShowWindow ( bool  bShow,
UINT  nShowWindowCode 
)
virtual

◆ OnSize()

◆ onTick()

void GrayGUI::cXWindow::onTick ( void  )
virtual

Reimplemented in GrayGUI::cXProgressBar, and GrayGUI::cXButton.

◆ put_BackAlpha()

virtual void GrayGUI::cXWindow::put_BackAlpha ( COLOR_ELEM_t  bAlpha)
inlinevirtual

0xff = fully opaque = COLOR_ALPHA_OPAQUE

Reimplemented in GrayGUI::cXDialog, GrayGUI::cXListBox, and GrayGUI::cXGroupBox.

◆ put_BackColor()

void GrayGUI::cXWindow::put_BackColor ( D3DCOLOR  color)
inline

◆ put_DlgID()

void GrayGUI::cXWindow::put_DlgID ( DLGID_t  id)
inline

◆ put_DockFlags()

void GrayGUI::cXWindow::put_DockFlags ( WINDOCKFLAG_MASK  dock)
inline

◆ put_ExStyle()

void GrayGUI::cXWindow::put_ExStyle ( DWORD  dwStyle)
inline

ex. WS_EX_RIGHT

◆ put_Flags()

void GrayGUI::cXWindow::put_Flags ( WINFLAG_MASK  uiFlags)
inline

◆ put_FontPtr()

virtual void GrayGUI::cXWindow::put_FontPtr ( const cFontBase pFont)
inlinevirtual

override this when appropriate

Reimplemented in GrayGUI::cXWindowText.

◆ put_NormalColor()

void GrayGUI::cXWindow::put_NormalColor ( D3DCOLOR  color)
inline

◆ put_Style()

virtual void GrayGUI::cXWindow::put_Style ( DWORD  dwStyle)
inlinevirtual

ex. WS_VISIBLE

Reimplemented in GrayGUI::cXDialog, GrayGUI::cXStatic, and GrayGUI::cXScrollBar.

◆ put_Text()

virtual void GrayGUI::cXWindow::put_Text ( const GChar_t pszText)
inlinevirtual

◆ put_TickTimer()

void GrayGUI::cXWindow::put_TickTimer ( TIMESYSD_t  dwTimeInc)

◆ put_ToolTip()

void GrayGUI::cXWindow::put_ToolTip ( const GChar_t pstrToolTip)

◆ Render()

void GrayGUI::cXWindow::Render ( void  )
virtual

Reimplemented in GrayGUI::cXDialog.

◆ RenderChildren()

void GrayGUI::cXWindow::RenderChildren ( )

◆ s_Invoke()

HRESULT GrayGUI::cXWindow::s_Invoke ( const cScriptableMethod pMethod,
const cVariant vArgs,
cVariant vValRet 
)
override

◆ s_PropGet()

HRESULT _stdcall GrayGUI::cXWindow::s_PropGet ( const cScriptableProp pProp,
cVariant vValRet 
)
override

◆ s_PropPut()

HRESULT _stdcall GrayGUI::cXWindow::s_PropPut ( const cScriptableProp pProp,
const cVariant vVal 
)
override

◆ s_Update()

void GrayGUI::cXWindow::s_Update ( P_TYPE_  eProp)

◆ ScaleAll()

void GrayGUI::cXWindow::ScaleAll ( FLOAT  fScale)

◆ SendCommand()

bool GrayGUI::cXWindow::SendCommand ( WORD  wNotify) const

◆ SetKeyFocus()

bool GrayGUI::cXWindow::SetKeyFocus ( )

◆ SetScissorWindow()

void GrayGUI::cXWindow::SetScissorWindow ( cPoint2i ptAbsolutePos)

< Set this window as the scissor rect.

◆ SetViewportWindow()

HRESULT GrayGUI::cXWindow::SetViewportWindow ( cPoint2i ptAbsolutePos)

use a square clipper

Returns
ptAbsolutePos = is App relative start UR corner. Backbuffer units.

◆ SetWidthHeight()

void GrayGUI::cXWindow::SetWidthHeight ( PIXELS_t  Width,
PIXELS_t  Height 
)
virtual
Note
allowed to be size 0 to hide it.

Reimplemented in GrayGUI::cXDialog.

◆ SetXYCenter()

void GrayGUI::cXWindow::SetXYCenter ( )

DS_CENTER

◆ SetXYPos()

void GrayGUI::cXWindow::SetXYPos ( PIXELS_t  X,
PIXELS_t  Y 
)
virtual
  • x,y coords relative to my parent

Reimplemented in GrayGUI::cXDialog.

◆ ShowWindow()

void GrayGUI::cXWindow::ShowWindow ( SHOWWINDOW_t  nCmdShow = SW_SHOW)
virtual

This should be called on every window (shown or not) When init is complete!

  • nShowCommand = SW_SHOWNORMAL

Reimplemented in GrayGUI::cXDialog.

◆ ShowWindowBool()

void GrayGUI::cXWindow::ShowWindowBool ( bool  bShow)

◆ STDMETHOD_() [1/2]

GrayGUI::cXWindow::STDMETHOD_ ( cString  ,
get_Name   
) const
inlineoverride

◆ STDMETHOD_() [2/2]

GrayGUI::cXWindow::STDMETHOD_ ( XOBJTID_t  ,
get_XObjTypeId   
) const
inline

Friends And Related Function Documentation

◆ cXDesktopMgr

friend class cXDesktopMgr
friend

◆ cXDialog

friend class cXDialog
friend

Member Data Documentation

◆ k_XWindowClassNames

const ATOMCHAR_t * GrayGUI::cXWindow::k_XWindowClassNames
static
Initial value:
=
{
#define cXWindowClassDef(a,b,c,d)
nullptr,
}

◆ m_aChildWindows

cArrayRef<cXWindow> GrayGUI::cXWindow::m_aChildWindows
protected

z ordered array of children. [0]=draw on top. [qty]=draw on bottom

◆ m_eXWClass

const X_WNDCLASS_TYPE GrayGUI::cXWindow::m_eXWClass

◆ m_NormalColor

cColorDX GrayGUI::cXWindow::m_NormalColor

foreground color.

◆ m_pParentWnd

cXWindowPtr GrayGUI::cXWindow::m_pParentWnd
protected

Set when someone calls AddChildWindow(pMe) for me on my parent.

◆ m_TexElem

cDXSpriteElem GrayGUI::cXWindow::m_TexElem
protected

Background texture if we are using one. defines back color also.

◆ m_WindowRect

cRectI GrayGUI::cXWindow::m_WindowRect
protected

Current coords relative to my m_pParentWnd.

◆ sm_Methods

cScriptableMethod GrayGUI::cXWindow::sm_Methods
static
Initial value:
=
{
#define cXWindowMethod(a,b,c)
}
#define CSCRIPT_PROP_END
Definition: cScriptableInterface.h:264

◆ sm_Props

cScriptableProp GrayGUI::cXWindow::sm_Props
static
Initial value:
=
{
#define cXWindowProp(a,b,c,d,e)
}

The documentation for this class was generated from the following files: