[Libreoffice-commits] core.git: include/svx officecfg/registry svx/source svx/uiconfig sw/Library_sw.mk sw/source

Shivam Kumar Singh (via logerrit) logerrit at kemper.freedesktop.org
Fri Jun 12 23:10:35 UTC 2020


 include/svx/sidebar/InspectorTextPanel.hxx                   |   13 --
 officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu |    2 
 svx/source/sidebar/PanelFactory.cxx                          |    5 -
 svx/source/sidebar/inspector/InspectorTextPanel.cxx          |   20 +---
 svx/uiconfig/ui/inspectortextpanel.ui                        |    2 
 sw/Library_sw.mk                                             |    1 
 sw/source/uibase/sidebar/SwPanelFactory.cxx                  |   10 ++
 sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx        |   51 +++++++++++
 sw/source/uibase/sidebar/WriterInspectorTextPanel.hxx        |   42 +++++++++
 9 files changed, 118 insertions(+), 28 deletions(-)

New commits:
commit c98affa44e3f61279ae9fe052dbcfbda0c58838e
Author:     Shivam Kumar Singh <shivamhere247 at gmail.com>
AuthorDate: Sat Jun 6 18:57:13 2020 +0530
Commit:     Tomaž Vajngerl <quikee at gmail.com>
CommitDate: Sat Jun 13 01:09:59 2020 +0200

    Changed the source code location for Inspector
    
    The Inspector has been instead of defining in svx
    now defined such that the main implementation is
    in sw folder whereas there is a common interface in
    svx.
    
    This change has been done as a progressive step towards
    cleaner code.
    
    Change-Id: I49af862f87b4315385c2e275b1079394c326b119
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95657
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/svx/source/sidebar/inspector/InspectorTextPanel.hxx b/include/svx/sidebar/InspectorTextPanel.hxx
similarity index 78%
rename from svx/source/sidebar/inspector/InspectorTextPanel.hxx
rename to include/svx/sidebar/InspectorTextPanel.hxx
index 0d6160dfe75e..74c0b90fcd64 100644
--- a/svx/source/sidebar/inspector/InspectorTextPanel.hxx
+++ b/include/svx/sidebar/InspectorTextPanel.hxx
@@ -18,16 +18,14 @@
  */
 #pragma once
 
-#include <sfx2/sidebar/IContextChangeReceiver.hxx>
-#include <sfx2/weldutils.hxx>
-#include <vcl/EnumContext.hxx>
 #include <sfx2/sidebar/PanelLayout.hxx>
+#include <svx/svxdllapi.h>
 
 namespace svx
 {
 namespace sidebar
 {
-class InspectorTextPanel : public PanelLayout, public ::sfx2::sidebar::IContextChangeReceiver
+class SVX_DLLPUBLIC InspectorTextPanel : public PanelLayout
 {
 public:
     virtual ~InspectorTextPanel() override;
@@ -36,15 +34,12 @@ public:
     static VclPtr<vcl::Window> Create(vcl::Window* pParent,
                                       const css::uno::Reference<css::frame::XFrame>& rxFrame);
 
-    virtual void HandleContextChange(const vcl::EnumContext& rContext) override;
-
     InspectorTextPanel(vcl::Window* pParent,
                        const css::uno::Reference<css::frame::XFrame>& rxFrame);
+    virtual void updateEntries(std::vector<OUString> store);
 
 private:
-    std::unique_ptr<weld::TreeView> mxListBoxStyles; // To dump all the properties
-
-    vcl::EnumContext maContext;
+    std::unique_ptr<weld::TreeView> mxListBoxStyles;
 };
 }
 } // end of namespace svx::sidebar
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
index fae993013b49..5e31fd73689d 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
@@ -411,7 +411,7 @@
           </value>
         </prop>
         <prop oor:name="ImplementationURL" oor:type="xs:string">
-          <value>private:resource/toolpanel/SvxPanelFactory/InspectorTextPanel</value>
+          <value>private:resource/toolpanel/SwPanelFactory/WriterInspectorTextPanel</value>
         </prop>
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>120</value>
diff --git a/svx/source/sidebar/PanelFactory.cxx b/svx/source/sidebar/PanelFactory.cxx
index 6b8ed657351e..e37648b38c25 100644
--- a/svx/source/sidebar/PanelFactory.cxx
+++ b/svx/source/sidebar/PanelFactory.cxx
@@ -20,7 +20,6 @@
 #include <config_features.h>
 
 #include "text/TextPropertyPanel.hxx"
-#include "inspector/InspectorTextPanel.hxx"
 #include "styles/StylesPropertyPanel.hxx"
 #include "paragraph/ParaPropertyPanel.hxx"
 #include "lists/ListsPropertyPanel.hxx"
@@ -125,10 +124,6 @@ Reference<ui::XUIElement> SAL_CALL PanelFactory::createUIElement (
     {
         pControl = TextPropertyPanel::Create(pParentWindow, xFrame);
     }
-    else if (rsResourceURL.endsWith("/InspectorTextPanel"))
-    {
-        pControl = InspectorTextPanel::Create(pParentWindow, xFrame);
-    }
     else if (rsResourceURL.endsWith("/StylesPropertyPanel"))
     {
         pControl = StylesPropertyPanel::Create(pParentWindow, xFrame);
diff --git a/svx/source/sidebar/inspector/InspectorTextPanel.cxx b/svx/source/sidebar/inspector/InspectorTextPanel.cxx
index 6eaa6f992573..68ac911a6408 100644
--- a/svx/source/sidebar/inspector/InspectorTextPanel.cxx
+++ b/svx/source/sidebar/inspector/InspectorTextPanel.cxx
@@ -17,11 +17,9 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include "InspectorTextPanel.hxx"
+#include <svx/sidebar/InspectorTextPanel.hxx>
 
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
-#include <comphelper/lok.hxx>
-#include <sfx2/lokhelper.hxx>
 
 using namespace css;
 
@@ -44,11 +42,17 @@ InspectorTextPanel::Create(vcl::Window* pParent,
 InspectorTextPanel::InspectorTextPanel(vcl::Window* pParent,
                                        const css::uno::Reference<css::frame::XFrame>& rxFrame)
     : PanelLayout(pParent, "InspectorTextPanel", "svx/ui/inspectortextpanel.ui", rxFrame)
-    , mxListBoxStyles(m_xBuilder->weld_tree_view("liststore"))
+    , mxListBoxStyles(m_xBuilder->weld_tree_view("listbox_fonts"))
 {
     mxListBoxStyles->set_size_request(-1, mxListBoxStyles->get_height_rows(10));
 }
 
+void InspectorTextPanel::updateEntries(std::vector<OUString> store)
+{
+    for (OUString& str : store)
+        mxListBoxStyles->append_text(str);
+}
+
 InspectorTextPanel::~InspectorTextPanel() { disposeOnce(); }
 
 void InspectorTextPanel::dispose()
@@ -58,14 +62,6 @@ void InspectorTextPanel::dispose()
     PanelLayout::dispose();
 }
 
-void InspectorTextPanel::HandleContextChange(const vcl::EnumContext& rContext)
-{
-    if (maContext == rContext)
-        return;
-
-    maContext = rContext;
-}
-
 } // end of namespace svx::sidebar
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/uiconfig/ui/inspectortextpanel.ui b/svx/uiconfig/ui/inspectortextpanel.ui
index 1ebd98403eb5..726a3d840dc6 100644
--- a/svx/uiconfig/ui/inspectortextpanel.ui
+++ b/svx/uiconfig/ui/inspectortextpanel.ui
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Generated with glade 3.20.4 -->
-<interface domain="sw">
+<interface domain="svx">
   <requires lib="gtk+" version="3.18"/>
   <object class="GtkTreeStore" id="liststore">
     <columns>
diff --git a/sw/Library_sw.mk b/sw/Library_sw.mk
index fcb8786d704f..0707fb93e9c4 100644
--- a/sw/Library_sw.mk
+++ b/sw/Library_sw.mk
@@ -707,6 +707,7 @@ $(eval $(call gb_Library_add_exception_objects,sw,\
     sw/source/uibase/sidebar/TableEditPanel \
     sw/source/uibase/sidebar/ThemePanel \
     sw/source/uibase/sidebar/SwPanelFactory \
+    sw/source/uibase/sidebar/WriterInspectorTextPanel \
     sw/source/uibase/table/chartins \
     sw/source/uibase/table/swtablerep \
     sw/source/uibase/table/tablemgr \
diff --git a/sw/source/uibase/sidebar/SwPanelFactory.cxx b/sw/source/uibase/sidebar/SwPanelFactory.cxx
index 37b6694e467d..b073b2801733 100644
--- a/sw/source/uibase/sidebar/SwPanelFactory.cxx
+++ b/sw/source/uibase/sidebar/SwPanelFactory.cxx
@@ -26,6 +26,7 @@
 #include "PageHeaderPanel.hxx"
 #include "PageFooterPanel.hxx"
 #include "WrapPropertyPanel.hxx"
+#include "WriterInspectorTextPanel.hxx"
 #include "TableEditPanel.hxx"
 #include <navipi.hxx>
 #include <redlndlg.hxx>
@@ -169,6 +170,15 @@ Reference<ui::XUIElement> SAL_CALL SwPanelFactory::createUIElement (
             pPanel,
             ui::LayoutSize(-1,-1,-1));
     }
+    else if (rsResourceURL.endsWith("/WriterInspectorTextPanel"))
+    {
+        VclPtr<vcl::Window> pPanel = sw::sidebar::WriterInspectorTextPanel::Create( pParentWindow, xFrame);
+        xElement = sfx2::sidebar::SidebarPanelBase::Create(
+            rsResourceURL,
+            xFrame,
+            pPanel,
+            ui::LayoutSize(-1,-1,-1));
+    }
     else if (rsResourceURL.endsWith("/StylePresetsPanel"))
     {
         VclPtr<vcl::Window> pPanel = sw::sidebar::StylePresetsPanel::Create(pParentWindow, xFrame);
diff --git a/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx
new file mode 100644
index 000000000000..c0fc42be0ac4
--- /dev/null
+++ b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx
@@ -0,0 +1,51 @@
+/* -*- 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 "WriterInspectorTextPanel.hxx"
+
+#include <com/sun/star/lang/IllegalArgumentException.hpp>
+
+using namespace css;
+
+namespace sw::sidebar
+{
+VclPtr<vcl::Window>
+WriterInspectorTextPanel::Create(vcl::Window* pParent,
+                                 const css::uno::Reference<css::frame::XFrame>& rxFrame)
+{
+    if (pParent == nullptr)
+        throw lang::IllegalArgumentException(
+            "no parent Window given to WriterInspectorTextPanel::Create", nullptr, 0);
+    if (!rxFrame.is())
+        throw lang::IllegalArgumentException("no XFrame given to WriterInspectorTextPanel::Create",
+                                             nullptr, 1);
+
+    return VclPtr<WriterInspectorTextPanel>::Create(pParent, rxFrame);
+}
+WriterInspectorTextPanel::WriterInspectorTextPanel(
+    vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame)
+    : InspectorTextPanel(pParent, rxFrame)
+{
+    std::vector<OUString> store;
+    InspectorTextPanel::updateEntries(store);
+}
+
+} // end of namespace svx::sidebar
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/uibase/sidebar/WriterInspectorTextPanel.hxx b/sw/source/uibase/sidebar/WriterInspectorTextPanel.hxx
new file mode 100644
index 000000000000..85b8dc7a9f2f
--- /dev/null
+++ b/sw/source/uibase/sidebar/WriterInspectorTextPanel.hxx
@@ -0,0 +1,42 @@
+/* -*- 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 <sfx2/weldutils.hxx>
+#include <svx/sidebar/InspectorTextPanel.hxx>
+
+namespace sw
+{
+namespace sidebar
+{
+class WriterInspectorTextPanel final : public svx::sidebar::InspectorTextPanel
+{
+public:
+    static VclPtr<vcl::Window> Create(vcl::Window* pParent,
+                                      const css::uno::Reference<css::frame::XFrame>& rxFrame);
+
+    WriterInspectorTextPanel(vcl::Window* pParent,
+                             const css::uno::Reference<css::frame::XFrame>& rxFrame);
+
+    // virtual ~WriterInspectorTextPanel();
+};
+}
+} // end of namespace svx::sidebar
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list