mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 13:34:53 +00:00
[SDK] cicuif.h: Add CUIFMenuItemSeparator (#6411)
Supporting Language Bar... JIRA issue: CORE-19363 - Add CUIFMenuItemSeparator class. - Implement CUIFMenu::InsertSeparator method.
This commit is contained in:
parent
a88c85259b
commit
6b0ee735c7
|
@ -57,6 +57,15 @@ public:
|
||||||
using CicArrayBase::Insert;
|
using CicArrayBase::Insert;
|
||||||
using CicArrayBase::Remove;
|
using CicArrayBase::Remove;
|
||||||
|
|
||||||
|
BOOL Add(const T_ITEM& item)
|
||||||
|
{
|
||||||
|
T_ITEM *pItem = Append(1);
|
||||||
|
if (!pItem)
|
||||||
|
return FALSE;
|
||||||
|
CopyMemory(pItem, &item, sizeof(T_ITEM));
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
ssize_t Find(const T_ITEM& item) const
|
ssize_t Find(const T_ITEM& item) const
|
||||||
{
|
{
|
||||||
for (size_t iItem = 0; iItem < m_cItems; ++iItem)
|
for (size_t iItem = 0; iItem < m_cItems; ++iItem)
|
||||||
|
|
|
@ -34,6 +34,7 @@ class CUIFTheme;
|
||||||
class CUIFWndFrame;
|
class CUIFWndFrame;
|
||||||
class CUIFGripper;
|
class CUIFGripper;
|
||||||
class CUIFMenuItem;
|
class CUIFMenuItem;
|
||||||
|
class CUIFMenuItemSeparator;
|
||||||
class CUIFObjectArray;
|
class CUIFObjectArray;
|
||||||
class CUIFColorTable;
|
class CUIFColorTable;
|
||||||
class CUIFColorTableSys;
|
class CUIFColorTableSys;
|
||||||
|
@ -806,13 +807,25 @@ public:
|
||||||
STDMETHOD_(void, OnTimer)() override;
|
STDMETHOD_(void, OnTimer)() override;
|
||||||
|
|
||||||
STDMETHOD_(void, InitMenuExtent)();
|
STDMETHOD_(void, InitMenuExtent)();
|
||||||
STDMETHOD_(void, OnPaintO10)(HDC hDC);
|
|
||||||
STDMETHOD_(void, OnPaintDef)(HDC hDC);
|
STDMETHOD_(void, OnPaintDef)(HDC hDC);
|
||||||
|
STDMETHOD_(void, OnPaintO10)(HDC hDC);
|
||||||
STDMETHOD_(void, OnUnknownMethod)() { } // FIXME: method name
|
STDMETHOD_(void, OnUnknownMethod)() { } // FIXME: method name
|
||||||
};
|
};
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class CUIFMenuItemSeparator : public CUIFMenuItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CUIFMenuItemSeparator(CUIFMenu *pMenu);
|
||||||
|
|
||||||
|
STDMETHOD_(void, InitMenuExtent)() override;
|
||||||
|
STDMETHOD_(void, OnPaintDef)(HDC hDC) override;
|
||||||
|
STDMETHOD_(void, OnPaintO10)(HDC hDC) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// m_style flags for CUIFButton
|
// m_style flags for CUIFButton
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -5733,20 +5746,27 @@ CUIFMenu::InitShow(CUIFWindow *pWindow, LPCRECT prc, BOOL bFlag, BOOL bDoAnimati
|
||||||
|
|
||||||
inline BOOL CUIFMenu::InsertItem(CUIFMenuItem *pItem)
|
inline BOOL CUIFMenu::InsertItem(CUIFMenuItem *pItem)
|
||||||
{
|
{
|
||||||
CUIFMenuItem **ppAdded = m_MenuItems.Append(1);
|
if (!m_MenuItems.Add(pItem))
|
||||||
if (!ppAdded)
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
*ppAdded = pItem;
|
|
||||||
pItem->SetFont(m_hFont);
|
pItem->SetFont(m_hFont);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @unimplemented
|
|
||||||
inline BOOL CUIFMenu::InsertSeparator()
|
inline BOOL CUIFMenu::InsertSeparator()
|
||||||
{
|
{
|
||||||
//FIXME
|
CUIFMenuItemSeparator *pSep = new(cicNoThrow) CUIFMenuItemSeparator(this);
|
||||||
return FALSE;
|
if (!pSep)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (!m_MenuItems.Add(pSep))
|
||||||
|
{
|
||||||
|
delete pSep;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
pSep->Initialize();
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline STDMETHODIMP_(void)
|
inline STDMETHODIMP_(void)
|
||||||
|
@ -6370,3 +6390,39 @@ inline void CUIFMenuItem::ShowSubPopup()
|
||||||
::ClientToScreen(*m_pWindow, (LPPOINT)&rc.right);
|
::ClientToScreen(*m_pWindow, (LPPOINT)&rc.right);
|
||||||
m_pSubMenu->ShowSubPopup(m_pMenu, &rc, FALSE);
|
m_pSubMenu->ShowSubPopup(m_pMenu, &rc, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
inline
|
||||||
|
CUIFMenuItemSeparator::CUIFMenuItemSeparator(CUIFMenu *pMenu) : CUIFMenuItem(pMenu, TRUE)
|
||||||
|
{
|
||||||
|
m_nMenuItemID = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline STDMETHODIMP_(void)
|
||||||
|
CUIFMenuItemSeparator::InitMenuExtent()
|
||||||
|
{
|
||||||
|
m_MenuLeftExtent.cx = 0;
|
||||||
|
m_MenuLeftExtent.cy = 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline STDMETHODIMP_(void)
|
||||||
|
CUIFMenuItemSeparator::OnPaintDef(HDC hDC)
|
||||||
|
{
|
||||||
|
if (!m_pScheme)
|
||||||
|
return;
|
||||||
|
|
||||||
|
RECT rc;
|
||||||
|
rc.left = m_rc.left + 2;
|
||||||
|
rc.top = m_rc.top + (m_rc.bottom - m_rc.top - 2) / 2;
|
||||||
|
rc.right = m_rc.right - 2;
|
||||||
|
rc.bottom = rc.top + 2;
|
||||||
|
m_pScheme->DrawMenuSeparator(hDC, &rc);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @unimplemented
|
||||||
|
inline STDMETHODIMP_(void)
|
||||||
|
CUIFMenuItemSeparator::OnPaintO10(HDC hDC)
|
||||||
|
{
|
||||||
|
//FIXME
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue