LibreOffice Module vcl (master) 1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
MenuBar Class Referencefinal

#include <menu.hxx>

Inheritance diagram for MenuBar:
[legend]
Collaboration diagram for MenuBar:
[legend]

Public Member Functions

 MenuBar ()
 
 MenuBar (const MenuBar &rMenu)
 
virtual ~MenuBar () override
 
virtual void dispose () override
 
MenuBaroperator= (const MenuBar &rMenu)
 
virtual bool IsMenuBar () const override
 
virtual void ClosePopup (Menu *pMenu) override
 Close the 'pStartedFrom' menu window. More...
 
virtual void MenuBarKeyInput (const KeyEvent &rEvent) override
 Forward the KeyInput call to the MenuBar. More...
 
void ShowCloseButton (bool bShow)
 
bool HasCloseButton () const
 
bool HasFloatButton () const
 
bool HasHideButton () const
 
void ShowButtons (bool bClose, bool bFloat, bool bHide)
 
virtual void SelectItem (sal_uInt16 nId) override
 
bool HandleMenuHighlightEvent (Menu *pMenu, sal_uInt16 nEventId) const
 
bool HandleMenuButtonEvent (sal_uInt16 nEventId)
 
void SetCloseButtonClickHdl (const Link< void *, void > &rLink)
 
const Link< void *, void > & GetCloseButtonClickHdl () const
 
void SetDisplayable (bool bDisplayable)
 
bool IsDisplayable () const
 
sal_uInt16 AddMenuBarButton (const Image &, const Link< MenuBarButtonCallbackArg &, bool > &, const OUString &)
 
void SetMenuBarButtonHighlightHdl (sal_uInt16 nId, const Link< MenuBarButtonCallbackArg &, bool > &)
 
tools::Rectangle GetMenuBarButtonRectPixel (sal_uInt16 nId)
 
void RemoveMenuBarButton (sal_uInt16 nId)
 
void LayoutChanged ()
 
int GetMenuBarHeight () const
 
- Public Member Functions inherited from Menu
SAL_DLLPRIVATE void ImplKillLayoutData () const
 
SAL_DLLPRIVATE vcl::WindowImplGetWindow () const
 
virtual ~Menu () override
 
virtual void dispose () override
 
void Activate ()
 
void Deactivate ()
 
void Select ()
 
void InsertItem (sal_uInt16 nItemId, const OUString &rStr, MenuItemBits nItemBits=MenuItemBits::NONE, const OUString &rIdent={}, sal_uInt16 nPos=MENU_APPEND)
 
void InsertItem (sal_uInt16 nItemId, const Image &rImage, MenuItemBits nItemBits=MenuItemBits::NONE, const OUString &rIdent={}, sal_uInt16 nPos=MENU_APPEND)
 
void InsertItem (sal_uInt16 nItemId, const OUString &rString, const Image &rImage, MenuItemBits nItemBits=MenuItemBits::NONE, const OUString &rIdent={}, sal_uInt16 nPos=MENU_APPEND)
 
void InsertSeparator (const OUString &rIdent={}, sal_uInt16 nPos=MENU_APPEND)
 
void RemoveItem (sal_uInt16 nPos)
 
void Clear ()
 
void CreateAutoMnemonics ()
 
void SetMenuFlags (MenuFlags nFlags)
 
MenuFlags GetMenuFlags () const
 
bool HasValidEntries (bool bCheckPopups) const
 
sal_uInt16 GetItemCount () const
 
sal_uInt16 GetItemId (sal_uInt16 nPos) const
 
sal_uInt16 GetItemId (std::u16string_view rIdent) const
 
sal_uInt16 GetItemPos (sal_uInt16 nItemId) const
 
OUString GetItemIdent (sal_uInt16 nItemId) const
 
MenuItemType GetItemType (sal_uInt16 nPos) const
 
sal_uInt16 GetCurItemId () const
 
OUString const & GetCurItemIdent () const
 
void SetItemBits (sal_uInt16 nItemId, MenuItemBits nBits)
 
MenuItemBits GetItemBits (sal_uInt16 nItemId) const
 
void SetUserValue (sal_uInt16 nItemId, void *nUserValue, MenuUserDataReleaseFunction aFunc=nullptr)
 
void * GetUserValue (sal_uInt16 nItemId) const
 
void SetPopupMenu (sal_uInt16 nItemId, PopupMenu *pMenu)
 
PopupMenuGetPopupMenu (sal_uInt16 nItemId) const
 
void SetAccelKey (sal_uInt16 nItemId, const vcl::KeyCode &rKeyCode)
 
vcl::KeyCode GetAccelKey (sal_uInt16 nItemId) const
 
void CheckItem (sal_uInt16 nItemId, bool bCheck=true)
 
void CheckItem (std::u16string_view rIdent, bool bCheck=true)
 
bool IsItemChecked (sal_uInt16 nItemId) const
 
virtual void SelectItem (sal_uInt16 nItemId)=0
 
void EnableItem (sal_uInt16 nItemId, bool bEnable=true)
 
void EnableItem (std::u16string_view rIdent, bool bEnable=true)
 
bool IsItemEnabled (sal_uInt16 nItemId) const
 
void ShowItem (sal_uInt16 nItemId, bool bVisible=true)
 
void HideItem (sal_uInt16 nItemId)
 
bool IsItemPosVisible (sal_uInt16 nItemPos) const
 
bool IsMenuVisible () const
 
virtual bool IsMenuBar () const =0
 
void RemoveDisabledEntries (bool bRemoveEmptyPopups=false)
 
void UpdateNativeMenu ()
 
void SetItemText (sal_uInt16 nItemId, const OUString &rStr)
 
OUString GetItemText (sal_uInt16 nItemId) const
 
void SetItemImage (sal_uInt16 nItemId, const Image &rImage)
 
Image GetItemImage (sal_uInt16 nItemId) const
 
void SetItemCommand (sal_uInt16 nItemId, const OUString &rCommand)
 
OUString GetItemCommand (sal_uInt16 nItemId) const
 
void SetHelpText (sal_uInt16 nItemId, const OUString &rString)
 
OUString GetHelpText (sal_uInt16 nItemId) const
 
void SetTipHelpText (sal_uInt16 nItemId, const OUString &rString)
 
OUString GetTipHelpText (sal_uInt16 nItemId) const
 
void SetHelpCommand (sal_uInt16 nItemId, const OUString &rString)
 
OUString GetHelpCommand (sal_uInt16 nItemId) const
 
void SetHelpId (sal_uInt16 nItemId, const OUString &rHelpId)
 
OUString GetHelpId (sal_uInt16 nItemId) const
 
void SetHelpId (const OUString &rHelpId)
 
OUString GetHelpId () const
 
void SetActivateHdl (const Link< Menu *, bool > &rLink)
 
void SetDeactivateHdl (const Link< Menu *, bool > &rLink)
 
void SetSelectHdl (const Link< Menu *, bool > &rLink)
 
sal_uInt16 GetTitleHeight () const
 
void AddEventListener (const Link< VclMenuEvent &, void > &rEventListener)
 
void RemoveEventListener (const Link< VclMenuEvent &, void > &rEventListener)
 
Menuoperator= (const Menu &rMenu)
 
MenuItemListGetItemList () const
 
void GetSystemMenuData (SystemMenuData *pData) const
 
tools::Rectangle GetCharacterBounds (sal_uInt16 nItemId, tools::Long nIndex) const
 
tools::Long GetIndexForPoint (const Point &rPoint, sal_uInt16 &rItemID) const
 
tools::Rectangle GetBoundingRectangle (sal_uInt16 nItemPos) const
 
css::uno::Reference< css::accessibility::XAccessible > GetAccessible ()
 
void SetAccessible (const css::uno::Reference< css::accessibility::XAccessible > &rxAccessible)
 
KeyEvent GetActivationKey (sal_uInt16 nItemId) const
 
vcl::WindowGetWindow () const
 
void SetAccessibleName (sal_uInt16 nItemId, const OUString &rStr)
 
OUString GetAccessibleName (sal_uInt16 nItemId) const
 
void SetAccessibleDescription (sal_uInt16 nItemId, const OUString &rStr)
 
OUString GetAccessibleDescription (sal_uInt16 nItemId) const
 
bool IsHighlighted (sal_uInt16 nItemPos) const
 
void HighlightItem (sal_uInt16 nItemPos)
 
void DeHighlight ()
 
bool HandleMenuCommandEvent (Menu *pMenu, sal_uInt16 nEventId) const
 
bool HandleMenuActivateEvent (Menu *pMenu) const
 
bool HandleMenuDeActivateEvent (Menu *pMenu) const
 
void set_id (const OUString &rID)
 Sets an ID. More...
 
const OUString & get_id () const
 Get the ID of the window. More...
 
- Public Member Functions inherited from VclReferenceBase
void acquire () const
 
void release () const
 
sal_Int32 getRefCount () const
 
void disposeOnce ()
 
bool isDisposed () const
 

Private Member Functions

SAL_DLLPRIVATE bool ImplHandleKeyEvent (const KeyEvent &rKEvent)
 
MenuBarWindowgetMenuBarWindow ()
 Return the MenuBarWindow. More...
 

Static Private Member Functions

static SAL_DLLPRIVATE VclPtr< vcl::WindowImplCreate (vcl::Window *pParent, vcl::Window *pWindow, MenuBar *pMenu)
 
static SAL_DLLPRIVATE void ImplDestroy (MenuBar *pMenu, bool bDelete)
 

Private Attributes

Link< void *, void > maCloseHdl
 
bool mbCloseBtnVisible: 1
 
bool mbFloatBtnVisible: 1
 
bool mbHideBtnVisible: 1
 
bool mbDisplayable: 1
 

Friends

class Application
 
class Menu
 
class MenuBarWindow
 
class MenuFloatingWindow
 
class SystemWindow
 

Additional Inherited Members

- Protected Member Functions inherited from Menu
SAL_DLLPRIVATE MenuImplGetStartMenu ()
 
SAL_DLLPRIVATE MenuImplFindSelectMenu ()
 
SAL_DLLPRIVATE MenuImplFindMenu (sal_uInt16 nId)
 
SAL_DLLPRIVATE Size ImplCalcSize (vcl::Window *pWin)
 
SAL_DLLPRIVATE bool ImplIsVisible (sal_uInt16 nPos) const
 
SAL_DLLPRIVATE bool ImplCurrentlyHiddenOnGUI (sal_uInt16 nPos) const
 
SAL_DLLPRIVATE bool ImplIsSelectable (sal_uInt16 nPos) const
 
SAL_DLLPRIVATE sal_uInt16 ImplGetVisibleItemCount () const
 
SAL_DLLPRIVATE sal_uInt16 ImplGetFirstVisible () const
 
SAL_DLLPRIVATE sal_uInt16 ImplGetPrevVisible (sal_uInt16 nPos) const
 
SAL_DLLPRIVATE sal_uInt16 ImplGetNextVisible (sal_uInt16 nPos) const
 
SAL_DLLPRIVATE void ImplPaint (vcl::RenderContext &rRenderContext, Size const &rSize, sal_uInt16 nBorder, tools::Long nOffY=0, MenuItemData const *pThisDataOnly=nullptr, bool bHighlighted=false, bool bLayout=false, bool bRollover=false) const
 
SAL_DLLPRIVATE void ImplPaintMenuTitle (vcl::RenderContext &, const tools::Rectangle &rRect) const
 
SAL_DLLPRIVATE void ImplSelect ()
 
SAL_DLLPRIVATE void ImplCallHighlight (sal_uInt16 nHighlightItem)
 
SAL_DLLPRIVATE void ImplCallEventListeners (VclEventId nEvent, sal_uInt16 nPos)
 
 DECL_DLLPRIVATE_LINK (ImplCallSelect, void *, void)
 
SAL_DLLPRIVATE void ImplFillLayoutData () const
 
SAL_DLLPRIVATE SalMenuImplGetSalMenu ()
 
SAL_DLLPRIVATE OUString ImplGetHelpText (sal_uInt16 nItemId) const
 
SAL_DLLPRIVATE Size ImplGetNativeCheckAndRadioSize (vcl::RenderContext const &rRenderContext, tools::Long &rCheckHeight, tools::Long &rRadioHeight) const
 
SAL_DLLPRIVATE void ImplAddDel (ImplMenuDelData &rDel)
 
SAL_DLLPRIVATE void ImplRemoveDel (ImplMenuDelData &rDel)
 
SAL_DLLPRIVATE MenuItemDataNbcInsertItem (sal_uInt16 nId, MenuItemBits nBits, const OUString &rStr, Menu *pMenu, size_t nPos, const OUString &rIdent)
 
virtual void ClosePopup (Menu *pMenu)=0
 Close the 'pStartedFrom' menu window. More...
 
virtual void MenuBarKeyInput (const KeyEvent &rEvent)
 Forward the KeyInput call to the MenuBar. More...
 
 Menu ()
 The Menu constructor is protected. More...
 
- Protected Member Functions inherited from VclReferenceBase
 VclReferenceBase ()
 
virtual ~VclReferenceBase ()
 
virtual void dispose ()
 
- Static Protected Member Functions inherited from Menu
static SAL_DLLPRIVATE bool ImplGetNativeSubmenuArrowSize (vcl::RenderContext const &rRenderContext, Size &rArrowSize, tools::Long &rArrowSpacing)
 

Detailed Description

Definition at line 412 of file menu.hxx.

Constructor & Destructor Documentation

◆ MenuBar() [1/2]

MenuBar::MenuBar ( )

◆ MenuBar() [2/2]

MenuBar::MenuBar ( const MenuBar rMenu)

◆ ~MenuBar()

MenuBar::~MenuBar ( )
overridevirtual

Definition at line 2406 of file menu.cxx.

References VclReferenceBase::disposeOnce().

Member Function Documentation

◆ AddMenuBarButton()

sal_uInt16 MenuBar::AddMenuBarButton ( const Image i_rImage,
const Link< MenuBarButtonCallbackArg &, bool > &  i_rLink,
const OUString &  i_rToolTip 
)

◆ ClosePopup()

void MenuBar::ClosePopup ( Menu pMenu)
overridevirtual

Close the 'pStartedFrom' menu window.

Implements Menu.

Definition at line 2417 of file menu.cxx.

References getMenuBarWindow(), and MenuBarWindow::PopupClosed().

◆ dispose()

void MenuBar::dispose ( void  )
overridevirtual

Reimplemented from Menu.

Definition at line 2411 of file menu.cxx.

References Menu::dispose(), and ImplDestroy().

◆ GetCloseButtonClickHdl()

const Link< void *, void > & MenuBar::GetCloseButtonClickHdl ( ) const
inline

Definition at line 460 of file menu.hxx.

Referenced by IMPL_LINK_NOARG().

◆ GetMenuBarButtonRectPixel()

tools::Rectangle MenuBar::GetMenuBarButtonRectPixel ( sal_uInt16  nId)

◆ GetMenuBarHeight()

int MenuBar::GetMenuBarHeight ( ) const

◆ getMenuBarWindow()

MenuBarWindow * MenuBar::getMenuBarWindow ( )
private

◆ HandleMenuButtonEvent()

bool MenuBar::HandleMenuButtonEvent ( sal_uInt16  nEventId)

Definition at line 2663 of file menu.cxx.

References getMenuBarWindow(), and MenuBarWindow::HandleMenuButtonEvent().

Referenced by ImplHandleMenuEvent().

◆ HandleMenuHighlightEvent()

bool MenuBar::HandleMenuHighlightEvent ( Menu pMenu,
sal_uInt16  nEventId 
) const

◆ HasCloseButton()

bool MenuBar::HasCloseButton ( ) const
inline

Definition at line 450 of file menu.hxx.

Referenced by MenuBarWindow::SetMenu().

◆ HasFloatButton()

bool MenuBar::HasFloatButton ( ) const
inline

Definition at line 451 of file menu.hxx.

Referenced by MenuBarWindow::SetMenu().

◆ HasHideButton()

bool MenuBar::HasHideButton ( ) const
inline

Definition at line 452 of file menu.hxx.

Referenced by MenuBarWindow::SetMenu().

◆ ImplCreate()

VclPtr< vcl::Window > MenuBar::ImplCreate ( vcl::Window pParent,
vcl::Window pWindow,
MenuBar pMenu 
)
staticprivate

◆ ImplDestroy()

void MenuBar::ImplDestroy ( MenuBar pMenu,
bool  bDelete 
)
staticprivate

◆ ImplHandleKeyEvent()

bool MenuBar::ImplHandleKeyEvent ( const KeyEvent rKEvent)
private

◆ IsDisplayable()

bool MenuBar::IsDisplayable ( ) const
inline

Definition at line 467 of file menu.hxx.

Referenced by ImplCreate(), ImplHandleKeyEvent(), and MenuBarWindow::LayoutChanged().

◆ IsMenuBar()

virtual bool MenuBar::IsMenuBar ( ) const
inlineoverridevirtual

Implements Menu.

Definition at line 441 of file menu.hxx.

◆ LayoutChanged()

void MenuBar::LayoutChanged ( )

Definition at line 2450 of file menu.cxx.

References getMenuBarWindow(), and MenuBarWindow::LayoutChanged().

Referenced by SetDisplayable().

◆ MenuBarKeyInput()

void MenuBar::MenuBarKeyInput ( const KeyEvent rEvent)
overridevirtual

Forward the KeyInput call to the MenuBar.

Reimplemented from Menu.

Definition at line 2425 of file menu.cxx.

References vcl::Window::KeyInput(), and Menu::pWindow.

◆ operator=()

MenuBar & MenuBar::operator= ( const MenuBar rMenu)
inline

Definition at line 488 of file menu.hxx.

References Menu::operator=().

◆ RemoveMenuBarButton()

void MenuBar::RemoveMenuBarButton ( sal_uInt16  nId)

◆ SelectItem()

void MenuBar::SelectItem ( sal_uInt16  nId)
overridevirtual

◆ SetCloseButtonClickHdl()

void MenuBar::SetCloseButtonClickHdl ( const Link< void *, void > &  rLink)
inline

Definition at line 459 of file menu.hxx.

◆ SetDisplayable()

void MenuBar::SetDisplayable ( bool  bDisplayable)

◆ SetMenuBarButtonHighlightHdl()

void MenuBar::SetMenuBarButtonHighlightHdl ( sal_uInt16  nId,
const Link< MenuBarButtonCallbackArg &, bool > &  rLink 
)

◆ ShowButtons()

void MenuBar::ShowButtons ( bool  bClose,
bool  bFloat,
bool  bHide 
)

◆ ShowCloseButton()

void MenuBar::ShowCloseButton ( bool  bShow)

Definition at line 2430 of file menu.cxx.

References mbFloatBtnVisible, mbHideBtnVisible, and ShowButtons().

Friends And Related Function Documentation

◆ Application

friend class Application
friend

Definition at line 420 of file menu.hxx.

◆ Menu

friend class Menu
friend

Definition at line 421 of file menu.hxx.

◆ MenuBarWindow

friend class MenuBarWindow
friend

Definition at line 422 of file menu.hxx.

◆ MenuFloatingWindow

friend class MenuFloatingWindow
friend

Definition at line 423 of file menu.hxx.

◆ SystemWindow

friend class SystemWindow
friend

Definition at line 424 of file menu.hxx.

Member Data Documentation

◆ maCloseHdl

Link<void*,void> MenuBar::maCloseHdl
private

Definition at line 414 of file menu.hxx.

◆ mbCloseBtnVisible

bool MenuBar::mbCloseBtnVisible
private

Definition at line 415 of file menu.hxx.

Referenced by ShowButtons().

◆ mbDisplayable

bool MenuBar::mbDisplayable
private

Definition at line 418 of file menu.hxx.

Referenced by SetDisplayable().

◆ mbFloatBtnVisible

bool MenuBar::mbFloatBtnVisible
private

Definition at line 416 of file menu.hxx.

Referenced by ShowButtons(), and ShowCloseButton().

◆ mbHideBtnVisible

bool MenuBar::mbHideBtnVisible
private

Definition at line 417 of file menu.hxx.

Referenced by ShowButtons(), and ShowCloseButton().


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