[Libreoffice-commits] core.git: Branch 'distro/collabora/co-2021' - 3 commits - framework/source framework/uiconfig framework/UIConfig_startmodule.mk officecfg/registry svx/Library_svx.mk svx/source svx/uiconfig svx/UIConfig_svx.mk
Szymon KÅos (via logerrit)
logerrit at kemper.freedesktop.org
Tue Apr 20 08:57:05 UTC 2021
framework/UIConfig_startmodule.mk | 4
framework/source/uielement/subtoolbarcontroller.cxx | 113 +++++++++--
framework/uiconfig/startmodule/ui/subtoolbar.ui | 18 +
officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu | 25 ++
svx/Library_svx.mk | 1
svx/UIConfig_svx.mk | 1
svx/source/sidebar/PanelFactory.cxx | 5
svx/source/sidebar/fontwork/FontworkPropertyPanel.cxx | 68 ++++++
svx/source/sidebar/fontwork/FontworkPropertyPanel.hxx | 49 ++++
svx/source/tbxctrls/fontworkgallery.cxx | 12 +
svx/uiconfig/ui/sidebarfontwork.ui | 90 ++++++++
11 files changed, 373 insertions(+), 13 deletions(-)
New commits:
commit afe370389f39f280bbbfbf7ef6ab7dabbec10dfd
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Mar 31 15:56:00 2021 +0200
Commit: Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Tue Apr 20 10:38:47 2021 +0200
Add missing popover for fontwork properties popup controllers
Change-Id: I293a88a681b55e123c45edc9c3034b73417d7af5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113418
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>
diff --git a/svx/source/tbxctrls/fontworkgallery.cxx b/svx/source/tbxctrls/fontworkgallery.cxx
index b34199ba292f..76a067d93fa1 100644
--- a/svx/source/tbxctrls/fontworkgallery.cxx
+++ b/svx/source/tbxctrls/fontworkgallery.cxx
@@ -424,6 +424,12 @@ void SAL_CALL FontworkAlignmentControl::initialize( const css::uno::Sequence< cs
{
svt::PopupWindowController::initialize( aArguments );
+ if (m_pToolbar)
+ {
+ mxPopoverContainer.reset(new ToolbarPopupContainer(m_pToolbar));
+ m_pToolbar->set_item_popover(m_aCommandURL.toUtf8(), mxPopoverContainer->getTopLevel());
+ }
+
ToolBox* pToolBox = nullptr;
sal_uInt16 nId = 0;
if ( getToolboxId( nId, &pToolBox ) )
@@ -698,6 +704,12 @@ void SAL_CALL FontworkCharacterSpacingControl::initialize( const css::uno::Seque
{
svt::PopupWindowController::initialize( aArguments );
+ if (m_pToolbar)
+ {
+ mxPopoverContainer.reset(new ToolbarPopupContainer(m_pToolbar));
+ m_pToolbar->set_item_popover(m_aCommandURL.toUtf8(), mxPopoverContainer->getTopLevel());
+ }
+
ToolBox* pToolBox = nullptr;
sal_uInt16 nId = 0;
if ( getToolboxId( nId, &pToolBox ) )
commit ff3f94bf566852074a99e3aa2d3aee248c235f25
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Mar 10 16:18:08 2021 +0100
Commit: Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Tue Apr 20 10:32:38 2021 +0200
weld SubToolBarController
- promote SubToolBarController to svt::PopupWindowController
- create welded popup
- use weld::Toolbar as a target for ToolBarManager
Change-Id: Iacd6467632ea5860fadbbcd96fbe88bb2f316da9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112276
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>
diff --git a/framework/UIConfig_startmodule.mk b/framework/UIConfig_startmodule.mk
index e92ce07bd906..14cf6283493f 100644
--- a/framework/UIConfig_startmodule.mk
+++ b/framework/UIConfig_startmodule.mk
@@ -13,4 +13,8 @@ $(eval $(call gb_UIConfig_add_menubarfiles,modules/StartModule,\
framework/uiconfig/startmodule/menubar/menubar \
))
+$(eval $(call gb_UIConfig_add_uifiles,modules/StartModule,\
+ framework/uiconfig/startmodule/ui/subtoolbar \
+))
+
# vim: set noet sw=4 ts=4:
diff --git a/framework/source/uielement/subtoolbarcontroller.cxx b/framework/source/uielement/subtoolbarcontroller.cxx
index 6dcd8b67404a..4524a054e6a1 100644
--- a/framework/source/uielement/subtoolbarcontroller.cxx
+++ b/framework/source/uielement/subtoolbarcontroller.cxx
@@ -21,12 +21,14 @@
#include <cppuhelper/implbase.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <cppuhelper/weakref.hxx>
-#include <svtools/toolboxcontroller.hxx>
+#include <svtools/popupwindowcontroller.hxx>
+#include <svtools/toolbarmenu.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <tools/gen.hxx>
#include <vcl/svapp.hxx>
#include <vcl/toolbox.hxx>
#include <vcl/commandinfoprovider.hxx>
+#include <vcl/weldutils.hxx>
#include <com/sun/star/awt/XDockableWindow.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
@@ -36,10 +38,9 @@
#include <com/sun/star/ui/theUIElementFactoryManager.hpp>
#include <com/sun/star/container/NoSuchElementException.hpp>
-typedef cppu::ImplInheritanceHelper< svt::ToolboxController,
+typedef cppu::ImplInheritanceHelper< svt::PopupWindowController,
css::frame::XSubToolbarController,
- css::awt::XDockableWindowListener,
- css::lang::XServiceInfo > ToolBarBase;
+ css::awt::XDockableWindowListener> ToolBarBase;
namespace {
@@ -50,7 +51,8 @@ class SubToolBarController : public ToolBarBase
css::uno::Reference< css::ui::XUIElement > m_xUIElement;
void disposeUIElement();
public:
- explicit SubToolBarController( const css::uno::Sequence< css::uno::Any >& rxArgs );
+ explicit SubToolBarController( const css::uno::Reference< com::sun::star::uno::XComponentContext > rxContext,
+ const css::uno::Sequence< css::uno::Any >& rxArgs );
virtual ~SubToolBarController() override;
// XInitialization
@@ -61,7 +63,10 @@ public:
// XToolbarController
virtual void SAL_CALL execute( sal_Int16 nKeyModifier ) override;
- virtual css::uno::Reference< css::awt::XWindow > SAL_CALL createPopupWindow() override;
+
+ // PopupWindowController
+ virtual VclPtr<vcl::Window> createVclPopupWindow(vcl::Window* pParent) override;
+ virtual std::unique_ptr<WeldToolbarPopup> weldPopupWindow() override;
// XSubToolbarController
virtual sal_Bool SAL_CALL opensSubToolbar() override;
@@ -92,7 +97,14 @@ public:
}
-SubToolBarController::SubToolBarController( const css::uno::Sequence< css::uno::Any >& rxArgs )
+SubToolBarController::SubToolBarController(
+ const css::uno::Reference< com::sun::star::uno::XComponentContext > rxContext,
+ const css::uno::Sequence< css::uno::Any >& rxArgs
+) : ToolBarBase(
+ rxContext,
+ css::uno::Reference< css::frame::XFrame >(),
+ ""
+ )
{
for ( css::uno::Any const & arg : rxArgs )
{
@@ -104,6 +116,7 @@ SubToolBarController::SubToolBarController( const css::uno::Sequence< css::uno::
OUString aValue;
aPropValue.Value >>= aValue;
m_aSubTbName = aValue.getToken(0, ';', nIdx);
+ m_aCommandURL = m_aSubTbName;
m_aLastCommand = aValue.getToken(0, ';', nIdx);
break;
}
@@ -191,7 +204,74 @@ void SubToolBarController::execute( sal_Int16 nKeyModifier )
}
}
-css::uno::Reference< css::awt::XWindow > SubToolBarController::createPopupWindow()
+namespace {
+class SubToolbarControl final : public WeldToolbarPopup
+{
+public:
+ explicit SubToolbarControl(css::uno::Reference< css::frame::XFrame > xFrame,
+ weld::Widget* pParent);
+
+ virtual void GrabFocus() override;
+
+ weld::Container* GetContainer() { return m_xTargetContainer.get(); }
+
+private:
+ std::unique_ptr<weld::Container> m_xTargetContainer;
+};
+}
+
+SubToolbarControl::SubToolbarControl(css::uno::Reference< css::frame::XFrame > xFrame,
+ weld::Widget* pParent)
+: WeldToolbarPopup(xFrame, pParent, "modules/StartModule/ui/subtoolbar.ui", "subtoolbar")
+, m_xTargetContainer(m_xBuilder->weld_container("container"))
+{
+}
+
+void SubToolbarControl::GrabFocus()
+{
+ // TODO
+}
+
+std::unique_ptr<WeldToolbarPopup> SubToolBarController::weldPopupWindow()
+{
+ SolarMutexGuard aGuard;
+
+ auto pPopup = std::make_unique<SubToolbarControl>(getFrameInterface(), m_pToolbar);
+
+ css::uno::Reference< css::frame::XFrame > xFrame ( getFrameInterface() );
+
+ // create element with factory
+ static css::uno::WeakReference< css::ui::XUIElementFactoryManager > xWeakUIElementFactory;
+ css::uno::Reference< css::ui::XUIElement > xUIElement;
+ css::uno::Reference< css::ui::XUIElementFactoryManager > xUIElementFactory = xWeakUIElementFactory;
+ if ( !xUIElementFactory.is() )
+ {
+ xUIElementFactory = css::ui::theUIElementFactoryManager::get( m_xContext );
+ xWeakUIElementFactory = xUIElementFactory;
+ }
+
+ css::uno::Reference< css::awt::XWindow > xParent = new weld::TransportAsXWindow(pPopup->GetContainer());
+
+ auto aPropSeq( comphelper::InitPropertySequence( {
+ { "Frame", css::uno::makeAny( xFrame ) },
+ { "ParentWindow", css::uno::makeAny( xParent ) },
+ { "Persistent", css::uno::makeAny( false ) },
+ { "PopupMode", css::uno::makeAny( true ) }
+ } ) );
+
+ try
+ {
+ xUIElement = xUIElementFactory->createUIElement( "private:resource/toolbar/" + m_aSubTbName, aPropSeq );
+ }
+ catch ( css::container::NoSuchElementException& )
+ {}
+ catch ( css::lang::IllegalArgumentException& )
+ {}
+
+ return pPopup;
+}
+
+VclPtr<vcl::Window> SubToolBarController::createVclPopupWindow(vcl::Window* /*pParent*/)
{
SolarMutexGuard aGuard;
@@ -254,7 +334,7 @@ css::uno::Reference< css::awt::XWindow > SubToolBarController::createPopupWindow
}
}
}
- return css::uno::Reference< css::awt::XWindow >();
+ return nullptr;
}
sal_Bool SubToolBarController::opensSubToolbar()
@@ -397,7 +477,7 @@ void SubToolBarController::disposing( const css::lang::EventObject& e )
void SubToolBarController::initialize( const css::uno::Sequence< css::uno::Any >& rxArgs )
{
- svt::ToolboxController::initialize( rxArgs );
+ svt::PopupWindowController::initialize( rxArgs );
ToolBox* pToolBox = nullptr;
sal_uInt16 nId = 0;
@@ -408,6 +488,13 @@ void SubToolBarController::initialize( const css::uno::Sequence< css::uno::Any >
else
pToolBox->SetItemBits( nId, pToolBox->GetItemBits( nId ) | ToolBoxItemBits::DROPDOWN );
}
+
+ if (m_pToolbar)
+ {
+ mxPopoverContainer.reset(new ToolbarPopupContainer(m_pToolbar));
+ m_pToolbar->set_item_popover(m_aCommandURL.toUtf8(), mxPopoverContainer->getTopLevel());
+ }
+
updateImage();
}
@@ -416,7 +503,7 @@ void SubToolBarController::dispose()
if ( m_bDisposed )
return;
- svt::ToolboxController::dispose();
+ svt::PopupWindowController::dispose();
disposeUIElement();
m_xUIElement = nullptr;
}
@@ -438,10 +525,10 @@ css::uno::Sequence< OUString > SubToolBarController::getSupportedServiceNames()
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface *
com_sun_star_comp_framework_SubToolBarController_get_implementation(
- css::uno::XComponentContext*,
+ css::uno::XComponentContext* rxContext,
css::uno::Sequence<css::uno::Any> const & rxArgs )
{
- return cppu::acquire( new SubToolBarController( rxArgs ) );
+ return cppu::acquire( new SubToolBarController( rxContext, rxArgs ) );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/uiconfig/startmodule/ui/subtoolbar.ui b/framework/uiconfig/startmodule/ui/subtoolbar.ui
new file mode 100644
index 000000000000..4160cfcf9ede
--- /dev/null
+++ b/framework/uiconfig/startmodule/ui/subtoolbar.ui
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.4 -->
+<interface domain="sfx">
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkPopover" id="subtoolbar">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkBox" id="container">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
commit 79954529949de79f3c83522b48844c3d3f2f5283
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Jan 27 10:58:12 2021 +0100
Commit: Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Tue Apr 20 10:24:11 2021 +0200
fontwork: add sidebar panel
Change-Id: I092e40c17dd814d0b18f06aea01d7afa29cbad2e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110024
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Jan Holesovsky <kendy at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112275
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
index f9285cb66b5b..a9874f256608 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
@@ -762,6 +762,31 @@
</prop>
</node>
+ <node oor:name="FontworkPropertyPanel" oor:op="replace">
+ <prop oor:name="Title" oor:type="xs:string">
+ <value xml:lang="en-US">Fontwork</value>
+ </prop>
+ <prop oor:name="Id" oor:type="xs:string">
+ <value>FontworkPropertyPanel</value>
+ </prop>
+ <prop oor:name="DeckId" oor:type="xs:string">
+ <value>PropertyDeck</value>
+ </prop>
+ <prop oor:name="ContextList">
+ <value oor:separator=";">
+ Calc, DrawFontwork, visible ;
+ DrawImpress, DrawFontwork, visible ;
+ WriterVariants, DrawFontwork, visible ;
+ </value>
+ </prop>
+ <prop oor:name="ImplementationURL" oor:type="xs:string">
+ <value>private:resource/toolpanel/SvxPanelFactory/FontworkPropertyPanel</value>
+ </prop>
+ <prop oor:name="OrderIndex" oor:type="xs:int">
+ <value>600</value>
+ </prop>
+ </node>
+
<node oor:name="GraphicPropertyPanel" oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value xml:lang="en-US">Image</value>
diff --git a/svx/Library_svx.mk b/svx/Library_svx.mk
index f7b947934546..c951d91169f3 100644
--- a/svx/Library_svx.mk
+++ b/svx/Library_svx.mk
@@ -200,6 +200,7 @@ $(eval $(call gb_Library_add_exception_objects,svx,\
svx/source/sidebar/area/AreaPropertyPanelBase \
svx/source/sidebar/area/AreaTransparencyGradientPopup \
svx/source/sidebar/effect/EffectPropertyPanel \
+ svx/source/sidebar/fontwork/FontworkPropertyPanel \
svx/source/sidebar/shadow/ShadowPropertyPanel \
svx/source/sidebar/graphic/GraphicPropertyPanel \
svx/source/sidebar/line/LinePropertyPanel \
diff --git a/svx/UIConfig_svx.mk b/svx/UIConfig_svx.mk
index b8e18d763c1f..2ea9c56dff89 100644
--- a/svx/UIConfig_svx.mk
+++ b/svx/UIConfig_svx.mk
@@ -124,6 +124,7 @@ $(eval $(call gb_UIConfig_add_uifiles,svx,\
svx/uiconfig/ui/sidebararea \
svx/uiconfig/ui/sidebarempty \
svx/uiconfig/ui/sidebareffect \
+ svx/uiconfig/ui/sidebarfontwork \
svx/uiconfig/ui/sidebarshadow \
svx/uiconfig/ui/sidebargallery \
svx/uiconfig/ui/sidebargraphic \
diff --git a/svx/source/sidebar/PanelFactory.cxx b/svx/source/sidebar/PanelFactory.cxx
index 1b93e207afda..d6085796f743 100644
--- a/svx/source/sidebar/PanelFactory.cxx
+++ b/svx/source/sidebar/PanelFactory.cxx
@@ -24,6 +24,7 @@
#include "paragraph/ParaPropertyPanel.hxx"
#include "lists/ListsPropertyPanel.hxx"
#include "area/AreaPropertyPanel.hxx"
+#include "fontwork/FontworkPropertyPanel.hxx"
#include "shadow/ShadowPropertyPanel.hxx"
#include "effect/EffectPropertyPanel.hxx"
#include "graphic/GraphicPropertyPanel.hxx"
@@ -140,6 +141,10 @@ Reference<ui::XUIElement> SAL_CALL PanelFactory::createUIElement (
{
pControl = AreaPropertyPanel::Create(pParentWindow, xFrame, pBindings);
}
+ else if (rsResourceURL.endsWith("/FontworkPropertyPanel"))
+ {
+ pControl = FontworkPropertyPanel::Create(pParentWindow, xFrame);
+ }
else if (rsResourceURL.endsWith("/ShadowPropertyPanel"))
{
pControl = ShadowPropertyPanel::Create(pParentWindow, xFrame, pBindings);
diff --git a/svx/source/sidebar/fontwork/FontworkPropertyPanel.cxx b/svx/source/sidebar/fontwork/FontworkPropertyPanel.cxx
new file mode 100644
index 000000000000..7d1b853d2ea8
--- /dev/null
+++ b/svx/source/sidebar/fontwork/FontworkPropertyPanel.cxx
@@ -0,0 +1,68 @@
+/* -*- 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 "FontworkPropertyPanel.hxx"
+#include <svx/svxids.hrc>
+#include <sfx2/objsh.hxx>
+#include <svx/xfltrit.hxx>
+#include <svx/xflftrit.hxx>
+#include <svx/xtable.hxx>
+#include <sfx2/dispatch.hxx>
+#include <sfx2/bindings.hxx>
+#include <svtools/valueset.hxx>
+#include <unotools/pathoptions.hxx>
+#include <svx/svxitems.hrc>
+#include <vcl/toolbox.hxx>
+#include <svtools/toolbarmenu.hxx>
+#include <comphelper/lok.hxx>
+
+using namespace css;
+using namespace css::uno;
+
+namespace svx
+{
+namespace sidebar
+{
+FontworkPropertyPanel::FontworkPropertyPanel(vcl::Window* pParent,
+ const css::uno::Reference<css::frame::XFrame>& rxFrame)
+ : PanelLayout(pParent, "FontworkPropertyPanel", "svx/ui/sidebarfontwork.ui", rxFrame)
+ , m_pToolbar(m_xBuilder->weld_toolbar("fontwork-toolbox"))
+ , m_xToolbar(new ToolbarUnoDispatcher(*m_pToolbar, *m_xBuilder, rxFrame))
+{
+ if (comphelper::LibreOfficeKit::isActive())
+ m_pToolbar->set_item_visible(".uno:ExtrusionToggle", false);
+}
+
+VclPtr<vcl::Window>
+FontworkPropertyPanel::Create(vcl::Window* pParent,
+ const css::uno::Reference<css::frame::XFrame>& rxFrame)
+{
+ if (pParent == nullptr)
+ throw lang::IllegalArgumentException(
+ "no parent Window given to FontworkPropertyPanel::Create", nullptr, 0);
+ if (!rxFrame.is())
+ throw lang::IllegalArgumentException("no XFrame given to FontworkPropertyPanel::Create",
+ nullptr, 1);
+
+ return VclPtr<FontworkPropertyPanel>::Create(pParent, rxFrame);
+}
+}
+} // end of namespace svx::sidebar
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/sidebar/fontwork/FontworkPropertyPanel.hxx b/svx/source/sidebar/fontwork/FontworkPropertyPanel.hxx
new file mode 100644
index 000000000000..92447863b316
--- /dev/null
+++ b/svx/source/sidebar/fontwork/FontworkPropertyPanel.hxx
@@ -0,0 +1,49 @@
+/* -*- 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 .
+ */
+#ifndef INCLUDED_SVX_SOURCE_SIDEBAR_AREA_FONTWORKPROPERTYPANEL_HXX
+#define INCLUDED_SVX_SOURCE_SIDEBAR_AREA_FONTWORKPROPERTYPANEL_HXX
+
+#include <com/sun/star/ui/XUIElement.hpp>
+#include <sfx2/sidebar/PanelLayout.hxx>
+#include <sfx2/weldutils.hxx>
+
+namespace svx
+{
+namespace sidebar
+{
+class FontworkPropertyPanel : public PanelLayout
+{
+public:
+ static VclPtr<vcl::Window> Create(vcl::Window* pParent,
+ const css::uno::Reference<css::frame::XFrame>& rxFrame);
+
+ // constructor/destructor
+ FontworkPropertyPanel(vcl::Window* pParent,
+ const css::uno::Reference<css::frame::XFrame>& rxFrame);
+
+private:
+ std::unique_ptr<weld::Toolbar> m_pToolbar;
+ std::unique_ptr<ToolbarUnoDispatcher> m_xToolbar;
+};
+}
+} // end of namespace svx::sidebar
+
+#endif // INCLUDED_SVX_SOURCE_SIDEBAR_AREA_FONTWORKPROPERTYPANEL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/uiconfig/ui/sidebarfontwork.ui b/svx/uiconfig/ui/sidebarfontwork.ui
new file mode 100644
index 000000000000..68d3f3292353
--- /dev/null
+++ b/svx/uiconfig/ui/sidebarfontwork.ui
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.4 -->
+<interface domain="svx">
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkGrid" id="FontworkPropertyPanel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="row_homogeneous">True</property>
+ <property name="column_homogeneous">True</property>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkToolbar" id="fontwork-toolbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkMenuToolButton" id=".uno:FontworkShapeType">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolButton" id=".uno:FontworkSameLetterHeights">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuToolButton" id=".uno:FontworkAlignmentFloater">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuToolButton" id=".uno:FontworkCharacterSpacingFloater">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolButton" id=".uno:ExtrusionToggle">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+</interface>
More information about the Libreoffice-commits
mailing list