mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 19:55:41 +00:00
[SDK] cicuif.h: Add CUIFToolbarMenuButton (#6336)
Supporting TIPs... JIRA issue: CORE-19360 - Add CUIFToolbarMenuButton class. - Add CUIFToolbarButtonElement class.
This commit is contained in:
parent
286d460b45
commit
fa2715fb6b
1 changed files with 123 additions and 0 deletions
|
@ -23,8 +23,11 @@ class CUIFTheme;
|
||||||
class CUIFWindow;
|
class CUIFWindow;
|
||||||
class CUIFToolTip;
|
class CUIFToolTip;
|
||||||
class CUIFShadow;
|
class CUIFShadow;
|
||||||
|
class CUIFToolbarButton;
|
||||||
class CUIFButton;
|
class CUIFButton;
|
||||||
class CUIFButton2;
|
class CUIFButton2;
|
||||||
|
class CUIFToolbarMenuButton;
|
||||||
|
class CUIFToolbarButtonElement;
|
||||||
class CUIFGripper;
|
class CUIFGripper;
|
||||||
class CUIFObjectArray;
|
class CUIFObjectArray;
|
||||||
class CUIFColorTable;
|
class CUIFColorTable;
|
||||||
|
@ -754,6 +757,50 @@ public:
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class CUIFToolbarMenuButton : public CUIFButton2
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CUIFToolbarButton *m_pToolbarButton;
|
||||||
|
|
||||||
|
CUIFToolbarMenuButton(CUIFToolbarButton *pParent, DWORD dwUnknown3, LPCRECT prc, DWORD style);
|
||||||
|
~CUIFToolbarMenuButton() override;
|
||||||
|
|
||||||
|
STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) override;
|
||||||
|
STDMETHOD_(BOOL, OnSetCursor)(UINT uMsg, LONG x, LONG y) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class CUIFToolbarButtonElement : public CUIFButton2
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CUIFToolbarButton *m_pToolbarButton;
|
||||||
|
|
||||||
|
CUIFToolbarButtonElement(CUIFToolbarButton *pParent, DWORD dwUnknown3, LPCRECT prc, DWORD style);
|
||||||
|
|
||||||
|
STDMETHOD_(LPCWSTR, GetToolTip)() override;
|
||||||
|
STDMETHOD_(void, OnLButtonUp)(LONG x, LONG y) override;
|
||||||
|
STDMETHOD_(void, OnRButtonUp)(LONG x, LONG y) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// FIXME
|
||||||
|
class CUIFToolbarButton : public CUIFObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CUIFToolbarButtonElement *m_pToolbarButtonElement;
|
||||||
|
CUIFToolbarMenuButton *m_pToolbarMenuButton;
|
||||||
|
DWORD m_dwButtonFlags;
|
||||||
|
LPCWSTR m_pszUnknownText;
|
||||||
|
|
||||||
|
STDMETHOD_(void, OnUnknownMouse0)() { }
|
||||||
|
STDMETHOD_(void, OnUnknownMouse1)(LONG x, LONG y) { }
|
||||||
|
STDMETHOD_(void, OnUnknownMouse2)(LONG x, LONG y) { }
|
||||||
|
};
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// m_style flags for CUIFGripper
|
// m_style flags for CUIFGripper
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -4226,3 +4273,79 @@ CUIFGripper::SetStyle(DWORD style)
|
||||||
else
|
else
|
||||||
SetActiveTheme(L"REBAR", RP_GRIPPER, 0);
|
SetActiveTheme(L"REBAR", RP_GRIPPER, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
inline
|
||||||
|
CUIFToolbarMenuButton::CUIFToolbarMenuButton(
|
||||||
|
CUIFToolbarButton *pParent,
|
||||||
|
DWORD dwUnknown3,
|
||||||
|
LPCRECT prc,
|
||||||
|
DWORD style) : CUIFButton2(pParent, dwUnknown3, prc, style)
|
||||||
|
{
|
||||||
|
m_pToolbarButton = pParent;
|
||||||
|
|
||||||
|
HFONT hFont = ::CreateFont(8, 8, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, SYMBOL_CHARSET,
|
||||||
|
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
|
||||||
|
DEFAULT_PITCH | FF_DONTCARE, TEXT("Marlett"));
|
||||||
|
SetFont(hFont);
|
||||||
|
SetText(L"u");
|
||||||
|
}
|
||||||
|
|
||||||
|
inline
|
||||||
|
CUIFToolbarMenuButton::~CUIFToolbarMenuButton()
|
||||||
|
{
|
||||||
|
::DeleteObject(m_hFont);
|
||||||
|
SetFont(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline STDMETHODIMP_(void)
|
||||||
|
CUIFToolbarMenuButton::OnLButtonUp(LONG x, LONG y)
|
||||||
|
{
|
||||||
|
CUIFButton::OnLButtonUp(x, y);
|
||||||
|
m_pToolbarButton->OnUnknownMouse2(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline STDMETHODIMP_(BOOL)
|
||||||
|
CUIFToolbarMenuButton::OnSetCursor(UINT uMsg, LONG x, LONG y)
|
||||||
|
{
|
||||||
|
m_pToolbarButton->OnSetCursor(uMsg, x, y);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
inline
|
||||||
|
CUIFToolbarButtonElement::CUIFToolbarButtonElement(
|
||||||
|
CUIFToolbarButton *pParent,
|
||||||
|
DWORD dwUnknown3,
|
||||||
|
LPCRECT prc,
|
||||||
|
DWORD style) : CUIFButton2(pParent, dwUnknown3, prc, style)
|
||||||
|
{
|
||||||
|
m_pToolbarButton = pParent;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline STDMETHODIMP_(LPCWSTR)
|
||||||
|
CUIFToolbarButtonElement::GetToolTip()
|
||||||
|
{
|
||||||
|
if (m_pToolbarButton)
|
||||||
|
return m_pToolbarButton->GetToolTip();
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline STDMETHODIMP_(void)
|
||||||
|
CUIFToolbarButtonElement::OnLButtonUp(LONG x, LONG y)
|
||||||
|
{
|
||||||
|
CUIFButton::OnLButtonUp(x, y);
|
||||||
|
if ((m_pToolbarButton->m_dwButtonFlags & 0x30000) == 0x20000)
|
||||||
|
m_pToolbarButton->OnUnknownMouse2(x, y);
|
||||||
|
else
|
||||||
|
m_pToolbarButton->OnUnknownMouse1(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline STDMETHODIMP_(void)
|
||||||
|
CUIFToolbarButtonElement::OnRButtonUp(LONG x, LONG y)
|
||||||
|
{
|
||||||
|
if ((m_pToolbarButton->m_dwButtonFlags & 0x30000) != 0x20000)
|
||||||
|
m_pToolbarButton->OnUnknownMouse0();
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue