accessibility/Library_acc.mk                                |    8 ---
 accessibility/inc/pch/precompiled_acc.hxx                   |    2 
 accessibility/source/helper/acc_factory.cxx                 |   15 ------
 accessibility/source/standard/svtaccessiblenumericfield.cxx |   22 +++++-----
 accessibility/source/standard/vclxaccessibleedit.cxx        |    6 +-
 include/toolkit/helper/accessiblefactory.hxx                |    5 --
 include/vcl/menu.hxx                                        |    3 +
 include/vcl/toolkit/fmtfield.hxx                            |    2 
 include/vcl/toolkit/unowrap.hxx                             |    4 -
 solenv/clang-format/excludelist                             |   26 ++++++------
 toolkit/inc/helper/unowrapper.hxx                           |    4 -
 toolkit/source/helper/unowrapper.cxx                        |    5 --
 vcl/Library_vcl.mk                                          |    8 +++
 vcl/inc/accessibility/accessiblemenucomponent.hxx           |    3 -
 vcl/inc/accessibility/accessiblemenuitemcomponent.hxx       |    2 
 vcl/inc/accessibility/vclxaccessiblemenu.hxx                |    2 
 vcl/inc/accessibility/vclxaccessiblemenubar.hxx             |    2 
 vcl/inc/accessibility/vclxaccessiblemenuitem.hxx            |    2 
 vcl/inc/accessibility/vclxaccessiblemenuseparator.hxx       |    2 
 vcl/inc/accessibility/vclxaccessiblepopupmenu.hxx           |    2 
 vcl/source/accessibility/accessiblemenubasecomponent.cxx    |    8 +--
 vcl/source/accessibility/accessiblemenucomponent.cxx        |    2 
 vcl/source/accessibility/accessiblemenuitemcomponent.cxx    |    2 
 vcl/source/accessibility/vclxaccessiblemenu.cxx             |    2 
 vcl/source/accessibility/vclxaccessiblemenubar.cxx          |    2 
 vcl/source/accessibility/vclxaccessiblemenuitem.cxx         |    3 -
 vcl/source/accessibility/vclxaccessiblemenuseparator.cxx    |    2 
 vcl/source/accessibility/vclxaccessiblepopupmenu.cxx        |    2 
 vcl/source/window/menu.cxx                                  |   21 +++++++--
 29 files changed, 75 insertions(+), 94 deletions(-)

New commits:
commit 1d2f37a93cb6746dfb08731579d269478943d2a0
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Dec 4 16:17:03 2024 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Wed Dec 4 20:47:44 2024 +0100

    a11y: Use FormattedField directly in SVTXAccessibleNumericField
    
    ... instead of using the toolkit/UNO wrapper
    SVTXNumericField.
    
    Change-Id: I86e274a06f210e2076e287087a1d4b979abe7c35
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177814
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/accessibility/source/standard/svtaccessiblenumericfield.cxx 
b/accessibility/source/standard/svtaccessiblenumericfield.cxx
index f3192d4212f0..50a17a1373ec 100644
--- a/accessibility/source/standard/svtaccessiblenumericfield.cxx
+++ b/accessibility/source/standard/svtaccessiblenumericfield.cxx
@@ -19,7 +19,7 @@
 
 #include <standard/svtaccessiblenumericfield.hxx>
 #include <comphelper/accessiblecontexthelper.hxx>
-#include <toolkit/awt/vclxwindows.hxx>
+#include <vcl/toolkit/fmtfield.hxx>
 
 #include <com/sun/star/accessibility/AccessibleEventId.hpp>
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
@@ -50,9 +50,9 @@ css::uno::Any SAL_CALL 
SVTXAccessibleNumericField::getCurrentValue()
     OExternalLockGuard aGuard(this);
 
     double dValue = 0;
-    SVTXNumericField* pField = static_cast<SVTXNumericField*>(GetVCLXWindow());
+    VclPtr<FormattedField> pField = GetAs<FormattedField>();
     if (pField)
-        dValue = pField->getValue();
+        dValue = pField->GetFormatter().GetValue();
 
     return css::uno::Any(dValue);
 }
@@ -61,13 +61,13 @@ sal_Bool SVTXAccessibleNumericField::setCurrentValue(const 
css::uno::Any& aNumbe
 {
     OExternalLockGuard aGuard(this);
 
-    SVTXNumericField* pField = static_cast<SVTXNumericField*>(GetVCLXWindow());
+    VclPtr<FormattedField> pField = GetAs<FormattedField>();
     if (!pField)
         return false;
 
     double dValue = 0;
     aNumber >>= dValue;
-    pField->setValue(dValue);
+    pField->GetFormatter().SetValue(dValue);
     return true;
 }
 
@@ -76,9 +76,9 @@ css::uno::Any SAL_CALL 
SVTXAccessibleNumericField::getMaximumValue()
     OExternalLockGuard aGuard(this);
 
     double dValue = 0;
-    SVTXNumericField* pField = static_cast<SVTXNumericField*>(GetVCLXWindow());
+    VclPtr<FormattedField> pField = GetAs<FormattedField>();
     if (pField)
-        dValue = pField->getMax();
+        dValue = pField->GetFormatter().GetMaxValue();
 
     return css::uno::Any(dValue);
 }
@@ -88,9 +88,9 @@ css::uno::Any SAL_CALL 
SVTXAccessibleNumericField::getMinimumValue()
     OExternalLockGuard aGuard(this);
 
     double dValue = 0;
-    SVTXNumericField* pField = static_cast<SVTXNumericField*>(GetVCLXWindow());
+    VclPtr<FormattedField> pField = GetAs<FormattedField>();
     if (pField)
-        dValue = pField->getMin();
+        dValue = pField->GetFormatter().GetMinValue();
 
     return css::uno::Any(dValue);
 }
@@ -100,9 +100,9 @@ css::uno::Any SAL_CALL 
SVTXAccessibleNumericField::getMinimumIncrement()
     OExternalLockGuard aGuard(this);
 
     double dValue = 0;
-    SVTXNumericField* pField = static_cast<SVTXNumericField*>(GetVCLXWindow());
+    VclPtr<FormattedField> pField = GetAs<FormattedField>();
     if (pField)
-        dValue = pField->getSpinSize();
+        dValue = pField->GetFormatter().GetSpinSize();
 
     return css::uno::Any(dValue);
 }
diff --git a/include/vcl/toolkit/fmtfield.hxx b/include/vcl/toolkit/fmtfield.hxx
index f62c5a3a2517..34b7ea755707 100644
--- a/include/vcl/toolkit/fmtfield.hxx
+++ b/include/vcl/toolkit/fmtfield.hxx
@@ -26,7 +26,7 @@
 #include <vcl/formatter.hxx>
 #include <vcl/toolkit/spinfld.hxx>
 
-class UNLESS_MERGELIBS(VCL_DLLPUBLIC) FormattedField : public SpinField
+class VCL_DLLPUBLIC FormattedField : public SpinField
 {
 public:
     FormattedField(vcl::Window* pParent, WinBits nStyle);
commit def785ee31bc71fc8edb4f717280265fa9f80b0a
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Dec 4 16:02:29 2024 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Wed Dec 4 20:47:37 2024 +0100

    a11y: Use vcl::Window instead of VCLXWindow right away
    
    Use the vcl::Window for the null check instead of the
    corresponding VCLXWindow. There's no need to
    use a toolkit class here, in particular since the
    vcl::Window is used later anyway.
    
    Change-Id: Ia2c80f9634eadf33601af8c9ea1f628e7ea3e96b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177813
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/accessibility/source/standard/vclxaccessibleedit.cxx 
b/accessibility/source/standard/vclxaccessibleedit.cxx
index 5cb259dddc08..e87ed8960503 100644
--- a/accessibility/source/standard/vclxaccessibleedit.cxx
+++ b/accessibility/source/standard/vclxaccessibleedit.cxx
@@ -108,12 +108,12 @@ void VCLXAccessibleEdit::FillAccessibleStateSet( 
sal_Int64& rStateSet )
 {
     VCLXAccessibleTextComponent::FillAccessibleStateSet( rStateSet );
 
-    VCLXWindow* pVCLXWindow = GetVCLXWindow();
-    if (pVCLXWindow)
+    vcl::Window* pWindow = GetWindow();
+    if (pWindow)
     {
         rStateSet |= AccessibleStateType::FOCUSABLE;
 
-        if (GetWindow() && GetWindow()->GetType() == WindowType::MULTILINEEDIT)
+        if (pWindow->GetType() == WindowType::MULTILINEEDIT)
             rStateSet |= AccessibleStateType::MULTI_LINE;
         else
             rStateSet |= AccessibleStateType::SINGLE_LINE;
commit 739b0716504d2526fb7283100420e4bd5eacb7c2
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Dec 4 15:48:51 2024 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Wed Dec 4 20:47:30 2024 +0100

    a11y: Move menu a11y classes to vcl, no more use factory
    
    Other than most of the a11y implementations for vcl
    classes, VCLXAccessiblePopupMenu etc. do not
    make use of any VCLXWindow (i.e. UNO/toolkit wrapper of a
    vcl::Window) and thus do not depend on the toolkit
    module, which the accessibility module depends on.
    
    Therefore, there's also no need to use the accessible
    factory to create them (which is needed when toolkit
    classes are involved to avoid a dependency cycle).
    
    Move those classes from the accessibility module to
    vcl and add a new method Menu::CreateAccessible and
    move the logic from AccessibleFactory::createAccessible
    there. Drop the now unnecessary factory methods
    previously used for those classes.
    
    No change in behavior intended (yet), but this
    also simplifies the code involved for the
    tdf#164093 scenario.
    
    Change-Id: Ie3f6f1a02bf6662206d31383473cdc868e1f9164
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177812
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/accessibility/Library_acc.mk b/accessibility/Library_acc.mk
index 7080203fccaf..5acdf2a7be99 100644
--- a/accessibility/Library_acc.mk
+++ b/accessibility/Library_acc.mk
@@ -72,9 +72,6 @@ $(eval $(call gb_Library_add_exception_objects,acc,\
     accessibility/source/helper/acc_factory \
     accessibility/source/helper/accresmgr \
     accessibility/source/helper/IComboListBoxHelper \
-    accessibility/source/standard/accessiblemenubasecomponent \
-    accessibility/source/standard/accessiblemenucomponent \
-    accessibility/source/standard/accessiblemenuitemcomponent \
     accessibility/source/standard/floatingwindowaccessible \
     accessibility/source/standard/svtaccessiblenumericfield \
     accessibility/source/standard/vclxaccessiblebox \
@@ -91,11 +88,6 @@ $(eval $(call gb_Library_add_exception_objects,acc,\
     accessibility/source/standard/vclxaccessiblelist \
     accessibility/source/standard/vclxaccessiblelistbox \
     accessibility/source/standard/vclxaccessiblelistitem \
-    accessibility/source/standard/vclxaccessiblemenu \
-    accessibility/source/standard/vclxaccessiblemenubar \
-    accessibility/source/standard/vclxaccessiblemenuitem \
-    accessibility/source/standard/vclxaccessiblemenuseparator \
-    accessibility/source/standard/vclxaccessiblepopupmenu \
     accessibility/source/standard/vclxaccessibleradiobutton \
     accessibility/source/standard/vclxaccessiblescrollbar \
     accessibility/source/standard/vclxaccessiblestatusbar \
diff --git a/accessibility/inc/pch/precompiled_acc.hxx 
b/accessibility/inc/pch/precompiled_acc.hxx
index 7919e40b3c08..ca08b4d1858e 100644
--- a/accessibility/inc/pch/precompiled_acc.hxx
+++ b/accessibility/inc/pch/precompiled_acc.hxx
@@ -305,8 +305,6 @@
 #include <sot/exchange.hxx>
 #include <sot/formats.hxx>
 #include <sot/sotdllapi.h>
-#include <standard/accessiblemenubasecomponent.hxx>
-#include <standard/accessiblemenuitemcomponent.hxx>
 #include <standard/vclxaccessiblebox.hxx>
 #include <standard/vclxaccessibletextcomponent.hxx>
 #include <svl/SfxBroadcaster.hxx>
diff --git a/accessibility/source/helper/acc_factory.cxx 
b/accessibility/source/helper/acc_factory.cxx
index d95d47b214d9..191cc7528703 100644
--- a/accessibility/source/helper/acc_factory.cxx
+++ b/accessibility/source/helper/acc_factory.cxx
@@ -42,8 +42,6 @@
 #include <standard/vclxaccessiblestatusbar.hxx>
 #include <standard/vclxaccessibletabcontrol.hxx>
 #include <standard/vclxaccessibletabpagewindow.hxx>
-#include <standard/vclxaccessiblemenubar.hxx>
-#include <standard/vclxaccessiblepopupmenu.hxx>
 #include <extended/accessibletablistbox.hxx>
 #include <extended/AccessibleBrowseBox.hxx>
 #include <extended/accessibleiconchoicectrl.hxx>
@@ -115,8 +113,6 @@ public:
         createAccessibleContext( SVTXNumericField* _pXWindow ) override;
     virtual css::uno::Reference< css::accessibility::XAccessibleContext >
         createAccessibleContext( VCLXWindow* _pXWindow ) override;
-    virtual css::uno::Reference< css::accessibility::XAccessible >
-        createAccessible( Menu* _pMenu, bool _bIsMenuBar ) override;
 
     // ::vcl::IAccessibleFactory
     virtual vcl::IAccessibleTabListBox*
@@ -224,17 +220,6 @@ AccessibleFactory::~AccessibleFactory()
 {
 }
 
-Reference< XAccessible > AccessibleFactory::createAccessible( Menu* _pMenu, 
bool _bIsMenuBar )
-{
-    rtl::Reference<OAccessibleMenuBaseComponent> pAccessible;
-    if ( _bIsMenuBar )
-        pAccessible = new VCLXAccessibleMenuBar( _pMenu );
-    else
-        pAccessible = new VCLXAccessiblePopupMenu( _pMenu );
-    pAccessible->SetStates();
-    return pAccessible;
-}
-
 Reference< XAccessibleContext > AccessibleFactory::createAccessibleContext( 
VCLXButton* _pXWindow )
 {
     return new VCLXAccessibleButton( _pXWindow );
diff --git a/include/toolkit/helper/accessiblefactory.hxx 
b/include/toolkit/helper/accessiblefactory.hxx
index 6c0532ce9edb..2b2c3455abd7 100644
--- a/include/toolkit/helper/accessiblefactory.hxx
+++ b/include/toolkit/helper/accessiblefactory.hxx
@@ -133,11 +133,6 @@ namespace toolkit
         virtual css::uno::Reference< css::accessibility::XAccessibleContext >
             createAccessibleContext( VCLXWindow* _pXWindow ) = 0;
 
-        /** creates an accessible component for the given menu
-        */
-        virtual css::uno::Reference< css::accessibility::XAccessible >
-            createAccessible( Menu* _pMenu, bool _bIsMenuBar ) = 0;
-
     protected:
         virtual ~IAccessibleFactory() override {}
     };
diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx
index 19216d9585cc..e241609fcdb6 100644
--- a/include/vcl/menu.hxx
+++ b/include/vcl/menu.hxx
@@ -401,6 +401,9 @@ public:
      * Get the ID of the window.
      */
     const OUString& get_id() const { return maID; }
+
+private:
+    css::uno::Reference<css::accessibility::XAccessible> CreateAccessible();
 };
 
 struct MenuBarButtonCallbackArg
diff --git a/include/vcl/toolkit/unowrap.hxx b/include/vcl/toolkit/unowrap.hxx
index 359810652e05..9d1231919229 100644
--- a/include/vcl/toolkit/unowrap.hxx
+++ b/include/vcl/toolkit/unowrap.hxx
@@ -65,10 +65,6 @@ public:
 
     virtual void                WindowDestroyed( vcl::Window* pWindow ) = 0;
 
-    // Accessibility
-    virtual css::uno::Reference< css::accessibility::XAccessible >
-                                CreateAccessible( Menu* pMenu, bool bIsMenuBar 
) = 0;
-
     /** Get the application's UNO wrapper object.
 
      Note that this static function will only ever try to create UNO wrapper 
object once, and
diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist
index acffbef29a58..74614d7f5a58 100644
--- a/solenv/clang-format/excludelist
+++ b/solenv/clang-format/excludelist
@@ -46,9 +46,6 @@ accessibility/inc/extended/accessibletablistboxtable.hxx
 accessibility/inc/extended/textwindowaccessibility.hxx
 accessibility/inc/helper/IComboListBoxHelper.hxx
 accessibility/inc/helper/listboxhelper.hxx
-accessibility/inc/standard/accessiblemenubasecomponent.hxx
-accessibility/inc/standard/accessiblemenucomponent.hxx
-accessibility/inc/standard/accessiblemenuitemcomponent.hxx
 accessibility/inc/standard/vclxaccessiblebox.hxx
 accessibility/inc/standard/vclxaccessiblebutton.hxx
 accessibility/inc/standard/vclxaccessiblecheckbox.hxx
@@ -56,9 +53,6 @@ accessibility/inc/standard/vclxaccessibleedit.hxx
 accessibility/inc/standard/vclxaccessibleheaderbaritem.hxx
 accessibility/inc/standard/vclxaccessiblelist.hxx
 accessibility/inc/standard/vclxaccessiblelistitem.hxx
-accessibility/inc/standard/vclxaccessiblemenu.hxx
-accessibility/inc/standard/vclxaccessiblemenubar.hxx
-accessibility/inc/standard/vclxaccessiblemenuitem.hxx
 accessibility/inc/standard/vclxaccessibleradiobutton.hxx
 accessibility/inc/standard/vclxaccessiblescrollbar.hxx
 accessibility/inc/standard/vclxaccessiblestatusbar.hxx
@@ -99,9 +93,6 @@ accessibility/source/extended/accessibletablistbox.cxx
 accessibility/source/extended/accessibletablistboxtable.cxx
 accessibility/source/extended/textwindowaccessibility.cxx
 accessibility/source/helper/acc_factory.cxx
-accessibility/source/standard/accessiblemenubasecomponent.cxx
-accessibility/source/standard/accessiblemenucomponent.cxx
-accessibility/source/standard/accessiblemenuitemcomponent.cxx
 accessibility/source/standard/floatingwindowaccessible.cxx
 accessibility/source/standard/vclxaccessiblebox.cxx
 accessibility/source/standard/vclxaccessiblebutton.cxx
@@ -114,10 +105,6 @@ 
accessibility/source/standard/vclxaccessibleheaderbaritem.cxx
 accessibility/source/standard/vclxaccessiblelist.cxx
 accessibility/source/standard/vclxaccessiblelistbox.cxx
 accessibility/source/standard/vclxaccessiblelistitem.cxx
-accessibility/source/standard/vclxaccessiblemenu.cxx
-accessibility/source/standard/vclxaccessiblemenubar.cxx
-accessibility/source/standard/vclxaccessiblemenuitem.cxx
-accessibility/source/standard/vclxaccessiblepopupmenu.cxx
 accessibility/source/standard/vclxaccessibleradiobutton.cxx
 accessibility/source/standard/vclxaccessiblescrollbar.cxx
 accessibility/source/standard/vclxaccessiblestatusbar.cxx
@@ -14173,6 +14160,12 @@ vcl/inc/IPrioritable.hxx
 vcl/inc/ResampleKernel.hxx
 vcl/inc/bitmap/bmpfast.hxx
 vcl/inc/accel.hxx
+vcl/inc/accessibility/accessiblemenubasecomponent.hxx
+vcl/inc/accessibility/accessiblemenucomponent.hxx
+vcl/inc/accessibility/accessiblemenuitemcomponent.hxx
+vcl/inc/accessibility/vclxaccessiblemenu.hxx
+vcl/inc/accessibility/vclxaccessiblemenubar.hxx
+vcl/inc/accessibility/vclxaccessiblemenuitem.hxx
 vcl/inc/accmgr.hxx
 vcl/inc/animate/AnimationRenderer.hxx
 vcl/inc/brdwin.hxx
@@ -14522,6 +14515,13 @@ vcl/quartz/salgdicommon.cxx
 vcl/quartz/salvd.cxx
 vcl/quartz/utils.cxx
 vcl/source/accessibility/characterattributeshelper.cxx
+vcl/source/accessibility/accessiblemenubasecomponent.cxx
+vcl/source/accessibility/accessiblemenucomponent.cxx
+vcl/source/accessibility/accessiblemenuitemcomponent.cxx
+vcl/source/accessibility/vclxaccessiblemenu.cxx
+vcl/source/accessibility/vclxaccessiblemenubar.cxx
+vcl/source/accessibility/vclxaccessiblemenuitem.cxx
+vcl/source/accessibility/vclxaccessiblepopupmenu.cxx
 vcl/source/animate/AnimationRenderer.cxx
 vcl/source/app/IconThemeInfo.cxx
 vcl/source/app/IconThemeScanner.cxx
diff --git a/toolkit/inc/helper/unowrapper.hxx 
b/toolkit/inc/helper/unowrapper.hxx
index dfed1b1215f1..274e60beb2c3 100644
--- a/toolkit/inc/helper/unowrapper.hxx
+++ b/toolkit/inc/helper/unowrapper.hxx
@@ -60,10 +60,6 @@ public:
 
     void                WindowDestroyed( vcl::Window* pWindow ) override;
 
-    // Accessibility
-    virtual css::uno::Reference< css::accessibility::XAccessible >
-                        CreateAccessible( Menu* pMenu, bool bIsMenuBar ) 
override;
-
 private:
     virtual ~UnoWrapper();
 };
diff --git a/toolkit/source/helper/unowrapper.cxx 
b/toolkit/source/helper/unowrapper.cxx
index 50e1c8e74d90..3c2b7dbaff7f 100644
--- a/toolkit/source/helper/unowrapper.cxx
+++ b/toolkit/source/helper/unowrapper.cxx
@@ -312,9 +312,4 @@ void UnoWrapper::WindowDestroyed( vcl::Window* pWindow )
     }
 }
 
-css::uno::Reference< css::accessibility::XAccessible > 
UnoWrapper::CreateAccessible( Menu* pMenu, bool bIsMenuBar )
-{
-    return maAccessibleFactoryAccess.getFactory().createAccessible( pMenu, 
bIsMenuBar );
-}
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index ae12cf9cfda7..420024cc2ab2 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -99,6 +99,14 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
     vcl/skia/SkiaHelper \
     vcl/source/accessibility/AccessibleTextAttributeHelper \
     vcl/source/accessibility/characterattributeshelper \
+    vcl/source/accessibility/accessiblemenubasecomponent \
+    vcl/source/accessibility/accessiblemenucomponent \
+    vcl/source/accessibility/accessiblemenuitemcomponent \
+    vcl/source/accessibility/vclxaccessiblemenu \
+    vcl/source/accessibility/vclxaccessiblemenubar \
+    vcl/source/accessibility/vclxaccessiblemenuitem \
+    vcl/source/accessibility/vclxaccessiblemenuseparator \
+    vcl/source/accessibility/vclxaccessiblepopupmenu \
     vcl/source/animate/Animation \
     vcl/source/animate/AnimationFrame \
     vcl/source/animate/AnimationRenderer \
diff --git a/accessibility/inc/standard/accessiblemenubasecomponent.hxx 
b/vcl/inc/accessibility/accessiblemenubasecomponent.hxx
similarity index 100%
rename from accessibility/inc/standard/accessiblemenubasecomponent.hxx
rename to vcl/inc/accessibility/accessiblemenubasecomponent.hxx
diff --git a/accessibility/inc/standard/accessiblemenucomponent.hxx 
b/vcl/inc/accessibility/accessiblemenucomponent.hxx
similarity index 98%
rename from accessibility/inc/standard/accessiblemenucomponent.hxx
rename to vcl/inc/accessibility/accessiblemenucomponent.hxx
index e9d46dcfa70a..2954b52119e5 100644
--- a/accessibility/inc/standard/accessiblemenucomponent.hxx
+++ b/vcl/inc/accessibility/accessiblemenucomponent.hxx
@@ -19,7 +19,8 @@
 
 #pragma once
 
-#include <standard/accessiblemenubasecomponent.hxx>
+#include <accessibility/accessiblemenubasecomponent.hxx>
+
 #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
 #include <cppuhelper/implbase.hxx>
 
diff --git a/accessibility/inc/standard/accessiblemenuitemcomponent.hxx 
b/vcl/inc/accessibility/accessiblemenuitemcomponent.hxx
similarity index 98%
rename from accessibility/inc/standard/accessiblemenuitemcomponent.hxx
rename to vcl/inc/accessibility/accessiblemenuitemcomponent.hxx
index fae6e577b590..58b819f8ad66 100644
--- a/accessibility/inc/standard/accessiblemenuitemcomponent.hxx
+++ b/vcl/inc/accessibility/accessiblemenuitemcomponent.hxx
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#include <standard/accessiblemenubasecomponent.hxx>
+#include <accessibility/accessiblemenubasecomponent.hxx>
 
 
 
diff --git a/accessibility/inc/standard/vclxaccessiblemenu.hxx 
b/vcl/inc/accessibility/vclxaccessiblemenu.hxx
similarity index 98%
rename from accessibility/inc/standard/vclxaccessiblemenu.hxx
rename to vcl/inc/accessibility/vclxaccessiblemenu.hxx
index ce7b3f0580de..3f6903587166 100644
--- a/accessibility/inc/standard/vclxaccessiblemenu.hxx
+++ b/vcl/inc/accessibility/vclxaccessiblemenu.hxx
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#include <standard/vclxaccessiblemenuitem.hxx>
+#include <accessibility/vclxaccessiblemenuitem.hxx>
 #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
 
 #include <cppuhelper/implbase.hxx>
diff --git a/accessibility/inc/standard/vclxaccessiblemenubar.hxx 
b/vcl/inc/accessibility/vclxaccessiblemenubar.hxx
similarity index 97%
rename from accessibility/inc/standard/vclxaccessiblemenubar.hxx
rename to vcl/inc/accessibility/vclxaccessiblemenubar.hxx
index c5b3984e0b7e..31e50c8b75ff 100644
--- a/accessibility/inc/standard/vclxaccessiblemenubar.hxx
+++ b/vcl/inc/accessibility/vclxaccessiblemenubar.hxx
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#include <standard/accessiblemenucomponent.hxx>
+#include <accessibility/accessiblemenucomponent.hxx>
 #include <vcl/vclptr.hxx>
 
 class VclSimpleEvent;
diff --git a/accessibility/inc/standard/vclxaccessiblemenuitem.hxx 
b/vcl/inc/accessibility/vclxaccessiblemenuitem.hxx
similarity index 98%
rename from accessibility/inc/standard/vclxaccessiblemenuitem.hxx
rename to vcl/inc/accessibility/vclxaccessiblemenuitem.hxx
index aa6a0afc814a..ddde3cda04b6 100644
--- a/accessibility/inc/standard/vclxaccessiblemenuitem.hxx
+++ b/vcl/inc/accessibility/vclxaccessiblemenuitem.hxx
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#include <standard/accessiblemenuitemcomponent.hxx>
+#include <accessibility/accessiblemenuitemcomponent.hxx>
 
 #include <com/sun/star/accessibility/AccessibleScrollType.hpp>
 #include <com/sun/star/accessibility/XAccessibleAction.hpp>
diff --git a/accessibility/inc/standard/vclxaccessiblemenuseparator.hxx 
b/vcl/inc/accessibility/vclxaccessiblemenuseparator.hxx
similarity index 96%
rename from accessibility/inc/standard/vclxaccessiblemenuseparator.hxx
rename to vcl/inc/accessibility/vclxaccessiblemenuseparator.hxx
index 51071c19d130..ce971ca49ac0 100644
--- a/accessibility/inc/standard/vclxaccessiblemenuseparator.hxx
+++ b/vcl/inc/accessibility/vclxaccessiblemenuseparator.hxx
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#include <standard/accessiblemenuitemcomponent.hxx>
+#include <accessibility/accessiblemenuitemcomponent.hxx>
 
 class VCLXAccessibleMenuSeparator final : public OAccessibleMenuItemComponent
 {
diff --git a/accessibility/inc/standard/vclxaccessiblepopupmenu.hxx 
b/vcl/inc/accessibility/vclxaccessiblepopupmenu.hxx
similarity index 96%
rename from accessibility/inc/standard/vclxaccessiblepopupmenu.hxx
rename to vcl/inc/accessibility/vclxaccessiblepopupmenu.hxx
index 8e93af22d8d9..6f099b722452 100644
--- a/accessibility/inc/standard/vclxaccessiblepopupmenu.hxx
+++ b/vcl/inc/accessibility/vclxaccessiblepopupmenu.hxx
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#include <standard/accessiblemenucomponent.hxx>
+#include <accessibility/accessiblemenucomponent.hxx>
 
 class VCLXAccessiblePopupMenu final : public OAccessibleMenuComponent
 {
diff --git a/accessibility/source/standard/accessiblemenubasecomponent.cxx 
b/vcl/source/accessibility/accessiblemenubasecomponent.cxx
similarity index 98%
rename from accessibility/source/standard/accessiblemenubasecomponent.cxx
rename to vcl/source/accessibility/accessiblemenubasecomponent.cxx
index dbedd1daff30..10f7dff9e6b5 100644
--- a/accessibility/source/standard/accessiblemenubasecomponent.cxx
+++ b/vcl/source/accessibility/accessiblemenubasecomponent.cxx
@@ -17,10 +17,10 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <standard/accessiblemenubasecomponent.hxx>
-#include <standard/vclxaccessiblemenu.hxx>
-#include <standard/vclxaccessiblemenuitem.hxx>
-#include <standard/vclxaccessiblemenuseparator.hxx>
+#include <accessibility/accessiblemenubasecomponent.hxx>
+#include <accessibility/vclxaccessiblemenu.hxx>
+#include <accessibility/vclxaccessiblemenuitem.hxx>
+#include <accessibility/vclxaccessiblemenuseparator.hxx>
 
 #include <com/sun/star/accessibility/AccessibleEventId.hpp>
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
diff --git a/accessibility/source/standard/accessiblemenucomponent.cxx 
b/vcl/source/accessibility/accessiblemenucomponent.cxx
similarity index 99%
rename from accessibility/source/standard/accessiblemenucomponent.cxx
rename to vcl/source/accessibility/accessiblemenucomponent.cxx
index 7fe594721294..4163d096011e 100644
--- a/accessibility/source/standard/accessiblemenucomponent.cxx
+++ b/vcl/source/accessibility/accessiblemenucomponent.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <standard/accessiblemenucomponent.hxx>
+#include <accessibility/accessiblemenucomponent.hxx>
 
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
 #include <com/sun/star/accessibility/AccessibleStateType.hpp>
diff --git a/accessibility/source/standard/accessiblemenuitemcomponent.cxx 
b/vcl/source/accessibility/accessiblemenuitemcomponent.cxx
similarity index 99%
rename from accessibility/source/standard/accessiblemenuitemcomponent.cxx
rename to vcl/source/accessibility/accessiblemenuitemcomponent.cxx
index 0d171e64ccaa..a50415e9ab77 100644
--- a/accessibility/source/standard/accessiblemenuitemcomponent.cxx
+++ b/vcl/source/accessibility/accessiblemenuitemcomponent.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <standard/accessiblemenuitemcomponent.hxx>
+#include <accessibility/accessiblemenuitemcomponent.hxx>
 
 #include <com/sun/star/accessibility/AccessibleEventId.hpp>
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
diff --git a/accessibility/source/standard/vclxaccessiblemenu.cxx 
b/vcl/source/accessibility/vclxaccessiblemenu.cxx
similarity index 99%
rename from accessibility/source/standard/vclxaccessiblemenu.cxx
rename to vcl/source/accessibility/vclxaccessiblemenu.cxx
index 5ba208d2f368..c38cc84ebed2 100644
--- a/accessibility/source/standard/vclxaccessiblemenu.cxx
+++ b/vcl/source/accessibility/vclxaccessiblemenu.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <standard/vclxaccessiblemenu.hxx>
+#include <accessibility/vclxaccessiblemenu.hxx>
 
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
diff --git a/accessibility/source/standard/vclxaccessiblemenubar.cxx 
b/vcl/source/accessibility/vclxaccessiblemenubar.cxx
similarity index 98%
rename from accessibility/source/standard/vclxaccessiblemenubar.cxx
rename to vcl/source/accessibility/vclxaccessiblemenubar.cxx
index 9664254fa543..4e64803db783 100644
--- a/accessibility/source/standard/vclxaccessiblemenubar.cxx
+++ b/vcl/source/accessibility/vclxaccessiblemenubar.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <standard/vclxaccessiblemenubar.hxx>
+#include <accessibility/vclxaccessiblemenubar.hxx>
 
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
 #include <comphelper/accessiblecontexthelper.hxx>
diff --git a/accessibility/source/standard/vclxaccessiblemenuitem.cxx 
b/vcl/source/accessibility/vclxaccessiblemenuitem.cxx
similarity index 99%
rename from accessibility/source/standard/vclxaccessiblemenuitem.cxx
rename to vcl/source/accessibility/vclxaccessiblemenuitem.cxx
index a1491c99bc4c..a8696f43e380 100644
--- a/accessibility/source/standard/vclxaccessiblemenuitem.cxx
+++ b/vcl/source/accessibility/vclxaccessiblemenuitem.cxx
@@ -17,8 +17,9 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <standard/vclxaccessiblemenuitem.hxx>
+#include <accessibility/vclxaccessiblemenuitem.hxx>
 #include <comphelper/accessiblecontexthelper.hxx>
+
 #include <comphelper/accessiblekeybindinghelper.hxx>
 #include <com/sun/star/awt/KeyModifier.hpp>
 
diff --git a/accessibility/source/standard/vclxaccessiblemenuseparator.cxx 
b/vcl/source/accessibility/vclxaccessiblemenuseparator.cxx
similarity index 96%
rename from accessibility/source/standard/vclxaccessiblemenuseparator.cxx
rename to vcl/source/accessibility/vclxaccessiblemenuseparator.cxx
index d64ccb0baa25..7100d1972c39 100644
--- a/accessibility/source/standard/vclxaccessiblemenuseparator.cxx
+++ b/vcl/source/accessibility/vclxaccessiblemenuseparator.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <standard/vclxaccessiblemenuseparator.hxx>
+#include <accessibility/vclxaccessiblemenuseparator.hxx>
 
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
 
diff --git a/accessibility/source/standard/vclxaccessiblepopupmenu.cxx 
b/vcl/source/accessibility/vclxaccessiblepopupmenu.cxx
similarity index 97%
rename from accessibility/source/standard/vclxaccessiblepopupmenu.cxx
rename to vcl/source/accessibility/vclxaccessiblepopupmenu.cxx
index d8b840eee784..95df37593bd2 100644
--- a/accessibility/source/standard/vclxaccessiblepopupmenu.cxx
+++ b/vcl/source/accessibility/vclxaccessiblepopupmenu.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <standard/vclxaccessiblepopupmenu.hxx>
+#include <accessibility/vclxaccessiblepopupmenu.hxx>
 
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
 #include <comphelper/accessiblecontexthelper.hxx>
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 6e7fc5494ca5..581279acd8bf 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -17,6 +17,10 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <accessibility/accessiblemenubasecomponent.hxx>
+#include <accessibility/vclxaccessiblemenubar.hxx>
+#include <accessibility/vclxaccessiblepopupmenu.hxx>
+
 #include <comphelper/diagnose_ex.hxx>
 #include <sal/log.hxx>
 
@@ -1317,6 +1321,17 @@ bool Menu::ImplIsSelectable( sal_uInt16 nPos ) const
     return bSelectable;
 }
 
+css::uno::Reference<css::accessibility::XAccessible> Menu::CreateAccessible()
+{
+    rtl::Reference<OAccessibleMenuBaseComponent> xAccessible;
+    if (IsMenuBar())
+        xAccessible = new VCLXAccessibleMenuBar(this);
+    else
+        xAccessible = new VCLXAccessiblePopupMenu(this);
+    xAccessible->SetStates();
+    return xAccessible;
+}
+
 css::uno::Reference<css::accessibility::XAccessible> Menu::GetAccessible()
 {
     // Since PopupMenu are sometimes shared by different instances of MenuBar, 
the mxAccessible member gets
@@ -1340,11 +1355,7 @@ css::uno::Reference<css::accessibility::XAccessible> 
Menu::GetAccessible()
         }
     }
     else if ( !mxAccessible.is() )
-    {
-        UnoWrapperBase* pWrapper = UnoWrapperBase::GetUnoWrapper();
-        if ( pWrapper )
-            mxAccessible = pWrapper->CreateAccessible(this, IsMenuBar());
-    }
+        mxAccessible = CreateAccessible();
 
     return mxAccessible;
 }

Reply via email to