ReactOS 0.4.15-dev-7998-gdb93cb1
CUIFObject Class Reference

#include <cicuif.h>

Inheritance diagram for CUIFObject:
Collaboration diagram for CUIFObject:

Public Member Functions

 CUIFObject (CUIFObject *pParent, DWORD nObjectID, LPCRECT prc, DWORD style)
 @unimplemented
 
virtual ~CUIFObject ()
 
void StartCapture ()
 
void EndCapture ()
 
BOOL IsCapture ()
 
BOOL IsRTL ()
 
LRESULT NotifyCommand (WPARAM wParam, LPARAM lParam)
 
CUIFObjectObjectFromPoint (POINT pt)
 
void SetScheme (CUIFScheme *scheme)
 
void StartTimer (WPARAM wParam)
 
void EndTimer ()
 
 STDMETHOD_ (BOOL, Initialize)()
 
 STDMETHOD_ (void, OnPaint)(HDC hDC)
 
 STDMETHOD_ (void, OnTimer)()
 
 STDMETHOD_ (void, OnLButtonDown)(LONG x
 
 STDMETHOD_ (void, GetRect)(LPRECT prc)
 
 STDMETHOD_ (void, SetRect)(LPCRECT prc)
 
 STDMETHOD_ (BOOL, PtInObject)(POINT pt)
 
 STDMETHOD_ (void, PaintObject)(HDC hDC
 
 STDMETHOD_ (void, CallOnPaint)()
 
 STDMETHOD_ (void, Enable)(BOOL bEnable)
 
 STDMETHOD_ (void, Show)(BOOL bVisible)
 
 STDMETHOD_ (void, SetFontToThis)(HFONT hFont)
 
 STDMETHOD_ (void, SetFont)(HFONT hFont)
 
 STDMETHOD_ (void, SetStyle)(DWORD style)
 
 STDMETHOD_ (void, AddUIObj)(CUIFObject *pObject)
 
 STDMETHOD_ (void, RemoveUIObj)(CUIFObject *pObject)
 
 STDMETHOD_ (LRESULT, OnObjectNotify)(CUIFObject *pObject
 
 STDMETHOD_ (void, SetToolTip)(LPCWSTR pszToolTip)
 
 STDMETHOD_ (LPCWSTR, GetToolTip)()
 
 STDMETHOD_ (LRESULT, OnShowToolTip)()
 
 STDMETHOD_ (void, OnHideToolTip)()
 
 STDMETHOD_ (void, DetachWndObj)()
 
 STDMETHOD_ (void, ClearWndObj)()
 
 STDMETHOD_ (BOOL, OnPaintTheme)(HDC hDC)
 
 STDMETHOD_ (void, OnPaintNoTheme)(HDC hDC)
 
 STDMETHOD_ (void, ClearTheme)()
 
- Public Member Functions inherited from CUIFTheme
HRESULT InternalOpenThemeData (HWND hWnd)
 
HRESULT EnsureThemeData (HWND hWnd)
 
HRESULT CloseThemeData ()
 
STDMETHOD() DrawThemeBackground (HDC hDC, int iStateId, LPCRECT pRect, LPCRECT pClipRect)
 
STDMETHOD() DrawThemeParentBackground (HWND hwnd, HDC hDC, LPRECT prc)
 
STDMETHOD() DrawThemeText (HDC hDC, int iStateId, LPCWSTR pszText, int cchText, DWORD dwTextFlags, DWORD dwTextFlags2, LPCRECT pRect)
 
STDMETHOD() DrawThemeIcon (HDC hDC, int iStateId, LPCRECT pRect, HIMAGELIST himl, int iImageIndex)
 
STDMETHOD() GetThemeBackgroundExtent (HDC hDC, int iStateId, LPCRECT pContentRect, LPRECT pExtentRect)
 
STDMETHOD() GetThemeBackgroundContentRect (HDC hDC, int iStateId, LPCRECT pBoundingRect, LPRECT pContentRect)
 
STDMETHOD() GetThemeTextExtent (HDC hDC, int iStateId, LPCWSTR pszText, int cchCharCount, DWORD dwTextFlags, LPCRECT pBoundingRect, LPRECT pExtentRect)
 
STDMETHOD() GetThemePartSize (HDC hDC, int iStateId, LPRECT prc, THEMESIZE eSize, SIZE *psz)
 
STDMETHOD() DrawThemeEdge (HDC hDC, int iStateId, LPCRECT pDestRect, UINT uEdge, UINT uFlags, LPRECT pContentRect)
 
STDMETHOD() GetThemeColor (int iStateId, int iPropId, COLORREF *pColor)
 
STDMETHOD() GetThemeMargins (HDC hDC, int iStateId, int iPropId, LPRECT prc, MARGINS *pMargins)
 
STDMETHOD() GetThemeFont (HDC hDC, int iStateId, int iPropId, LOGFONTW *pFont)
 
 STDMETHOD_ (COLORREF, GetThemeSysColor)(INT iColorId)
 
 STDMETHOD_ (int, GetThemeSysSize)(int iSizeId)
 
 STDMETHOD_ (void, SetActiveTheme)(LPCWSTR pszClassList
 

Public Attributes

LONG y
 
LPCRECT prc
 
WPARAM wParam
 
WPARAM LPARAM lParam
 
- Public Attributes inherited from CUIFTheme
LPCWSTR m_pszClassList
 
INT m_iPartId
 
INT m_iStateId
 
HTHEME m_hTheme
 
INT iPartId
 
INT INT iStateId
 

Protected Attributes

CUIFObjectm_pParent
 
CUIFWindowm_pWindow
 
CUIFSchemem_pScheme
 
CUIFObjectArray m_ObjectArray
 
DWORD m_nObjectID
 
DWORD m_style
 
RECT m_rc
 
BOOL m_bEnable
 
BOOL m_bVisible
 
HFONT m_hFont
 
BOOL m_bHasCustomFont
 
LPWSTR m_pszToolTip
 
DWORD m_dwUnknown4 [2]
 

Friends

class CUIFWindow
 
class CUIFToolTip
 
class CUIFBalloonWindow
 

Additional Inherited Members

- Static Public Attributes inherited from CUIFTheme
static HINSTANCE s_hUXTHEME = NULL
 
static FN_OpenThemeData s_fnOpenThemeData = NULL
 
static FN_CloseThemeData s_fnCloseThemeData = NULL
 
static FN_DrawThemeBackground s_fnDrawThemeBackground = NULL
 
static FN_DrawThemeParentBackground s_fnDrawThemeParentBackground = NULL
 
static FN_DrawThemeText s_fnDrawThemeText = NULL
 
static FN_DrawThemeIcon s_fnDrawThemeIcon = NULL
 
static FN_GetThemeBackgroundExtent s_fnGetThemeBackgroundExtent = NULL
 
static FN_GetThemeBackgroundContentRect s_fnGetThemeBackgroundContentRect = NULL
 
static FN_GetThemeTextExtent s_fnGetThemeTextExtent = NULL
 
static FN_GetThemePartSize s_fnGetThemePartSize = NULL
 
static FN_DrawThemeEdge s_fnDrawThemeEdge = NULL
 
static FN_GetThemeColor s_fnGetThemeColor = NULL
 
static FN_GetThemeMargins s_fnGetThemeMargins = NULL
 
static FN_GetThemeFont s_fnGetThemeFont = NULL
 
static FN_GetThemeSysColor s_fnGetThemeSysColor = NULL
 
static FN_GetThemeSysSize s_fnGetThemeSysSize = NULL
 

Detailed Description

Definition at line 180 of file cicuif.h.

Constructor & Destructor Documentation

◆ CUIFObject()

CUIFObject::CUIFObject ( CUIFObject pParent,
DWORD  nObjectID,
LPCRECT  prc,
DWORD  style 
)

@unimplemented

Definition at line 221 of file cicuif.cpp.

222{
224 m_hTheme = NULL;
226 m_nObjectID = nObjectID;
227 m_style = style;
228
229 if (prc)
230 m_rc = *prc;
231 else
232 m_rc = { 0, 0, 0, 0 };
233
234 if (m_pParent)
235 {
238 }
239 else
240 {
241 m_pWindow = NULL;
242 m_pScheme = NULL;
243 }
244
246
249
251
252 m_dwUnknown4[0] = -1; //FIXME: name
253 m_dwUnknown4[1] = -1; //FIXME: name
254}
Arabic default style
Definition: afstyles.h:94
CUIFObject * m_pParent
Definition: cicuif.h:183
DWORD m_style
Definition: cicuif.h:188
HFONT m_hFont
Definition: cicuif.h:192
RECT m_rc
Definition: cicuif.h:189
CUIFScheme * m_pScheme
Definition: cicuif.h:185
LPWSTR m_pszToolTip
Definition: cicuif.h:194
LPCRECT prc
Definition: cicuif.h:230
BOOL m_bEnable
Definition: cicuif.h:190
BOOL m_bVisible
Definition: cicuif.h:191
CUIFWindow * m_pWindow
Definition: cicuif.h:184
DWORD m_nObjectID
Definition: cicuif.h:187
BOOL m_bHasCustomFont
Definition: cicuif.h:193
DWORD m_dwUnknown4[2]
Definition: cicuif.h:195
LPCWSTR m_pszClassList
Definition: cicuif.h:90
HTHEME m_hTheme
Definition: cicuif.h:93
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
FxObject * pParent
Definition: fxdpcapi.cpp:86
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
HGDIOBJ WINAPI GetStockObject(_In_ int)
#define DEFAULT_GUI_FONT
Definition: wingdi.h:909

◆ ~CUIFObject()

CUIFObject::~CUIFObject ( )
virtual

Definition at line 256 of file cicuif.cpp.

257{
258 if (m_pWindow)
259 {
260 CUIFToolTip *pToolTip = m_pWindow->m_pToolTip;
261 if (pToolTip && pToolTip->m_pToolTipTarget == this)
262 pToolTip->m_pToolTipTarget = NULL;
263 }
264
265 if (m_pszToolTip)
266 {
267 delete[] m_pszToolTip;
269 }
270
271 for (size_t iObj = m_ObjectArray.size(); iObj > 0; )
272 {
273 --iObj;
274 delete m_ObjectArray[iObj];
275 }
277
278 if (m_pWindow)
279 m_pWindow->RemoveUIObj(this);
280
282}
CUIFObjectArray m_ObjectArray
Definition: cicuif.h:186
HRESULT CloseThemeData()
Definition: cicuif.cpp:84
CUIFObject * m_pToolTipTarget
Definition: cicuif.h:613
CUIFToolTip * m_pToolTip
Definition: cicuif.h:524
void clear()
Definition: cicarray.h:36
size_t size() const
Definition: cicarray.h:34

Member Function Documentation

◆ EndCapture()

void CUIFObject::EndCapture ( )

Definition at line 434 of file cicuif.cpp.

435{
436 if (m_pWindow)
438}
void SetCaptureObject(CUIFObject *pCaptured)
Definition: cicuif.cpp:1640

◆ EndTimer()

void CUIFObject::EndTimer ( )

Definition at line 510 of file cicuif.cpp.

511{
512 if (m_pWindow)
514}
void SetTimerObject(CUIFObject *pTimerObject, UINT uElapse)
Definition: cicuif.cpp:2070

◆ IsCapture()

BOOL CUIFObject::IsCapture ( )

Definition at line 440 of file cicuif.cpp.

441{
442 return m_pWindow && (m_pWindow->m_pCaptured == this);
443}
CUIFObject * m_pCaptured
Definition: cicuif.h:520

◆ IsRTL()

BOOL CUIFObject::IsRTL ( )

Definition at line 473 of file cicuif.cpp.

474{
475 if (!m_pWindow)
476 return FALSE;
478}
@ UIF_WINDOW_LAYOUTRTL
Definition: cicuif.h:502

Referenced by CUIFMenuItem::DrawBitmapProc().

◆ NotifyCommand()

LRESULT CUIFObject::NotifyCommand ( WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 453 of file cicuif.cpp.

454{
455 if (m_pParent)
456 return m_pParent->OnObjectNotify(this, wParam, lParam);
457 return 0;
458}
WPARAM LPARAM lParam
Definition: cicuif.h:239
WPARAM wParam
Definition: cicuif.h:239

◆ ObjectFromPoint()

CUIFObject * CUIFObject::ObjectFromPoint ( POINT  pt)

Definition at line 480 of file cicuif.cpp.

481{
482 if (!PtInObject(pt))
483 return NULL;
484
485 CUIFObject *pFound = this;
486 for (size_t i = 0; i < m_ObjectArray.size(); ++i)
487 {
488 CUIFObject *pObject = m_ObjectArray[i]->ObjectFromPoint(pt);
489 if (pObject)
490 pFound = pObject;
491 }
492 return pFound;
493}
#define pt(x, y)
Definition: drawing.c:79
FxObject * pObject
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248

Referenced by CUIFToolTip::FindObject().

◆ SetScheme()

void CUIFObject::SetScheme ( CUIFScheme scheme)

Definition at line 495 of file cicuif.cpp.

496{
498 for (size_t i = 0; i < m_ObjectArray.size(); ++i)
499 {
500 m_ObjectArray[i]->SetScheme(scheme);
501 }
502}
DWORD scheme

Referenced by CUIFWindow::CreateScheme().

◆ StartCapture()

void CUIFObject::StartCapture ( )

Definition at line 428 of file cicuif.cpp.

429{
430 if (m_pWindow)
432}

◆ StartTimer()

void CUIFObject::StartTimer ( WPARAM  wParam)

Definition at line 504 of file cicuif.cpp.

505{
506 if (m_pWindow)
508}

◆ STDMETHOD_() [1/26]

CUIFObject::STDMETHOD_ ( BOOL  ,
Initialize   
)
inline

Definition at line 214 of file cicuif.h.

214{ return TRUE; }

◆ STDMETHOD_() [2/26]

CUIFObject::STDMETHOD_ ( BOOL  ,
OnPaintTheme   
)
inline

Definition at line 246 of file cicuif.h.

246{ return FALSE; }

◆ STDMETHOD_() [3/26]

CUIFObject::STDMETHOD_ ( BOOL  ,
PtInObject   
)

◆ STDMETHOD_() [4/26]

CUIFObject::STDMETHOD_ ( LPCWSTR  ,
GetToolTip   
)
inline

Definition at line 241 of file cicuif.h.

241{ return m_pszToolTip; }

◆ STDMETHOD_() [5/26]

CUIFObject::STDMETHOD_ ( LRESULT  ,
OnObjectNotify   
)

◆ STDMETHOD_() [6/26]

CUIFObject::STDMETHOD_ ( LRESULT  ,
OnShowToolTip   
)
inline

Definition at line 242 of file cicuif.h.

242{ return 0; }

◆ STDMETHOD_() [7/26]

CUIFObject::STDMETHOD_ ( void  ,
AddUIObj   
)

◆ STDMETHOD_() [8/26]

CUIFObject::STDMETHOD_ ( void  ,
CallOnPaint   
)

◆ STDMETHOD_() [9/26]

CUIFObject::STDMETHOD_ ( void  ,
ClearTheme   
)

◆ STDMETHOD_() [10/26]

CUIFObject::STDMETHOD_ ( void  ,
ClearWndObj   
)

◆ STDMETHOD_() [11/26]

CUIFObject::STDMETHOD_ ( void  ,
DetachWndObj   
)

◆ STDMETHOD_() [12/26]

CUIFObject::STDMETHOD_ ( void  ,
Enable   
)

◆ STDMETHOD_() [13/26]

CUIFObject::STDMETHOD_ ( void  ,
GetRect   
)

◆ STDMETHOD_() [14/26]

CUIFObject::STDMETHOD_ ( void  ,
OnHideToolTip   
)
inline

Definition at line 243 of file cicuif.h.

243{ }

◆ STDMETHOD_() [15/26]

CUIFObject::STDMETHOD_ ( void  ,
OnLButtonDown   
)

◆ STDMETHOD_() [16/26]

CUIFObject::STDMETHOD_ ( void  ,
OnPaint   
)

◆ STDMETHOD_() [17/26]

CUIFObject::STDMETHOD_ ( void  ,
OnPaintNoTheme   
)
inline

Definition at line 247 of file cicuif.h.

247{ }

◆ STDMETHOD_() [18/26]

CUIFObject::STDMETHOD_ ( void  ,
OnTimer   
)
inline

Definition at line 216 of file cicuif.h.

216{ }

◆ STDMETHOD_() [19/26]

CUIFObject::STDMETHOD_ ( void  ,
PaintObject   
)

◆ STDMETHOD_() [20/26]

CUIFObject::STDMETHOD_ ( void  ,
RemoveUIObj   
)

◆ STDMETHOD_() [21/26]

CUIFObject::STDMETHOD_ ( void  ,
SetFont   
)

◆ STDMETHOD_() [22/26]

CUIFObject::STDMETHOD_ ( void  ,
SetFontToThis   
)

◆ STDMETHOD_() [23/26]

CUIFObject::STDMETHOD_ ( void  ,
SetRect   
)

◆ STDMETHOD_() [24/26]

CUIFObject::STDMETHOD_ ( void  ,
SetStyle   
)

◆ STDMETHOD_() [25/26]

CUIFObject::STDMETHOD_ ( void  ,
SetToolTip   
)

◆ STDMETHOD_() [26/26]

CUIFObject::STDMETHOD_ ( void  ,
Show   
)

Friends And Related Function Documentation

◆ CUIFBalloonWindow

friend class CUIFBalloonWindow
friend

Definition at line 198 of file cicuif.h.

◆ CUIFToolTip

friend class CUIFToolTip
friend

Definition at line 197 of file cicuif.h.

◆ CUIFWindow

friend class CUIFWindow
friend

Definition at line 196 of file cicuif.h.

Member Data Documentation

◆ lParam

WPARAM LPARAM CUIFObject::lParam

Definition at line 239 of file cicuif.h.

Referenced by NotifyCommand(), and STDMETHODIMP_().

◆ m_bEnable

◆ m_bHasCustomFont

BOOL CUIFObject::m_bHasCustomFont
protected

Definition at line 193 of file cicuif.h.

Referenced by CUIFObject(), and CUIFButton::GetTextSize().

◆ m_bVisible

BOOL CUIFObject::m_bVisible
protected

Definition at line 191 of file cicuif.h.

Referenced by CUIFObject(), CUIFToolTip::HideTip(), and CUIFToolTip::RelayEvent().

◆ m_dwUnknown4

DWORD CUIFObject::m_dwUnknown4[2]
protected

Definition at line 195 of file cicuif.h.

Referenced by CUIFObject().

◆ m_hFont

◆ m_nObjectID

DWORD CUIFObject::m_nObjectID
protected

Definition at line 187 of file cicuif.h.

Referenced by CUIFObject(), and CUIFToolbarButton::Init().

◆ m_ObjectArray

CUIFObjectArray CUIFObject::m_ObjectArray
protected

◆ m_pParent

CUIFObject* CUIFObject::m_pParent
protected

Definition at line 183 of file cicuif.h.

Referenced by CUIFObject(), NotifyCommand(), and STDMETHODIMP_().

◆ m_pScheme

◆ m_pszToolTip

LPWSTR CUIFObject::m_pszToolTip
protected

Definition at line 194 of file cicuif.h.

Referenced by CUIFObject(), STDMETHOD_(), and ~CUIFObject().

◆ m_pWindow

◆ m_rc

◆ m_style

◆ prc

◆ wParam

WPARAM CUIFObject::wParam

Definition at line 239 of file cicuif.h.

Referenced by NotifyCommand(), StartTimer(), and STDMETHODIMP_().

◆ y

LONG CUIFObject::y
Initial value:
{ }
STDMETHOD_(void, OnMButtonDown)(LONG x, LONG y) { }
STDMETHOD_(void, OnRButtonDown)(LONG x, LONG y) { }
STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) { }
STDMETHOD_(void, OnMButtonUp)(LONG x, LONG y) { }
STDMETHOD_(void, OnRButtonUp)(LONG x, LONG y) { }
STDMETHOD_(void, OnMouseIn)(LONG x, LONG y) { }
STDMETHOD_(void, OnMouseOut)(LONG x, LONG y) { }
STDMETHOD_(BOOL, OnSetCursor)(UINT uMsg, LONG x, LONG y)
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
LONG y
Definition: cicuif.h:217
unsigned int BOOL
Definition: ntddk_ex.h:94
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
unsigned int UINT
Definition: ndis.h:50
long LONG
Definition: pedump.c:60
static LRESULT OnMouseMove(HWND hWnd, WPARAM wParam, LPARAM lParam)
Definition: welcome.c:1470

Definition at line 217 of file cicuif.h.


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