summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-10-18 14:23:29 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-10-18 20:00:28 +0200
commit254b12aa799e33996edfdaacc05f587f6b724f50 (patch)
tree18fc6fcab47ede584a28bc571d37292b49bbbbb5
parent0bd476d23c647217552836b17b51b1eebefa6528 (diff)
prepare builder to support menubars
Change-Id: Iadb74e757856545895444d66ec1be7a4f7a76a49 Reviewed-on: https://gerrit.libreoffice.org/81058 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--include/vcl/NotebookBarAddonsMerger.hxx4
-rw-r--r--include/vcl/builder.hxx11
-rw-r--r--vcl/source/window/NotebookBarAddonsMerger.cxx4
-rw-r--r--vcl/source/window/builder.cxx20
4 files changed, 20 insertions, 19 deletions
diff --git a/include/vcl/NotebookBarAddonsMerger.hxx b/include/vcl/NotebookBarAddonsMerger.hxx
index 9b13ff145625..325a6d387029 100644
--- a/include/vcl/NotebookBarAddonsMerger.hxx
+++ b/include/vcl/NotebookBarAddonsMerger.hxx
@@ -30,7 +30,7 @@
#include <vector>
#include <map>
-class PopupMenu;
+class Menu;
struct NotebookBarAddonsItem
{
@@ -68,7 +68,7 @@ public:
const css::uno::Reference<css::frame::XFrame>& rFrame,
const NotebookBarAddonsItem& aNotebookBarAddonsItem,
VclBuilder::stringmap& rVec);
- static void MergeNotebookBarMenuAddons(PopupMenu* pPopupMenu, sal_Int16 nItemId,
+ static void MergeNotebookBarMenuAddons(Menu* pPopupMenu, sal_Int16 nItemId,
const OString& sItemIdName,
NotebookBarAddonsItem& aNotebookBarAddonsItem);
};
diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx
index 35504dc0d701..0e7a343fafbc 100644
--- a/include/vcl/builder.hxx
+++ b/include/vcl/builder.hxx
@@ -32,6 +32,7 @@ class Button;
class ComboBox;
class FormattedField;
class ListBox;
+class Menu;
class MessageDialog;
class NumericFormatter;
class PopupMenu;
@@ -150,8 +151,8 @@ private:
struct MenuAndId
{
OString const m_sID;
- VclPtr<PopupMenu> m_pMenu;
- MenuAndId(const OString &rId, PopupMenu *pMenu);
+ VclPtr<Menu> m_pMenu;
+ MenuAndId(const OString &rId, Menu *pMenu);
~MenuAndId();
};
std::vector<MenuAndId> m_aMenus;
@@ -365,15 +366,15 @@ private:
static void collectAccelerator(xmlreader::XmlReader &reader, accelmap &rMap);
void insertMenuObject(
- PopupMenu *pParent,
+ Menu *pParent,
PopupMenu *pSubMenu,
const OString &rClass,
const OString &rID,
stringmap &rProps,
accelmap &rAccels);
- void handleMenuChild(PopupMenu *pParent, xmlreader::XmlReader &reader);
- void handleMenuObject(PopupMenu *pParent, xmlreader::XmlReader &reader);
+ void handleMenuChild(Menu *pParent, xmlreader::XmlReader &reader);
+ void handleMenuObject(Menu *pParent, xmlreader::XmlReader &reader);
void handleListStore(xmlreader::XmlReader &reader, const OString &rID, const OString &rClass);
void handleRow(xmlreader::XmlReader &reader, const OString &rID);
diff --git a/vcl/source/window/NotebookBarAddonsMerger.cxx b/vcl/source/window/NotebookBarAddonsMerger.cxx
index 1bd4547e5987..f9d70181b814 100644
--- a/vcl/source/window/NotebookBarAddonsMerger.cxx
+++ b/vcl/source/window/NotebookBarAddonsMerger.cxx
@@ -152,7 +152,7 @@ void NotebookBarAddonsMerger::MergeNotebookBarAddons(
}
void NotebookBarAddonsMerger::MergeNotebookBarMenuAddons(
- PopupMenu* pPopupMenu, sal_Int16 nItemId, const OString& sItemIdName,
+ Menu* pPopupMenu, sal_Int16 nItemId, const OString& sItemIdName,
NotebookBarAddonsItem& aNotebookBarAddonsItem)
{
std::vector<Image> aImageVec = aNotebookBarAddonsItem.aImageValues;
@@ -189,4 +189,4 @@ void NotebookBarAddonsMerger::MergeNotebookBarMenuAddons(
}
}
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 42d5d5763a01..cc0e39c53e5e 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -3307,7 +3307,7 @@ std::vector<ComboBoxTextItem> VclBuilder::handleItems(xmlreader::XmlReader &read
void VclBuilder::handleMenu(xmlreader::XmlReader &reader, const OString &rID)
{
- VclPtr<PopupMenu> pCurrentMenu = VclPtr<PopupMenu>::Create();
+ VclPtr<Menu> pCurrentMenu = VclPtr<PopupMenu>::Create();
int nLevel = 1;
@@ -3350,7 +3350,7 @@ void VclBuilder::handleMenu(xmlreader::XmlReader &reader, const OString &rID)
m_aMenus.emplace_back(rID, pCurrentMenu);
}
-void VclBuilder::handleMenuChild(PopupMenu *pParent, xmlreader::XmlReader &reader)
+void VclBuilder::handleMenuChild(Menu *pParent, xmlreader::XmlReader &reader)
{
xmlreader::Span name;
int nsId;
@@ -3382,7 +3382,7 @@ void VclBuilder::handleMenuChild(PopupMenu *pParent, xmlreader::XmlReader &reade
}
}
-void VclBuilder::handleMenuObject(PopupMenu *pParent, xmlreader::XmlReader &reader)
+void VclBuilder::handleMenuObject(Menu *pParent, xmlreader::XmlReader &reader)
{
OString sClass;
OString sID;
@@ -3435,7 +3435,7 @@ void VclBuilder::handleMenuObject(PopupMenu *pParent, xmlreader::XmlReader &read
size_t nChildMenuIdx = m_aMenus.size();
handleChild(nullptr, reader);
assert(m_aMenus.size() > nChildMenuIdx && "menu not inserted");
- pSubMenu = m_aMenus[nChildMenuIdx].m_pMenu;
+ pSubMenu = dynamic_cast<PopupMenu*>(m_aMenus[nChildMenuIdx].m_pMenu.get());
}
else
{
@@ -3540,7 +3540,7 @@ namespace
}
}
-void VclBuilder::insertMenuObject(PopupMenu *pParent, PopupMenu *pSubMenu, const OString &rClass, const OString &rID,
+void VclBuilder::insertMenuObject(Menu *pParent, PopupMenu *pSubMenu, const OString &rClass, const OString &rID,
stringmap &rProps, accelmap &rAccels)
{
sal_uInt16 nOldCount = pParent->GetItemCount();
@@ -4129,7 +4129,7 @@ PopupMenu *VclBuilder::get_menu(const OString& sID)
for (auto const& menu : m_aMenus)
{
if (menu.m_sID == sID)
- return menu.m_pMenu;
+ return dynamic_cast<PopupMenu*>(menu.m_pMenu.get());
}
return nullptr;
@@ -4547,10 +4547,10 @@ VclBuilder::ParserState::ParserState()
, m_nLastMenuItemId(0)
{}
-VclBuilder::MenuAndId::MenuAndId(const OString &rId, PopupMenu *pMenu)
- : m_sID(rId)
- , m_pMenu(pMenu)
-{};
+VclBuilder::MenuAndId::MenuAndId(const OString &rId, Menu *pMenu)
+ : m_sID(rId)
+ , m_pMenu(pMenu)
+{}
VclBuilder::MenuAndId::~MenuAndId() {}