compilerplugins/clang/mergeclasses.results | 22 +-- sd/Library_sd.mk | 1 sd/inc/pch/precompiled_sd.hxx | 1 sd/source/ui/dlg/PaneChildWindows.cxx | 6 sd/source/ui/dlg/PaneDockingWindow.cxx | 127 ------------------- sd/source/ui/dlg/titledockwin.cxx | 83 +++++++++++- sd/source/ui/framework/factories/ChildWindowPane.cxx | 4 sd/source/ui/inc/PaneDockingWindow.hxx | 66 --------- sd/source/ui/inc/titledockwin.hxx | 44 ++++-- sd/source/ui/slidesorter/view/SlideSorterView.cxx | 12 - solenv/clang-format/excludelist | 2 11 files changed, 130 insertions(+), 238 deletions(-)
New commits: commit 24d15ba86c00178238f3f8ef6c548a0d19338aa4 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Mon Jun 13 11:16:19 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Mon Jun 13 14:38:03 2022 +0200 loplugin:mergeclasses sd::TitledDockingWindow with sd::PaneDockingWindow Change-Id: I77314048173ebba0dc0e03f710607b74e73f0bde Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135719 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/compilerplugins/clang/mergeclasses.results b/compilerplugins/clang/mergeclasses.results index 096b0722fea7..8d05acd9a052 100644 --- a/compilerplugins/clang/mergeclasses.results +++ b/compilerplugins/clang/mergeclasses.results @@ -87,8 +87,6 @@ merge IXFAttrList with XFSaxAttrList merge IXFStream with XFSaxStream merge IXFStyle with XFStyle merge IconChoicePage with SvxHyperlinkTabPageBase -merge ImplGlyphFallbackFontSubstitution with (anonymous namespace)::FcGlyphFallbackSubstitution -merge ImplPreMatchFontSubstitution with (anonymous namespace)::FcPreMatchSubstitution merge ListView with TemplateDlgLocalView merge LongCurrencyFormatter with LongCurrencyBox merge LotusConverterBase with LotusToSc @@ -103,15 +101,18 @@ merge PropertyWrapperBase with PropertyWrapper merge SOParagraph with ParagraphObj merge SalData with GenericUnixSalData merge SalDisplay with SalX11Display +merge SalGraphics with SalGraphicsAutoDelegateToImpl merge SalInfoPrinter with PspSalInfoPrinter merge SalInstance with SalGenericInstance merge SalInstanceBox with JSWidget +merge SalInstanceBuilder with JSInstanceBuilder merge SalInstanceCheckButton with JSWidget merge SalInstanceComboBoxWithEdit with JSWidget merge SalInstanceComboBoxWithoutEdit with JSWidget merge SalInstanceDrawingArea with JSWidget merge SalInstanceExpander with JSWidget merge SalInstanceIconView with JSWidget +merge SalInstanceImage with JSWidget merge SalInstanceLabel with JSWidget merge SalInstanceNotebook with JSWidget merge SalInstanceRadioButton with JSWidget @@ -170,7 +171,6 @@ merge SfxExtItemPropertySetInfo_Base with SfxExtItemPropertySetInfo merge SfxItemPropertySetInfo_Base with SfxItemPropertySetInfo merge SfxModelSubComponent with sfx2::DocumentUndoManager merge SkiaSalGraphicsImpl with X11SkiaSalGraphicsImpl -merge SmElement with SmElementSeparator merge SmFontPickList with SmFontPickListBox merge StarSymbolToMSMultiFont with (anonymous namespace)::StarSymbolToMSMultiFontImpl merge StgAvlIterator with StgIterator @@ -190,7 +190,7 @@ merge SvxRTFParser with EditRTFParser merge SvxVertCTLTextTbxCtrl_Base with SvxVertCTLTextTbxCtrl merge SwAccessibleFrame with SwAccessibleContext merge SwCursorShell with SwEditShell -merge SwDashedLine with (anonymous namespace)::SwBreakDashedLine +merge SwDashedLine with SwBreakDashedLine merge SwDrawModeGrf_Base with SwDrawModeGrf merge SwEditShell with SwFEShell merge SwEndNoteOptionPage with SwFootNoteOptionPage @@ -220,6 +220,7 @@ merge VclVButtonBox with (anonymous namespace)::LeakTestClass merge Viewport3D with Camera3D merge WW8PLCFx_Fc_FKP with WW8PLCFx_Cp_FKP merge WW8Style with WW8RStyle +merge X11SalGraphicsImpl with X11CairoSalGraphicsImpl merge XFDate with XFDateStart merge XFDateTimePart with XFTimePart merge XMLNode with XMLChildNode @@ -271,8 +272,10 @@ merge comphelper::OSequenceOutputStream_Base with comphelper::OSequenceOutputStr merge comphelper::OWeakListenerAdapterBase with comphelper::OWeakListenerAdapter merge comphelper::PropertySetInfo_BASE with comphelper::PropertySetInfo merge comphelper::TraceEvent with comphelper::NamedEvent +merge comphelper::WeakComponentImplHelperBase with comphelper::WeakComponentImplHelper merge connectivity::OKeySet_Base with connectivity::OKeySet merge connectivity::evoab::(anonymous namespace)::OEvoabVersion36Helper with connectivity::evoab::(anonymous namespace)::OEvoabVersion38Helper +merge connectivity::evoab::OEvoabVersionHelper with connectivity::evoab::(anonymous namespace)::OEvoabVersion36Helper merge connectivity::file::OStatement_Base with connectivity::file::OStatement_BASE2 merge connectivity::hsqldb::IMethodGuardAccess with connectivity::hsqldb::OHsqlConnection merge connectivity::java_lang_Exception with connectivity::java_sql_SQLException_BASE @@ -327,6 +330,8 @@ merge ftp::ResultSetBase with ftp::ResultSetI merge gfx::DrawCommand with gfx::DrawBase merge gfx::GradientInfo with gfx::LinearGradientInfo merge gio::Seekable with gio::OutputStream +merge http_dav_ucp::DAVAuthListener with http_dav_ucp::DAVAuthListener_Impl +merge http_dav_ucp::DAVSession with http_dav_ucp::CurlSession merge oglcanvas::IBufferContext with oglcanvas::(anonymous namespace)::BufferContextImpl merge old_SdrDownCompat with SdIOCompat merge oox::SequenceSeekableStream with oox::SequenceInputStream @@ -379,10 +384,12 @@ merge sc::opencl::RATE with sc::opencl::OpIntrate merge sc::opencl::RRI with sc::opencl::OpRRI merge sc::opencl::XNPV with sc::opencl::OpXNPV merge sc_apitest::(anonymous namespace)::TempFileBase with sc_apitest::ScDDELinkObj +merge sd::(anonymous namespace)::ModelTraverseHandler with sd::(anonymous namespace)::GraphicSizeCheckHandler merge sd::BroadcastHelperOwner with sd::DrawController merge sd::ClientInfo with sd::ClientInfoInternal merge sd::IBluetoothSocket with sd::BufferedStreamSocket merge sd::ICustomAnimationListController with sd::CustomAnimationPane +merge sd::TitledDockingWindow with sd::PaneDockingWindow merge sd::ZeroconfService with sd::AvahiNetworkService merge sd::sidebar::MasterPageContainerFiller::ContainerAdapter with sd::sidebar::MasterPageContainer::Implementation merge sd::sidebar::MasterPageContainerQueue::ContainerAdapter with sd::sidebar::MasterPageContainer::Implementation @@ -396,7 +403,6 @@ merge sdr::SelectionController with sdr::table::SvxTableController merge sdr::contact::ObjectContactOfPagePainter with sdr::contact::PagePrimitiveExtractor merge sdr::table::TableDesignUser with sdr::table::SdrTableObjImpl merge sfx2::IXmlIdRegistry with sfx2::XmlIdRegistry -merge sfx2::ThreadHelpBase2 with sfx2::PreventDuplicateInteraction merge slideshow::internal::(anonymous namespace)::EventContainer with slideshow::internal::ClickEventHandler merge slideshow::internal::AnimationFunction with slideshow::internal::ExpressionNode merge slideshow::internal::AnimationNode with slideshow::internal::BaseNode @@ -445,7 +451,6 @@ merge svt::table::ITableRenderer with svt::table::GridTableRenderer merge svx::IContextRequestObserver with svx::FmTextControlShell merge svx::IControllerFeatureInvalidation with FmXFormShell merge svx::IFocusObserver with svx::FmTextControlShell -merge svx::IPropertyValueProvider with svx::PropertyValueProvider merge svx::RegistrationItemSetHolder with svx::DatabaseRegistrationDialog merge svx::sidebar::SvxShapeCommandsMap with svx::sidebar::DefaultShapesPanel merge svxform::DispatchInterceptor with svxform::FormController @@ -453,7 +458,6 @@ merge sw::ClientIteratorBase with SwIterator merge sw::ICoreFrameStyle with (anonymous namespace)::SwXFrameStyle merge sw::IShellCursorSupplier with SwCursorShell merge sw::Meta with sw::MetaField -merge sw::ModelTraverseHandler with sw::(anonymous namespace)::IndexingNodeHandler merge sw::WriterListener with SwClient merge sw::mark::Bookmark with sw::mark::CrossRefBookmark merge sw::mark::ContentIdxStore with (anonymous namespace)::ContentIdxStoreImpl @@ -471,6 +475,8 @@ merge vcl::DeletionNotifier with SalFrame merge vcl::ExtOutDevData with vcl::PDFExtOutDevData merge vcl::SolarThreadExecutor with vcl::solarthread::detail::GenericSolarThreadExecutor merge vcl::SwapFile with ImpSwapFile +merge vcl::font::GlyphFallbackFontSubstitution with (anonymous namespace)::FcGlyphFallbackSubstitution +merge vcl::font::PreMatchFontSubstitution with (anonymous namespace)::FcPreMatchSubstitution merge vcl::pdf::PDFium with vcl::pdf::(anonymous namespace)::PDFiumImpl merge vcl::pdf::PDFiumAnnotation with vcl::pdf::(anonymous namespace)::PDFiumAnnotationImpl merge vcl::pdf::PDFiumBitmap with vcl::pdf::(anonymous namespace)::PDFiumBitmapImpl @@ -484,8 +490,6 @@ merge vcl::pdf::PDFiumTextPage with vcl::pdf::(anonymous namespace)::PDFiumTextP merge vclcanvas::CanvasCustomSpriteSpriteBase_Base with canvas::CanvasBase merge vclcanvas::Sprite with vclcanvas::CanvasCustomSpriteSpriteBase_Base merge vclcanvas::SpriteCanvasBaseSpriteSurface_Base with canvas::CanvasBase -merge webdav_ucp::DAVAuthListener with webdav_ucp::DAVAuthListener_Impl -merge webdav_ucp::DAVSession with webdav_ucp::NeonSession merge weld::AssistantController with vcl::WizardMachine merge weld::WidgetStatusListener_Base with weld::WidgetStatusListener merge writerfilter::Stream with writerfilter::LoggedStream diff --git a/sd/Library_sd.mk b/sd/Library_sd.mk index 1ded5eadc8ba..8b441fe0542a 100644 --- a/sd/Library_sd.mk +++ b/sd/Library_sd.mk @@ -212,7 +212,6 @@ $(eval $(call gb_Library_add_exception_objects,sd,\ sd/source/ui/dlg/LayerTabBar \ sd/source/ui/dlg/NavigatorChildWindow \ sd/source/ui/dlg/PaneChildWindows \ - sd/source/ui/dlg/PaneDockingWindow \ sd/source/ui/dlg/PaneShells \ sd/source/ui/dlg/SpellDialogChildWindow \ sd/source/ui/dlg/TemplateScanner \ diff --git a/sd/inc/pch/precompiled_sd.hxx b/sd/inc/pch/precompiled_sd.hxx index f2ee62c48223..7654305cc1fc 100644 --- a/sd/inc/pch/precompiled_sd.hxx +++ b/sd/inc/pch/precompiled_sd.hxx @@ -514,7 +514,6 @@ #include <OutlineViewShell.hxx> #include <Outliner.hxx> #include <PaneChildWindows.hxx> -#include <PaneDockingWindow.hxx> #include <PresentationViewShell.hxx> #include <PreviewRenderer.hxx> #include <SdShapeTypes.hxx> diff --git a/sd/source/ui/dlg/PaneChildWindows.cxx b/sd/source/ui/dlg/PaneChildWindows.cxx index 7f73e005b4c5..320ce2a74b3d 100644 --- a/sd/source/ui/dlg/PaneChildWindows.cxx +++ b/sd/source/ui/dlg/PaneChildWindows.cxx @@ -18,7 +18,7 @@ */ #include <PaneChildWindows.hxx> -#include <PaneDockingWindow.hxx> +#include <titledockwin.hxx> #include <ViewShellBase.hxx> #include <framework/FrameworkHelper.hxx> #include <app.hrc> @@ -43,7 +43,7 @@ PaneChildWindow::PaneChildWindow ( TranslateId pTitleBarResId) : SfxChildWindow (pParentWindow, nId) { - SetWindow( VclPtr<PaneDockingWindow>::Create( + SetWindow( VclPtr<TitledDockingWindow>::Create( pBindings, this, pParentWindow, @@ -64,7 +64,7 @@ PaneChildWindow::PaneChildWindow ( PaneChildWindow::~PaneChildWindow() { ViewShellBase* pBase = nullptr; - PaneDockingWindow* pDockingWindow = dynamic_cast<PaneDockingWindow*>(GetWindow()); + TitledDockingWindow* pDockingWindow = dynamic_cast<TitledDockingWindow*>(GetWindow()); if (pDockingWindow != nullptr) pBase = ViewShellBase::GetViewShellBase( pDockingWindow->GetBindings().GetDispatcher()->GetFrame()); diff --git a/sd/source/ui/dlg/PaneDockingWindow.cxx b/sd/source/ui/dlg/PaneDockingWindow.cxx deleted file mode 100644 index 6f7332ad9b96..000000000000 --- a/sd/source/ui/dlg/PaneDockingWindow.cxx +++ /dev/null @@ -1,127 +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 <PaneDockingWindow.hxx> -#include <ViewShellBase.hxx> -#include <framework/FrameworkHelper.hxx> - -#include <sfx2/dispatch.hxx> -#include <vcl/splitwin.hxx> -#include <tools/wintypes.hxx> - -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::drawing::framework; -using ::sd::TitledDockingWindow; - -namespace sd { - -PaneDockingWindow::PaneDockingWindow( - SfxBindings *_pBindings, SfxChildWindow *pChildWindow, vcl::Window* pParent, - const OUString& rsTitle ) - : TitledDockingWindow(_pBindings, pChildWindow, pParent) -{ - SetTitle(rsTitle); - SetSizePixel(LogicToPixel(Size(80,200), MapMode(MapUnit::MapAppFont))); -} - -PaneDockingWindow::~PaneDockingWindow() -{ -} - -void PaneDockingWindow::StateChanged( StateChangedType nType ) -{ - switch (nType) - { - case StateChangedType::InitShow: - Resize(); - GetContentWindow().SetStyle(GetContentWindow().GetStyle() | WB_DIALOGCONTROL); - break; - - case StateChangedType::Visible: - { - // The visibility of the docking window has changed. Tell the - // ConfigurationController so that it can activate or deactivate - // a/the view for the pane. - // Without this the side panes remain empty after closing an - // in-place slide show. - ViewShellBase* pBase = ViewShellBase::GetViewShellBase( - GetBindings().GetDispatcher()->GetFrame()); - if (pBase != nullptr) - { - framework::FrameworkHelper::Instance(*pBase)->UpdateConfiguration(); - } - } - break; - - default:; - } - SfxDockingWindow::StateChanged (nType); -} - -void PaneDockingWindow::MouseButtonDown (const MouseEvent& rEvent) -{ - if (rEvent.GetButtons() == MOUSE_LEFT) - { - // For some strange reason we have to set the WB_DIALOGCONTROL at - // the content window in order to have it pass focus to its content - // window. Without setting this flag here that works only on views - // that have not been taken from the cash and relocated to this pane - // docking window. - GetContentWindow().SetStyle(GetContentWindow().GetStyle() | WB_DIALOGCONTROL); - GetContentWindow().GrabFocus(); - } - SfxDockingWindow::MouseButtonDown(rEvent); -} - -void PaneDockingWindow::SetValidSizeRange (const Range& rValidSizeRange) -{ - SplitWindow* pSplitWindow = dynamic_cast<SplitWindow*>(GetParent()); - if (pSplitWindow == nullptr) - return; - - const sal_uInt16 nId (pSplitWindow->GetItemId(static_cast< vcl::Window*>(this))); - const sal_uInt16 nSetId (pSplitWindow->GetSet(nId)); - // Because the PaneDockingWindow paints its own decoration, we have - // to compensate the valid size range for that. - const SvBorder aBorder (GetDecorationBorder()); - sal_Int32 nCompensation (pSplitWindow->IsHorizontal() - ? aBorder.Top() + aBorder.Bottom() - : aBorder.Left() + aBorder.Right()); - pSplitWindow->SetItemSizeRange( - nSetId, - Range( - rValidSizeRange.Min() + nCompensation, - rValidSizeRange.Max() + nCompensation)); -} - -PaneDockingWindow::Orientation PaneDockingWindow::GetOrientation() const -{ - SplitWindow* pSplitWindow = dynamic_cast<SplitWindow*>(GetParent()); - if (pSplitWindow == nullptr) - return UnknownOrientation; - else if (pSplitWindow->IsHorizontal()) - return HorizontalOrientation; - else - return VerticalOrientation; -} - -} // end of namespace ::sd - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/dlg/titledockwin.cxx b/sd/source/ui/dlg/titledockwin.cxx index f2aa744c200d..5a3f04c70f30 100644 --- a/sd/source/ui/dlg/titledockwin.cxx +++ b/sd/source/ui/dlg/titledockwin.cxx @@ -17,13 +17,16 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <framework/FrameworkHelper.hxx> #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> #include <svl/eitem.hxx> #include <vcl/event.hxx> #include <vcl/settings.hxx> +#include <vcl/splitwin.hxx> #include <vcl/toolbox.hxx> +#include <ViewShellBase.hxx> #include <bitmaps.hlst> #include <strings.hrc> #include <sdresid.hxx> @@ -32,7 +35,7 @@ namespace sd { //= TitledDockingWindow - TitledDockingWindow::TitledDockingWindow( SfxBindings* i_pBindings, SfxChildWindow* i_pChildWindow, vcl::Window* i_pParent ) + TitledDockingWindow::TitledDockingWindow( SfxBindings* i_pBindings, SfxChildWindow* i_pChildWindow, vcl::Window* i_pParent, const OUString& rsTitle ) :SfxDockingWindow( i_pBindings, i_pChildWindow, i_pParent, WB_MOVEABLE|WB_CLOSEABLE|WB_DOCKABLE|WB_HIDE|WB_3DLOOK ) ,m_aToolbox( VclPtr<ToolBox>::Create(this) ) ,m_aContentWindow( VclPtr<vcl::Window>::Create(this, WB_DIALOGCONTROL) ) @@ -47,6 +50,10 @@ namespace sd impl_resetToolBox(); m_aContentWindow->Show(); + + m_sTitle = rsTitle; + Invalidate(); + SetSizePixel(LogicToPixel(Size(80,200), MapMode(MapUnit::MapAppFont))); } TitledDockingWindow::~TitledDockingWindow() @@ -61,13 +68,6 @@ namespace sd SfxDockingWindow::dispose(); } - void TitledDockingWindow::SetTitle( const OUString& i_rTitle ) - { - m_sTitle = i_rTitle; - Invalidate(); - } - - void TitledDockingWindow::SetText( const OUString& i_rText ) { SfxDockingWindow::SetText( i_rText ); @@ -223,11 +223,30 @@ namespace sd void TitledDockingWindow::StateChanged( StateChangedType i_nType ) { - switch ( i_nType ) + switch (i_nType) { case StateChangedType::InitShow: + Resize(); + GetContentWindow().SetStyle(GetContentWindow().GetStyle() | WB_DIALOGCONTROL); impl_layout(); break; + + case StateChangedType::Visible: + { + // The visibility of the docking window has changed. Tell the + // ConfigurationController so that it can activate or deactivate + // a/the view for the pane. + // Without this the side panes remain empty after closing an + // in-place slide show. + ViewShellBase* pBase = ViewShellBase::GetViewShellBase( + GetBindings().GetDispatcher()->GetFrame()); + if (pBase != nullptr) + { + framework::FrameworkHelper::Instance(*pBase)->UpdateConfiguration(); + } + } + break; + default:; } SfxDockingWindow::StateChanged( i_nType ); @@ -254,6 +273,52 @@ namespace sd } } + void TitledDockingWindow::MouseButtonDown (const MouseEvent& rEvent) + { + if (rEvent.GetButtons() == MOUSE_LEFT) + { + // For some strange reason we have to set the WB_DIALOGCONTROL at + // the content window in order to have it pass focus to its content + // window. Without setting this flag here that works only on views + // that have not been taken from the cash and relocated to this pane + // docking window. + GetContentWindow().SetStyle(GetContentWindow().GetStyle() | WB_DIALOGCONTROL); + GetContentWindow().GrabFocus(); + } + SfxDockingWindow::MouseButtonDown(rEvent); + } + + void TitledDockingWindow::SetValidSizeRange (const Range& rValidSizeRange) + { + SplitWindow* pSplitWindow = dynamic_cast<SplitWindow*>(GetParent()); + if (pSplitWindow == nullptr) + return; + + const sal_uInt16 nId (pSplitWindow->GetItemId(static_cast< vcl::Window*>(this))); + const sal_uInt16 nSetId (pSplitWindow->GetSet(nId)); + // Because the TitledDockingWindow paints its own decoration, we have + // to compensate the valid size range for that. + const SvBorder aBorder (GetDecorationBorder()); + sal_Int32 nCompensation (pSplitWindow->IsHorizontal() + ? aBorder.Top() + aBorder.Bottom() + : aBorder.Left() + aBorder.Right()); + pSplitWindow->SetItemSizeRange( + nSetId, + Range( + rValidSizeRange.Min() + nCompensation, + rValidSizeRange.Max() + nCompensation)); + } + + TitledDockingWindow::Orientation TitledDockingWindow::GetOrientation() const + { + SplitWindow* pSplitWindow = dynamic_cast<SplitWindow*>(GetParent()); + if (pSplitWindow == nullptr) + return UnknownOrientation; + else if (pSplitWindow->IsHorizontal()) + return HorizontalOrientation; + else + return VerticalOrientation; + } } // namespace sfx2 diff --git a/sd/source/ui/framework/factories/ChildWindowPane.cxx b/sd/source/ui/framework/factories/ChildWindowPane.cxx index 136f6fcb78b2..8fc184c0578b 100644 --- a/sd/source/ui/framework/factories/ChildWindowPane.cxx +++ b/sd/source/ui/framework/factories/ChildWindowPane.cxx @@ -25,7 +25,7 @@ #include "ChildWindowPane.hxx" -#include <PaneDockingWindow.hxx> +#include <titledockwin.hxx> #include <ViewShellBase.hxx> #include <ViewShellManager.hxx> #include <toolkit/helper/vclunohelper.hxx> @@ -164,7 +164,7 @@ vcl::Window* ChildWindowPane::GetWindow() // From the child window get the docking window and from that the // content window that is the container for the actual content. - PaneDockingWindow* pDockingWindow = dynamic_cast<PaneDockingWindow*>( + TitledDockingWindow* pDockingWindow = dynamic_cast<TitledDockingWindow*>( pChildWindow->GetWindow()); if (pDockingWindow == nullptr) break; diff --git a/sd/source/ui/inc/PaneDockingWindow.hxx b/sd/source/ui/inc/PaneDockingWindow.hxx deleted file mode 100644 index c69cb6f94904..000000000000 --- a/sd/source/ui/inc/PaneDockingWindow.hxx +++ /dev/null @@ -1,66 +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 "titledockwin.hxx" - -namespace sd { - - class PaneDockingWindow : public ::sd::TitledDockingWindow -{ -public: - /** Create a new docking window. - @param pBindings - Used, among others, to determine the ViewShellBase and - PaneManager that manage the new docking window. - @param pChildWindow - This child window is the logical container for the new docking - window. - @param pParent - The parent window of the new docking window. - @param rsTitle - the initial title - */ - PaneDockingWindow ( - SfxBindings *pBindings, - SfxChildWindow *pChildWindow, - vcl::Window* pParent, - const OUString& rsTitle); - - virtual ~PaneDockingWindow() override; - virtual void StateChanged( StateChangedType nType ) override; - virtual void MouseButtonDown (const MouseEvent& rEvent) override; - /** When docked the given range is passed to the parent SplitWindow. - */ - void SetValidSizeRange (const Range& rValidSizeRange); - - enum Orientation { HorizontalOrientation, VerticalOrientation, UnknownOrientation }; - /** When the PaneDockingWindow is docked and managed by a split window - it can derive its orientation from the orientation of the split - window and return either HorizontalOrientation or - VerticalOrientation. - Otherwise UnknownOrientation is returned. - */ - Orientation GetOrientation() const; -}; - -} // end of namespace ::sd - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/inc/titledockwin.hxx b/sd/source/ui/inc/titledockwin.hxx index 59e7e04b3531..bdbd386ba62a 100644 --- a/sd/source/ui/inc/titledockwin.hxx +++ b/sd/source/ui/inc/titledockwin.hxx @@ -27,21 +27,31 @@ class ToolBox; namespace sd { - class TitledDockingWindow : public SfxDockingWindow + class TitledDockingWindow final : public SfxDockingWindow { public: + /** Create a new docking window. + @param pBindings + Used, among others, to determine the ViewShellBase and + PaneManager that manage the new docking window. + @param pChildWindow + This child window is the logical container for the new docking + window. + @param pParent + The parent window of the new docking window. + @param rsTitle + the initial title + */ TitledDockingWindow( - SfxBindings* i_pBindings, SfxChildWindow* i_pChildWindow, - vcl::Window* i_pParent + SfxBindings* i_pBindings, + SfxChildWindow* i_pChildWindow, + vcl::Window* i_pParent, + const OUString& rsTitle ); virtual ~TitledDockingWindow() override; virtual void dispose() override; - /** sets a title to be displayed in the docking window - */ - void SetTitle( const OUString& i_rTitle ); - /** returns the content window, which is to be used as parent window for any content to be displayed in the docking window. */ @@ -53,26 +63,36 @@ namespace sd */ const SvBorder& GetDecorationBorder() const { return m_aBorder; } - protected: + /** When docked the given range is passed to the parent SplitWindow. + */ + void SetValidSizeRange (const Range& rValidSizeRange); + + enum Orientation { HorizontalOrientation, VerticalOrientation, UnknownOrientation }; + /** When the TitledDockingWindow is docked and managed by a split window + it can derive its orientation from the orientation of the split + window and return either HorizontalOrientation or + VerticalOrientation. + Otherwise UnknownOrientation is returned. + */ + Orientation GetOrientation() const; + + private: // Window overridables virtual void Paint(vcl::RenderContext& rRenderContext, const ::tools::Rectangle& i_rArea) override; virtual void Resize() override; virtual void StateChanged( StateChangedType i_nType ) override; virtual void DataChanged( const DataChangedEvent& i_rDataChangedEvent ) override; virtual void SetText( const OUString& i_rText ) override; - + virtual void MouseButtonDown (const MouseEvent& rEvent) override; virtual void ApplySettings(vcl::RenderContext& rRenderContext) override; - protected: /** internal version of ResetToolBox */ void impl_resetToolBox(); - private: DECL_LINK(OnToolboxItemSelected, ToolBox*, void); void impl_layout(); - private: OUString m_sTitle; VclPtr<ToolBox> m_aToolbox; VclPtr<Window> m_aContentWindow; diff --git a/sd/source/ui/slidesorter/view/SlideSorterView.cxx b/sd/source/ui/slidesorter/view/SlideSorterView.cxx index 390541e3712d..cf59e14d0120 100644 --- a/sd/source/ui/slidesorter/view/SlideSorterView.cxx +++ b/sd/source/ui/slidesorter/view/SlideSorterView.cxx @@ -35,7 +35,7 @@ #include <model/SlsPageDescriptor.hxx> #include <cache/SlsPageCache.hxx> #include <cache/SlsPageCacheManager.hxx> -#include <PaneDockingWindow.hxx> +#include <titledockwin.hxx> #include <sdpage.hxx> #include <Window.hxx> @@ -316,10 +316,10 @@ void SlideSorterView::UpdateOrientation() { // Get access to the docking window. vcl::Window* pWindow = mrSlideSorter.GetContentWindow(); - PaneDockingWindow* pDockingWindow = nullptr; + TitledDockingWindow* pDockingWindow = nullptr; while (pWindow!=nullptr && pDockingWindow==nullptr) { - pDockingWindow = dynamic_cast<PaneDockingWindow*>(pWindow); + pDockingWindow = dynamic_cast<TitledDockingWindow*>(pWindow); pWindow = pWindow->GetParent(); } @@ -329,7 +329,7 @@ void SlideSorterView::UpdateOrientation() Application::GetSettings().GetStyleSettings().GetScrollBarSize()); switch (pDockingWindow->GetOrientation()) { - case PaneDockingWindow::HorizontalOrientation: + case TitledDockingWindow::HorizontalOrientation: if (SetOrientation(Layouter::HORIZONTAL)) { const Range aRange (mpLayouter->GetValidVerticalSizeRange()); @@ -339,7 +339,7 @@ void SlideSorterView::UpdateOrientation() } break; - case PaneDockingWindow::VerticalOrientation: + case TitledDockingWindow::VerticalOrientation: if (SetOrientation(Layouter::VERTICAL)) { const Range aRange (mpLayouter->GetValidHorizontalSizeRange()); @@ -349,7 +349,7 @@ void SlideSorterView::UpdateOrientation() } break; - case PaneDockingWindow::UnknownOrientation: + case TitledDockingWindow::UnknownOrientation: if (SetOrientation(Layouter::GRID)) { const sal_Int32 nAdditionalSize (10); diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist index 2b02626215d5..9b508e79ec69 100644 --- a/solenv/clang-format/excludelist +++ b/solenv/clang-format/excludelist @@ -9606,7 +9606,6 @@ sd/source/ui/dlg/AnimationChildWindow.cxx sd/source/ui/dlg/LayerTabBar.cxx sd/source/ui/dlg/NavigatorChildWindow.cxx sd/source/ui/dlg/PaneChildWindows.cxx -sd/source/ui/dlg/PaneDockingWindow.cxx sd/source/ui/dlg/PaneShells.cxx sd/source/ui/dlg/PhotoAlbumDialog.cxx sd/source/ui/dlg/PhotoAlbumDialog.hxx @@ -9775,7 +9774,6 @@ sd/source/ui/inc/OutlineView.hxx sd/source/ui/inc/OutlineViewShell.hxx sd/source/ui/inc/OutlinerIteratorImpl.hxx sd/source/ui/inc/PaneChildWindows.hxx -sd/source/ui/inc/PaneDockingWindow.hxx sd/source/ui/inc/PreviewRenderer.hxx sd/source/ui/inc/RemoteServer.hxx sd/source/ui/inc/Ruler.hxx