diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2021-05-27 13:00:10 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-06-08 14:50:55 +0200 |
commit | 95ebd24a629b4c8cd62cc20c0701683512cc8fa0 (patch) | |
tree | 8bdeab41e8b4d0092f639e62fd3e20ae8243f199 /include/svx | |
parent | c4f615b359be56e88e4fbf9aaaf30affb29d57e2 (diff) |
editengine-columns: ODF support [API CHANGE]
This uses existing ODF markup, as used by Writer's text frame:
style::columns child element of style:graphic-properties, its
fo:column-count and fo:column-gap attributes. No ODF extension
is required.
Since currently only columns with same width and spacing are
implemented, without additional settings, style:column child
elements are exported, but ignored on import.
This adds new property to css::drawing::TextProperties service:
TextColumns (of type css::text::XTextColumns).
Change-Id: I7e63293e5814b281ceec8a9632e696322d3629e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116035
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'include/svx')
-rw-r--r-- | include/svx/SvxXTextColumns.hxx | 22 | ||||
-rw-r--r-- | include/svx/svdotext.hxx | 4 | ||||
-rw-r--r-- | include/svx/unoshprp.hxx | 6 |
3 files changed, 31 insertions, 1 deletions
diff --git a/include/svx/SvxXTextColumns.hxx b/include/svx/SvxXTextColumns.hxx new file mode 100644 index 000000000000..0dbc92ba9611 --- /dev/null +++ b/include/svx/SvxXTextColumns.hxx @@ -0,0 +1,22 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * 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/. + */ + +#pragma once + +#include <sal/config.h> + +#include <com/sun/star/uno/Reference.h> +#include <com/sun/star/uno/XInterface.hpp> + +#include <svx/svxdllapi.h> + +SVXCORE_DLLPUBLIC css::uno::Reference<css::uno::XInterface> +SvxXTextColumns_createInstance() noexcept; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx index 746d1d2de93e..360c8c72daac 100644 --- a/include/svx/svdotext.hxx +++ b/include/svx/svdotext.hxx @@ -439,8 +439,12 @@ public: SdrTextAniKind GetTextAniKind() const; SdrTextAniDirection GetTextAniDirection() const; + bool HasTextColumnsNumber() const; sal_Int16 GetTextColumnsNumber() const; + void SetTextColumnsNumber(sal_Int16 nColumns); + bool HasTextColumnsSpacing() const; sal_Int32 GetTextColumnsSpacing() const; + void SetTextColumnsSpacing(sal_Int32 nSpacing); // react on model/page change virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) override; diff --git a/include/svx/unoshprp.hxx b/include/svx/unoshprp.hxx index c98b5b9eb433..3f61ce77c6d1 100644 --- a/include/svx/unoshprp.hxx +++ b/include/svx/unoshprp.hxx @@ -60,6 +60,7 @@ #include <com/sun/star/drawing/TextureProjectionMode.hpp> #include <com/sun/star/drawing/PolyPolygonShape3D.hpp> #include <com/sun/star/text/GraphicCrop.hpp> +#include <com/sun/star/text/XTextColumns.hpp> #include <com/sun/star/drawing/BitmapMode.hpp> #include <com/sun/star/drawing/CameraGeometry.hpp> #include <com/sun/star/text/WritingMode.hpp> @@ -193,7 +194,9 @@ #define OWN_ATTR_SIGNATURELINE_IS_SIGNED (OWN_ATTR_VALUE_START+103) #define OWN_ATTR_QRCODE (OWN_ATTR_VALUE_START+104) #define OWN_ATTR_TEXTFITTOSIZESCALE (OWN_ATTR_VALUE_START+105) -// ATTENTION: maximum is OWN_ATTR_VALUE_START+105 svx, see include/svl/solar.hrc +#define OWN_ATTR_TEXTCOLUMNS (OWN_ATTR_VALUE_START+106) +// ATTENTION: current maximum is OWN_ATTR_VALUE_START+106 svx; wnen adding values, update +// OWN_ATTR_VALUE_END in include/svl/solar.hrc accordingly // #FontWork# #define FONTWORK_PROPERTIES \ @@ -316,6 +319,7 @@ { u"" UNO_NAME_TEXT_VERTADJUST, SDRATTR_TEXT_VERTADJUST, cppu::UnoType<css::drawing::TextVerticalAdjust>::get(), 0, 0},\ { u"" UNO_NAME_TEXT_WORDWRAP, SDRATTR_TEXT_WORDWRAP, cppu::UnoType<bool>::get(), 0, 0}, \ { u"" UNO_NAME_TEXT_CHAINNEXTNAME, SDRATTR_TEXT_CHAINNEXTNAME, ::cppu::UnoType<OUString>::get(), 0, 0}, \ + { u"TextColumns", OWN_ATTR_TEXTCOLUMNS, cppu::UnoType<css::text::XTextColumns>::get(), 0, 0 }, \ SVX_UNOEDIT_CHAR_PROPERTIES, \ SVX_UNOEDIT_PARA_PROPERTIES, |