summaryrefslogtreecommitdiff
path: root/basctl/source
diff options
context:
space:
mode:
authorMichael Weghorn <m.weghorn@posteo.de>2025-04-30 15:09:24 +0200
committerMichael Weghorn <m.weghorn@posteo.de>2025-05-01 09:52:30 +0200
commit9e96699b4040949699b86e11fd23100f6d59368d (patch)
tree09feddc0ac60c853b114defcbadc39f7893597fe /basctl/source
parent3a51a200e552f240d4242ccf32d0421a424306ab (diff)
basicide a11y: Move basctl::createTextWindowPeer logic to caller
Drop the helper method basctl::createTextWindowPeer that calls the TextWindowPeer ctor, and instead call the ctor directly from EditorWindow::GetComponentInterface. In order for the class to be known there, move it to the anonymous namespace in the same source file. This is an intermediate step towards getting rid of TextWindowPeer altogether. Change-Id: I58111af8fadb45c6471af942b300665f3df189c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184837 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'basctl/source')
-rw-r--r--basctl/source/basicide/baside2b.cxx34
-rw-r--r--basctl/source/basicide/textwindowpeer.cxx69
-rw-r--r--basctl/source/basicide/textwindowpeer.hxx37
3 files changed, 32 insertions, 108 deletions
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 7e9318a283a6..a9588d4b2e4a 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -48,11 +48,13 @@
#include <sfx2/viewfrm.hxx>
#include <tools/debug.hxx>
#include <utility>
+#include <vcl/accessiblefactory.hxx>
#include <vcl/image.hxx>
#include <vcl/weld.hxx>
#include <vcl/weldutils.hxx>
#include <svl/urihelper.hxx>
#include <svx/svxids.hrc>
+#include <toolkit/awt/vclxwindow.hxx>
#include <vcl/commandevent.hxx>
#include <vcl/xtextedt.hxx>
#include <vcl/textview.hxx>
@@ -67,7 +69,6 @@
#include <vector>
#include <com/sun/star/reflection/theCoreReflection.hpp>
#include <unotools/charclass.hxx>
-#include "textwindowpeer.hxx"
#include "uiobject.hxx"
#include <basegfx/utils/zoomtools.hxx>
#include <svl/itemset.hxx>
@@ -1678,6 +1679,35 @@ void BreakPointWindow::setBackgroundColor(Color aColor)
namespace {
+class TextWindowPeer final : public VCLXWindow
+{
+public:
+ explicit TextWindowPeer(TextView& view);
+
+ TextWindowPeer(const TextWindowPeer&) = delete;
+ TextWindowPeer& operator=(const TextWindowPeer&) = delete;
+
+private:
+ virtual css::uno::Reference<css::accessibility::XAccessibleContext>
+ CreateAccessibleContext() override;
+
+ TextEngine& m_rEngine;
+ TextView& m_rView;
+};
+
+TextWindowPeer::TextWindowPeer(TextView& view)
+ : m_rEngine(*view.GetTextEngine())
+ , m_rView(view)
+{
+ SetWindow(view.GetWindow());
+}
+
+css::uno::Reference<css::accessibility::XAccessibleContext>
+TextWindowPeer::CreateAccessibleContext()
+{
+ return AccessibleFactory::createAccessibleTextWindowContext(GetWindow(), m_rEngine, m_rView);
+}
+
struct WatchItem
{
OUString maName;
@@ -2161,7 +2191,7 @@ EditorWindow::GetComponentInterface(bool bCreate)
if (!pEditEngine)
CreateEditEngine();
- xPeer = createTextWindowPeer(*GetEditView());
+ xPeer = new TextWindowPeer(*GetEditView());
SetComponentInterface(xPeer);
}
return xPeer;
diff --git a/basctl/source/basicide/textwindowpeer.cxx b/basctl/source/basicide/textwindowpeer.cxx
deleted file mode 100644
index 68945f46b630..000000000000
--- a/basctl/source/basicide/textwindowpeer.cxx
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <sal/config.h>
-
-#include <vcl/accessiblefactory.hxx>
-
-#include <com/sun/star/accessibility/XAccessibleContext.hpp>
-#include <com/sun/star/uno/Reference.hxx>
-#include <toolkit/awt/vclxwindow.hxx>
-#include <vcl/texteng.hxx>
-#include <vcl/textview.hxx>
-#include <vcl/window.hxx>
-#include "textwindowpeer.hxx"
-
-namespace {
-
-class TextWindowPeer final : public VCLXWindow {
-public:
- explicit TextWindowPeer(TextView & view);
-
- TextWindowPeer(const TextWindowPeer&) = delete;
- TextWindowPeer& operator=(const TextWindowPeer&) = delete;
-
-private:
- virtual css::uno::Reference<css::accessibility::XAccessibleContext>
- CreateAccessibleContext() override;
-
- TextEngine & m_rEngine;
- TextView & m_rView;
-};
-
-TextWindowPeer::TextWindowPeer(TextView & view):
- m_rEngine(*view.GetTextEngine()), m_rView(view)
-{
- SetWindow(view.GetWindow());
-}
-
-css::uno::Reference<css::accessibility::XAccessibleContext>
-TextWindowPeer::CreateAccessibleContext() {
- return AccessibleFactory::createAccessibleTextWindowContext(
- GetWindow(), m_rEngine, m_rView);
-}
-
-}
-
-css::uno::Reference<css::awt::XVclWindowPeer> basctl::createTextWindowPeer(
- TextView & view)
-{
- return new TextWindowPeer(view);
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/basctl/source/basicide/textwindowpeer.hxx b/basctl/source/basicide/textwindowpeer.hxx
deleted file mode 100644
index e29c4a412dcb..000000000000
--- a/basctl/source/basicide/textwindowpeer.hxx
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#pragma once
-
-#include <sal/config.h>
-
-#include <com/sun/star/uno/Reference.hxx>
-
-namespace com::sun::star::awt
-{
-class XVclWindowPeer;
-}
-class TextView;
-
-namespace basctl
-{
-css::uno::Reference<css::awt::XVclWindowPeer> createTextWindowPeer(TextView& view);
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */