diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2023-05-30 21:11:28 +0900 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2023-06-04 18:27:45 +0200 |
commit | cc6db9f418cae422a4733163f85801c5a14f47c8 (patch) | |
tree | e86f98db456c0f5f1be50b246005c0c2cba7629b /sw/source | |
parent | f2b270e79016097077bd49c0ae4ac2b8762dc91b (diff) |
sw: border and background theme color support for multiple props.
This adds support for theme colors for multiple properties that
are stored in SvxBoxItem and SvxBrushItem / XFillColorItem. For
those items the ComplexColor member variable was introduced.
The UNO properties for the colors are added.
The properties with the added support includes paragraph border
and background + styles, page border and background, frame border
and background + styles.
The ThemeColorChanges has been extended to support changing the
colors for those propertes.
Color picker and tab pages have been fixed so they pass or set
the theme color properties to the items.
Change-Id: Id27272f5c4a448703a62a759d829e8a9540066e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152397
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/core/docnode/ndtbl1.cxx | 8 | ||||
-rw-r--r-- | sw/source/core/model/ThemeColorChanger.cxx | 297 | ||||
-rw-r--r-- | sw/source/core/unocore/unomap.cxx | 23 | ||||
-rw-r--r-- | sw/source/core/unocore/unomap1.cxx | 30 | ||||
-rw-r--r-- | sw/source/core/unocore/unomapproperties.hxx | 27 | ||||
-rw-r--r-- | sw/source/uibase/docvw/edtwin.cxx | 2 | ||||
-rw-r--r-- | sw/source/uibase/inc/uitool.hxx | 3 | ||||
-rw-r--r-- | sw/source/uibase/shells/basesh.cxx | 6 | ||||
-rw-r--r-- | sw/source/uibase/shells/frmsh.cxx | 16 | ||||
-rw-r--r-- | sw/source/uibase/shells/textsh1.cxx | 34 | ||||
-rw-r--r-- | sw/source/uibase/sidebar/PageStylesPanel.cxx | 5 | ||||
-rw-r--r-- | sw/source/uibase/utlui/uitool.cxx | 7 |
12 files changed, 399 insertions, 59 deletions
diff --git a/sw/source/core/docnode/ndtbl1.cxx b/sw/source/core/docnode/ndtbl1.cxx index 7fa9dd53e2d9..49b93463a429 100644 --- a/sw/source/core/docnode/ndtbl1.cxx +++ b/sw/source/core/docnode/ndtbl1.cxx @@ -1012,10 +1012,10 @@ void SwDoc::SetTabLineStyle( const SwCursor& rCursor, SwFrameFormat *pFormat = pCell->GetFormat(); std::unique_ptr<SvxBoxItem> aBox(pFormat->GetBox().Clone()); - SvxBorderLine* pTop = const_cast<SvxBorderLine*>(aBox->GetTop()); - SvxBorderLine* pBot = const_cast<SvxBorderLine*>(aBox->GetBottom()); - SvxBorderLine* pLeft = const_cast<SvxBorderLine*>(aBox->GetLeft()); - SvxBorderLine* pRight = const_cast<SvxBorderLine*>(aBox->GetRight()); + SvxBorderLine* pTop = aBox->GetTop(); + SvxBorderLine* pBot = aBox->GetBottom(); + SvxBorderLine* pLeft = aBox->GetLeft(); + SvxBorderLine* pRight = aBox->GetRight(); if ( !pBorderLine && bSetLine ) { diff --git a/sw/source/core/model/ThemeColorChanger.cxx b/sw/source/core/model/ThemeColorChanger.cxx index 4edf802f3309..fb3175e929cf 100644 --- a/sw/source/core/model/ThemeColorChanger.cxx +++ b/sw/source/core/model/ThemeColorChanger.cxx @@ -18,17 +18,22 @@ #include <ndtxt.hxx> #include <format.hxx> #include <charatr.hxx> +#include <paratr.hxx> +#include <frmatr.hxx> #include <DocumentContentOperationsManager.hxx> #include <IDocumentDrawModelAccess.hxx> #include <IDocumentUndoRedo.hxx> #include <UndoThemeChange.hxx> +#include <svx/xflclit.hxx> + #include <sal/config.h> #include <svx/svdpage.hxx> #include <svx/svditer.hxx> #include <docmodel/uno/UnoComplexColor.hxx> #include <docmodel/theme/Theme.hxx> #include <editeng/unoprnms.hxx> +#include <editeng/boxitem.hxx> #include <com/sun/star/text/XTextRange.hpp> #include <com/sun/star/container/XEnumerationAccess.hpp> #include <com/sun/star/container/XEnumeration.hpp> @@ -38,6 +43,25 @@ namespace sw { namespace { +bool changeBorderLine(editeng::SvxBorderLine* pBorderLine, model::ColorSet const& rColorSet) +{ + if (!pBorderLine) + return false; + + model::ComplexColor const& rComplexColor = pBorderLine->getComplexColor(); + if (rComplexColor.meType == model::ColorType::Scheme) + { + auto eThemeType = rComplexColor.meSchemeType; + if (eThemeType != model::ThemeColorType::Unknown) + { + Color aColor = rColorSet.resolveColor(rComplexColor); + pBorderLine->SetColor(aColor); + return true; + } + } + return false; +} + /** Handler for ModelTraverser that recalculates and updates the theme colors. * * It checks all the SdrObjects and updates fill, line and text theme colors. @@ -67,6 +91,7 @@ public: for (size_t i = 0; i < rHints.Count(); ++i) { const SwTextAttr* pTextAttr = rHints.Get(i); + SwPaM aPam(*pTextNode, pTextAttr->GetStart(), *pTextNode, pTextAttr->GetAnyEnd()); if (pTextAttr->Which() == RES_TXTATR_AUTOFMT) { SwFormatAutoFormat const& rAutoFormatPool(pTextAttr->GetAutoFormat()); @@ -81,9 +106,36 @@ public: auto pNew = pItem->Clone(); pNew->SetValue(aNewColor); - SwPaM aPam(*pTextNode, pTextAttr->GetStart(), *pTextNode, - pTextAttr->GetAnyEnd()); - mrDocument.GetDocumentContentOperationsManager().InsertPoolItem( + mrDocument.getIDocumentContentOperations().InsertPoolItem( + aPam, *pNew, SetAttrMode::APICALL | SetAttrMode::NO_CURSOR_CHANGE); + } + } + if (const SvxUnderlineItem* pItem + = pStyleHandle->GetItemIfSet(RES_CHRATR_UNDERLINE)) + { + model::ComplexColor const& rComplexColor = pItem->getComplexColor(); + auto eSchemeType = rComplexColor.meSchemeType; + if (eSchemeType != model::ThemeColorType::Unknown) + { + Color aNewColor = mrColorSet.resolveColor(rComplexColor); + auto pNew = pItem->Clone(); + pNew->SetColor(aNewColor); + + mrDocument.getIDocumentContentOperations().InsertPoolItem( + aPam, *pNew, SetAttrMode::APICALL | SetAttrMode::NO_CURSOR_CHANGE); + } + } + if (const SvxOverlineItem* pItem = pStyleHandle->GetItemIfSet(RES_CHRATR_OVERLINE)) + { + model::ComplexColor const& rComplexColor = pItem->getComplexColor(); + auto eSchemeType = rComplexColor.meSchemeType; + if (eSchemeType != model::ThemeColorType::Unknown) + { + Color aNewColor = mrColorSet.resolveColor(rComplexColor); + auto pNew = pItem->Clone(); + pNew->SetColor(aNewColor); + + mrDocument.getIDocumentContentOperations().InsertPoolItem( aPam, *pNew, SetAttrMode::APICALL | SetAttrMode::NO_CURSOR_CHANGE); } } @@ -91,12 +143,102 @@ public: } } + void updateParagraphAttibutes(SwTextNode* pTextNode) + { + if (!pTextNode->HasSwAttrSet()) + return; + + SwAttrSet const& aAttrSet = pTextNode->GetSwAttrSet(); + + if (const SvxColorItem* pItem = aAttrSet.GetItemIfSet(RES_CHRATR_COLOR, false)) + { + model::ComplexColor const& rComplexColor = pItem->getComplexColor(); + if (rComplexColor.meType == model::ColorType::Scheme) + { + auto eSchemeType = rComplexColor.meSchemeType; + if (eSchemeType != model::ThemeColorType::Unknown) + { + Color aNewColor = mrColorSet.resolveColor(rComplexColor); + std::unique_ptr<SvxColorItem> pNewItem(pItem->Clone()); + pNewItem->setColor(aNewColor); + pTextNode->SetAttr(*pNewItem); + } + } + } + + if (const SvxUnderlineItem* pItem = aAttrSet.GetItemIfSet(RES_CHRATR_UNDERLINE, false)) + { + model::ComplexColor const& rComplexColor = pItem->getComplexColor(); + if (rComplexColor.meType == model::ColorType::Scheme) + { + auto eSchemeType = rComplexColor.meSchemeType; + if (eSchemeType != model::ThemeColorType::Unknown) + { + Color aNewColor = mrColorSet.resolveColor(rComplexColor); + std::unique_ptr<SvxUnderlineItem> pNewItem(pItem->Clone()); + pNewItem->SetColor(aNewColor); + pTextNode->SetAttr(*pNewItem); + } + } + } + + if (const SvxOverlineItem* pItem = aAttrSet.GetItemIfSet(RES_CHRATR_OVERLINE, false)) + { + model::ComplexColor const& rComplexColor = pItem->getComplexColor(); + if (rComplexColor.meType == model::ColorType::Scheme) + { + auto eSchemeType = rComplexColor.meSchemeType; + if (eSchemeType != model::ThemeColorType::Unknown) + { + Color aNewColor = mrColorSet.resolveColor(rComplexColor); + std::unique_ptr<SvxOverlineItem> pNewItem(pItem->Clone()); + pNewItem->SetColor(aNewColor); + pTextNode->SetAttr(*pNewItem); + } + } + } + + if (const XFillColorItem* pItem = aAttrSet.GetItemIfSet(XATTR_FILLCOLOR, false)) + { + model::ComplexColor const& rComplexColor = pItem->getComplexColor(); + if (rComplexColor.meType == model::ColorType::Scheme) + { + auto eSchemeType = rComplexColor.meSchemeType; + if (eSchemeType != model::ThemeColorType::Unknown) + { + Color aNewColor = mrColorSet.resolveColor(rComplexColor); + std::unique_ptr<XFillColorItem> pNewItem(pItem->Clone()); + pNewItem->SetColorValue(aNewColor); + pTextNode->SetAttr(*pNewItem); + } + } + } + + if (const SvxBoxItem* pItem = aAttrSet.GetItemIfSet(RES_BOX, false)) + { + std::unique_ptr<SvxBoxItem> pNewItem(pItem->Clone()); + + bool bChanged = false; + + bChanged = changeBorderLine(pNewItem->GetBottom(), mrColorSet) || bChanged; + bChanged = changeBorderLine(pNewItem->GetTop(), mrColorSet) || bChanged; + bChanged = changeBorderLine(pNewItem->GetLeft(), mrColorSet) || bChanged; + bChanged = changeBorderLine(pNewItem->GetRight(), mrColorSet) || bChanged; + + if (bChanged) + { + pTextNode->SetAttr(*pNewItem); + } + } + } + void handleNode(SwNode* pNode) override { if (!pNode->IsTextNode()) return; updateHints(pNode->GetTextNode()); + updateParagraphAttibutes(pNode->GetTextNode()); } void handleSdrObject(SdrObject* pObject) override @@ -117,24 +259,81 @@ public: } }; -void changeColor(SwFormat* pFormat, model::ColorSet const& rColorSet, SwDoc* pDocument) +bool changeOverlineColor(SwAttrSet const& rSet, SfxItemSet& rNewSet, + model::ColorSet const& rColorSet) { - const SwAttrSet& rAttrSet = pFormat->GetAttrSet(); - std::unique_ptr<SfxItemSet> pNewSet = rAttrSet.Clone(); + SvxOverlineItem aItem(rSet.Get(RES_CHRATR_OVERLINE, false)); + model::ComplexColor const& rComplexColor = aItem.getComplexColor(); + if (rComplexColor.meType != model::ColorType::Scheme) + return false; + auto eThemeType = rComplexColor.meSchemeType; + if (eThemeType == model::ThemeColorType::Unknown) + return false; + Color aColor = rColorSet.resolveColor(rComplexColor); + aItem.SetColor(aColor); + rNewSet.Put(aItem); + return true; +} + +bool changeUnderlineColor(SwAttrSet const& rSet, SfxItemSet& rNewSet, + model::ColorSet const& rColorSet) +{ + SvxUnderlineItem aItem(rSet.Get(RES_CHRATR_UNDERLINE, false)); + model::ComplexColor const& rComplexColor = aItem.getComplexColor(); + if (rComplexColor.meType != model::ColorType::Scheme) + return false; + auto eThemeType = rComplexColor.meSchemeType; + if (eThemeType == model::ThemeColorType::Unknown) + return false; + Color aColor = rColorSet.resolveColor(rComplexColor); + aItem.SetColor(aColor); + rNewSet.Put(aItem); + return true; +} - SvxColorItem aColorItem(rAttrSet.GetColor()); +bool changeColor(SwAttrSet const& rSet, SfxItemSet& rNewSet, model::ColorSet const& rColorSet) +{ + SvxColorItem aColorItem(rSet.GetColor(false)); model::ComplexColor const& rComplexColor = aColorItem.getComplexColor(); if (rComplexColor.meType != model::ColorType::Scheme) - return; + return false; auto eThemeType = rComplexColor.meSchemeType; - if (eThemeType != model::ThemeColorType::Unknown) - { - Color aColor = rColorSet.getColor(eThemeType); - aColor = rComplexColor.applyTransformations(aColor); - aColorItem.SetValue(aColor); - pNewSet->Put(aColorItem); - pDocument->ChgFormat(*pFormat, *pNewSet); - } + if (eThemeType == model::ThemeColorType::Unknown) + return false; + Color aColor = rColorSet.resolveColor(rComplexColor); + aColorItem.SetValue(aColor); + rNewSet.Put(aColorItem); + return true; +} + +bool changeBackground(SwAttrSet const& rSet, SfxItemSet& rNewSet, model::ColorSet const& rColorSet) +{ + XFillColorItem aFillItem(rSet.Get(XATTR_FILLCOLOR, false)); + model::ComplexColor const& rComplexColor = aFillItem.getComplexColor(); + if (rComplexColor.meType != model::ColorType::Scheme) + return false; + auto eThemeType = rComplexColor.getSchemeType(); + if (eThemeType == model::ThemeColorType::Unknown) + return false; + Color aColor = rColorSet.resolveColor(rComplexColor); + aFillItem.SetColorValue(aColor); + rNewSet.Put(aFillItem); + return true; +} + +bool changeBox(SwAttrSet const& rSet, SfxItemSet& rNewSet, model::ColorSet const& rColorSet) +{ + SvxBoxItem aBoxItem(rSet.GetBox(false)); + bool bChange = false; + + bChange = changeBorderLine(aBoxItem.GetBottom(), rColorSet) || bChange; + bChange = changeBorderLine(aBoxItem.GetTop(), rColorSet) || bChange; + bChange = changeBorderLine(aBoxItem.GetLeft(), rColorSet) || bChange; + bChange = changeBorderLine(aBoxItem.GetRight(), rColorSet) || bChange; + + if (bChange) + rNewSet.Put(aBoxItem); + return bChange; } } // end anonymous namespace @@ -171,16 +370,68 @@ void ThemeColorChanger::apply(model::ColorSet const& rColorSet) = std::make_unique<sw::UndoThemeChange>(*pDocument, pOldColorSet, pNewColorSet); pDocument->GetIDocumentUndoRedo().AppendUndo(std::move(pUndoThemeChange)); + // Page styles + for (size_t nIndex = 0; nIndex < pDocument->GetPageDescCnt(); ++nIndex) + { + auto& rPageDesc = pDocument->GetPageDesc(nIndex); + SwFrameFormat& rPageFormat = rPageDesc.GetMaster(); + const SwAttrSet& rAttrSet = rPageFormat.GetAttrSet(); + std::unique_ptr<SfxItemSet> pNewSet = rAttrSet.Clone(); + + bool bChanged = false; + bChanged = bChanged || changeBackground(rAttrSet, *pNewSet, rColorSet); + bChanged = bChanged || changeBox(rAttrSet, *pNewSet, rColorSet); + + if (bChanged) + { + rPageFormat.SetFormatAttr(*pNewSet); + pDocument->ChgPageDesc(nIndex, rPageDesc); + } + } + SfxStyleSheetBasePool* pPool = mpDocSh->GetStyleSheetPool(); SwDocStyleSheet* pStyle; + // Frame style color change + pStyle = static_cast<SwDocStyleSheet*>(pPool->First(SfxStyleFamily::Frame)); + while (pStyle) + { + SwFrameFormat* pFrameFormat = pStyle->GetFrameFormat(); + if (pFrameFormat) + { + const SwAttrSet& rAttrSet = pFrameFormat->GetAttrSet(); + std::unique_ptr<SfxItemSet> pNewSet = rAttrSet.Clone(); + + bool bChanged = false; + bChanged = changeBackground(rAttrSet, *pNewSet, rColorSet) || bChanged; + bChanged = changeBox(rAttrSet, *pNewSet, rColorSet) || bChanged; + + if (bChanged) + pDocument->ChgFormat(*pFrameFormat, *pNewSet); + } + pStyle = static_cast<SwDocStyleSheet*>(pPool->Next()); + } + // Paragraph style color change pStyle = static_cast<SwDocStyleSheet*>(pPool->First(SfxStyleFamily::Para)); while (pStyle) { SwTextFormatColl* pTextFormatCollection = pStyle->GetCollection(); if (pTextFormatCollection) - changeColor(pTextFormatCollection, rColorSet, pDocument); + { + const SwAttrSet& rAttrSet = pTextFormatCollection->GetAttrSet(); + std::unique_ptr<SfxItemSet> pNewSet = rAttrSet.Clone(); + + bool bChanged = false; + bChanged = changeColor(rAttrSet, *pNewSet, rColorSet) || bChanged; + bChanged = changeOverlineColor(rAttrSet, *pNewSet, rColorSet) || bChanged; + bChanged = changeUnderlineColor(rAttrSet, *pNewSet, rColorSet) || bChanged; + bChanged = changeBox(rAttrSet, *pNewSet, rColorSet) || bChanged; + bChanged = changeBackground(rAttrSet, *pNewSet, rColorSet) || bChanged; + + if (bChanged) + pDocument->ChgFormat(*pTextFormatCollection, *pNewSet); + } pStyle = static_cast<SwDocStyleSheet*>(pPool->Next()); } @@ -190,7 +441,17 @@ void ThemeColorChanger::apply(model::ColorSet const& rColorSet) { SwCharFormat* pCharFormat = pStyle->GetCharFormat(); if (pCharFormat) - changeColor(pCharFormat, rColorSet, pDocument); + { + const SwAttrSet& rAttrSet = pCharFormat->GetAttrSet(); + std::unique_ptr<SfxItemSet> pNewSet = rAttrSet.Clone(); + + bool bChanged = false; + bChanged = changeColor(rAttrSet, *pNewSet, rColorSet) || bChanged; + bChanged = changeOverlineColor(rAttrSet, *pNewSet, rColorSet) || bChanged; + bChanged = changeUnderlineColor(rAttrSet, *pNewSet, rColorSet) || bChanged; + if (bChanged) + pDocument->ChgFormat(*pCharFormat, *pNewSet); + } pStyle = static_cast<SwDocStyleSheet*>(pPool->Next()); } diff --git a/sw/source/core/unocore/unomap.cxx b/sw/source/core/unocore/unomap.cxx index ce1321006c1e..ea8bb59f5cdd 100644 --- a/sw/source/core/unocore/unomap.cxx +++ b/sw/source/core/unocore/unomap.cxx @@ -162,6 +162,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM static SfxItemPropertyMapEntry const aCellMap_Impl[] = { { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE , MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_GRAPHIC_URL, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL }, { UNO_NAME_BACK_GRAPHIC, RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC }, { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, @@ -177,6 +178,10 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM { UNO_NAME_RIGHT_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, RIGHT_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_TOP_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, TOP_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_BOTTOM_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, BOTTOM_BORDER_DISTANCE|CONVERT_TWIPS }, + { UNO_NAME_BORDER_LEFT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_LEFT_COLOR }, + { UNO_NAME_BORDER_RIGHT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_RIGHT_COLOR }, + { UNO_NAME_BORDER_TOP_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_TOP_COLOR }, + { UNO_NAME_BORDER_BOTTOM_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_BOTTOM_COLOR }, { UNO_NAME_USER_DEFINED_ATTRIBUTES, RES_UNKNOWNATR_CONTAINER, cppu::UnoType<css::container::XNameContainer>::get(), PropertyAttribute::MAYBEVOID, 0 }, { UNO_NAME_TEXT_SECTION, FN_UNO_TEXT_SECTION, cppu::UnoType<css::text::XTextSection>::get(), PropertyAttribute::MAYBEVOID|PropertyAttribute::READONLY ,0 }, { UNO_NAME_IS_PROTECTED, RES_PROTECT, cppu::UnoType<bool>::get(), 0, MID_PROTECT_CONTENT}, @@ -357,7 +362,8 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM { UNO_NAME_BACK_GRAPHIC, RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC }, { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, { UNO_NAME_BACK_GRAPHIC_LOCATION, RES_BACKGROUND, cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, - { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_TRANSPARENT, RES_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_NAME_PARA_STYLEHEADING, WID_PARA_HEAD, cppu::UnoType<OUString>::get() , 0, 0}, { UNO_NAME_PARA_STYLESEPARATOR, WID_PARA_SEP, cppu::UnoType<OUString>::get() , 0, 0}, @@ -397,6 +403,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, { UNO_NAME_BACK_GRAPHIC_LOCATION, RES_BACKGROUND, cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE ,MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_TRANSPARENT, RES_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_NAME_PARA_STYLEHEADING, WID_PARA_HEAD, cppu::UnoType<OUString>::get() , 0, 0}, { UNO_NAME_PARA_STYLELEVEL1, WID_PARA_LEV1, cppu::UnoType<OUString>::get() , 0, 0}, @@ -442,6 +449,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, { UNO_NAME_BACK_GRAPHIC_LOCATION, RES_BACKGROUND, cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE ,MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_TRANSPARENT, RES_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_NAME_PARA_STYLEHEADING, WID_PARA_HEAD, cppu::UnoType<OUString>::get() , 0, 0}, { UNO_NAME_PARA_STYLELEVEL1, WID_PARA_LEV1, cppu::UnoType<OUString>::get() , 0, 0}, @@ -479,6 +487,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, { UNO_NAME_BACK_GRAPHIC_LOCATION, RES_BACKGROUND, cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_TRANSPARENT, RES_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_NAME_PARA_STYLEHEADING, WID_PARA_HEAD, cppu::UnoType<OUString>::get() , 0, 0}, { UNO_NAME_PARA_STYLELEVEL1, WID_PARA_LEV1, cppu::UnoType<OUString>::get() , 0, 0}, @@ -508,6 +517,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, { UNO_NAME_BACK_GRAPHIC_LOCATION, RES_BACKGROUND, cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_TRANSPARENT, RES_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_NAME_PARA_STYLEHEADING, WID_PARA_HEAD, cppu::UnoType<OUString>::get() , 0, 0}, { UNO_NAME_PARA_STYLELEVEL1, WID_PARA_LEV1, cppu::UnoType<OUString>::get() , 0, 0}, @@ -535,6 +545,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, { UNO_NAME_BACK_GRAPHIC_LOCATION, RES_BACKGROUND, cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_TRANSPARENT, RES_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_NAME_PARA_STYLEHEADING, WID_PARA_HEAD, cppu::UnoType<OUString>::get() , 0, 0}, { UNO_NAME_PARA_STYLELEVEL1, WID_PARA_LEV1, cppu::UnoType<OUString>::get() , 0, 0}, @@ -548,6 +559,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM static SfxItemPropertyMapEntry const aTableRowPropertyMap_Impl[] = { { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_GRAPHIC_URL, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL }, { UNO_NAME_BACK_GRAPHIC, RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC }, { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, @@ -603,6 +615,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, { UNO_NAME_BACK_GRAPHIC_LOCATION, RES_BACKGROUND, cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_TRANSPARENT, RES_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_NAME_PARA_STYLEHEADING, WID_PARA_HEAD, cppu::UnoType<OUString>::get() , 0, 0}, { UNO_NAME_PARA_STYLELEVEL1, WID_PARA_LEV1, cppu::UnoType<OUString>::get() , 0, 0}, @@ -1447,7 +1460,8 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM static SfxItemPropertyMapEntry const aCellStyleMap[] = { // SvxBrushItem - { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, 0 }, + { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, // SvxBoxItem { UNO_NAME_LEFT_BORDER, RES_BOX, cppu::UnoType<css::table::BorderLine>::get(), PROPERTY_NONE, LEFT_BORDER|CONVERT_TWIPS }, { UNO_NAME_RIGHT_BORDER, RES_BOX, cppu::UnoType<css::table::BorderLine>::get(), PROPERTY_NONE, RIGHT_BORDER|CONVERT_TWIPS }, @@ -1458,6 +1472,10 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM { UNO_NAME_RIGHT_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, RIGHT_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_TOP_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, TOP_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_BOTTOM_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, BOTTOM_BORDER_DISTANCE|CONVERT_TWIPS }, + { UNO_NAME_BORDER_LEFT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BORDER_LEFT_COLOR }, + { UNO_NAME_BORDER_RIGHT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BORDER_RIGHT_COLOR }, + { UNO_NAME_BORDER_TOP_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BORDER_TOP_COLOR }, + { UNO_NAME_BORDER_BOTTOM_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BORDER_BOTTOM_COLOR }, // SwFormatVertOrient { UNO_NAME_VERT_ORIENT, RES_VERT_ORIENT, cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_VERTORIENT_ORIENT }, // SvxFrameDirectionItem @@ -1480,6 +1498,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPropertyM // SvxUnderlineItem { UNO_NAME_CHAR_UNDERLINE, RES_CHRATR_UNDERLINE, cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_TL_STYLE }, { UNO_NAME_CHAR_UNDERLINE_COLOR, RES_CHRATR_UNDERLINE,cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_TL_COLOR }, + { UNO_NAME_CHAR_UNDERLINE_COMPLEX_COLOR, RES_CHRATR_UNDERLINE, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_TL_COMPLEX_COLOR }, { UNO_NAME_CHAR_UNDERLINE_HAS_COLOR, RES_CHRATR_UNDERLINE, cppu::UnoType<bool>::get(), PROPERTY_NONE, MID_TL_HASCOLOR }, // standard font // SvxFontHeightItem diff --git a/sw/source/core/unocore/unomap1.cxx b/sw/source/core/unocore/unomap1.cxx index 36ecc6cd7b57..31ad710c2fd5 100644 --- a/sw/source/core/unocore/unomap1.cxx +++ b/sw/source/core/unocore/unomap1.cxx @@ -177,6 +177,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetCharStyle { UNO_NAME_CHAR_AUTO_KERNING, RES_CHRATR_AUTOKERN , cppu::UnoType<bool>::get() , PROPERTY_NONE, 0}, { UNO_NAME_CHAR_BACK_TRANSPARENT, RES_CHRATR_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_NAME_CHAR_BACK_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_CHAR_BACKGROUND_COMPLEX_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE ,MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_CHAR_HIGHLIGHT, RES_CHRATR_HIGHLIGHT, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_BACK_COLOR }, { UNO_NAME_CHAR_CASE_MAP, RES_CHRATR_CASEMAP, cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, 0}, { UNO_NAME_CHAR_COLOR, RES_CHRATR_COLOR, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, 0 }, @@ -195,9 +196,11 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetCharStyle CTL_FONT_PROPERTIES { UNO_NAME_CHAR_UNDERLINE, RES_CHRATR_UNDERLINE , cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_TL_STYLE}, { UNO_NAME_CHAR_UNDERLINE_COLOR, RES_CHRATR_UNDERLINE , cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_TL_COLOR}, + { UNO_NAME_CHAR_UNDERLINE_COMPLEX_COLOR, RES_CHRATR_UNDERLINE , cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_TL_COMPLEX_COLOR }, { UNO_NAME_CHAR_UNDERLINE_HAS_COLOR, RES_CHRATR_UNDERLINE , cppu::UnoType<bool>::get(), PROPERTY_NONE, MID_TL_HASCOLOR}, { UNO_NAME_CHAR_OVERLINE, RES_CHRATR_OVERLINE , cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_TL_STYLE}, { UNO_NAME_CHAR_OVERLINE_COLOR, RES_CHRATR_OVERLINE , cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_TL_COLOR}, + { UNO_NAME_CHAR_OVERLINE_COMPLEX_COLOR, RES_CHRATR_OVERLINE, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_TL_COMPLEX_COLOR }, { UNO_NAME_CHAR_OVERLINE_HAS_COLOR, RES_CHRATR_OVERLINE , cppu::UnoType<bool>::get(), PROPERTY_NONE, MID_TL_HASCOLOR}, { UNO_NAME_CHAR_KERNING, RES_CHRATR_KERNING , cppu::UnoType<sal_Int16>::get() , PROPERTY_NONE, CONVERT_TWIPS}, { UNO_NAME_CHAR_NO_HYPHENATION, RES_CHRATR_NOHYPHEN , cppu::UnoType<bool>::get() , PROPERTY_NONE, 0}, @@ -227,6 +230,10 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetCharStyle { UNO_NAME_CHAR_RIGHT_BORDER_DISTANCE, RES_CHRATR_BOX, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, RIGHT_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_CHAR_TOP_BORDER_DISTANCE, RES_CHRATR_BOX, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, TOP_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_CHAR_BOTTOM_BORDER_DISTANCE, RES_CHRATR_BOX, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, BOTTOM_BORDER_DISTANCE|CONVERT_TWIPS }, + { UNO_NAME_CHAR_BORDER_LEFT_COMPLEX_COLOR, RES_CHRATR_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BORDER_LEFT_COLOR }, + { UNO_NAME_CHAR_BORDER_RIGHT_COMPLEX_COLOR, RES_CHRATR_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BORDER_RIGHT_COLOR }, + { UNO_NAME_CHAR_BORDER_TOP_COMPLEX_COLOR, RES_CHRATR_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BORDER_TOP_COLOR }, + { UNO_NAME_CHAR_BORDER_BOTTOM_COMPLEX_COLOR, RES_CHRATR_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BORDER_BOTTOM_COLOR }, { UNO_NAME_CHAR_SHADOW_FORMAT, RES_CHRATR_SHADOW, cppu::UnoType<css::table::ShadowFormat>::get(), PROPERTY_NONE, CONVERT_TWIPS}, { UNO_NAME_LINK_STYLE, FN_UNO_LINK_STYLE, cppu::UnoType<OUString>::get(), PROPERTY_NONE, 0}, }; @@ -242,6 +249,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetAutoChar { UNO_NAME_CHAR_AUTO_KERNING, RES_CHRATR_AUTOKERN , cppu::UnoType<bool>::get() , PROPERTY_NONE, 0}, { UNO_NAME_CHAR_BACK_TRANSPARENT, RES_CHRATR_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_NAME_CHAR_BACK_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_CHAR_BACKGROUND_COMPLEX_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_CHAR_HIGHLIGHT, RES_CHRATR_HIGHLIGHT, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_BACK_COLOR }, { UNO_NAME_CHAR_CASE_MAP, RES_CHRATR_CASEMAP, cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, 0}, { UNO_NAME_CHAR_COLOR, RES_CHRATR_COLOR, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, 0}, @@ -260,9 +268,11 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetAutoChar CTL_FONT_PROPERTIES { UNO_NAME_CHAR_UNDERLINE, RES_CHRATR_UNDERLINE , cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_TL_STYLE}, { UNO_NAME_CHAR_UNDERLINE_COLOR, RES_CHRATR_UNDERLINE , cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_TL_COLOR}, + { UNO_NAME_CHAR_UNDERLINE_COMPLEX_COLOR, RES_CHRATR_UNDERLINE, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_TL_COMPLEX_COLOR }, { UNO_NAME_CHAR_UNDERLINE_HAS_COLOR, RES_CHRATR_UNDERLINE , cppu::UnoType<bool>::get(), PROPERTY_NONE, MID_TL_HASCOLOR}, { UNO_NAME_CHAR_OVERLINE, RES_CHRATR_OVERLINE , cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_TL_STYLE}, { UNO_NAME_CHAR_OVERLINE_COLOR, RES_CHRATR_OVERLINE , cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_TL_COLOR}, + { UNO_NAME_CHAR_OVERLINE_COMPLEX_COLOR, RES_CHRATR_OVERLINE, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_TL_COMPLEX_COLOR }, { UNO_NAME_CHAR_OVERLINE_HAS_COLOR, RES_CHRATR_OVERLINE , cppu::UnoType<bool>::get(), PROPERTY_NONE, MID_TL_HASCOLOR}, { UNO_NAME_CHAR_KERNING, RES_CHRATR_KERNING , cppu::UnoType<sal_Int16>::get() , PROPERTY_NONE, CONVERT_TWIPS}, { UNO_NAME_CHAR_NO_HYPHENATION, RES_CHRATR_NOHYPHEN , cppu::UnoType<bool>::get() , PROPERTY_NONE, 0}, @@ -339,6 +349,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetFrameStyl { UNO_NAME_ANCHOR_PAGE_NO, RES_ANCHOR, cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_ANCHOR_PAGENUM }, { UNO_NAME_ANCHOR_TYPE, RES_ANCHOR, cppu::UnoType<css::text::TextContentAnchorType>::get(), PROPERTY_NONE, MID_ANCHOR_ANCHORTYPE}, { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE ,MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_COLOR_R_G_B, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR_R_G_B}, { UNO_NAME_BACK_COLOR_TRANSPARENCY, RES_BACKGROUND, cppu::UnoType<sal_Int8>::get(), PROPERTY_NONE ,MID_BACK_COLOR_TRANSPARENCY}, { UNO_NAME_FRAME_INTEROP_GRAB_BAG, RES_FRMATR_GRABBAG, cppu::UnoType< cppu::UnoSequenceType<css::beans::PropertyValue> >::get(), PROPERTY_NONE, 0}, @@ -403,6 +414,10 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetFrameStyl { UNO_NAME_RIGHT_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, RIGHT_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_TOP_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, TOP_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_BOTTOM_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, BOTTOM_BORDER_DISTANCE|CONVERT_TWIPS }, + { UNO_NAME_BORDER_LEFT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_LEFT_COLOR }, + { UNO_NAME_BORDER_RIGHT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_RIGHT_COLOR }, + { UNO_NAME_BORDER_TOP_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_TOP_COLOR }, + { UNO_NAME_BORDER_BOTTOM_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_BOTTOM_COLOR }, { UNO_NAME_USER_DEFINED_ATTRIBUTES, RES_UNKNOWNATR_CONTAINER, cppu::UnoType<css::container::XNameContainer>::get(), PropertyAttribute::MAYBEVOID, 0 }, { UNO_NAME_IS_PHYSICAL, FN_UNO_IS_PHYSICAL, cppu::UnoType<bool>::get(), PropertyAttribute::READONLY, 0}, { UNO_NAME_IS_AUTO_UPDATE, FN_UNO_IS_AUTO_UPDATE, cppu::UnoType<bool>::get(), PROPERTY_NONE, 0}, @@ -431,7 +446,8 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPageStyle { static SfxItemPropertyMapEntry const aPageStyleMap [] = { - { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_GRAPHIC_URL, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL }, { UNO_NAME_BACK_GRAPHIC, RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC }, { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, @@ -449,6 +465,10 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetPageStyle { UNO_NAME_RIGHT_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, RIGHT_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_TOP_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, TOP_BORDER_DISTANCE |CONVERT_TWIPS }, { UNO_NAME_BOTTOM_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, BOTTOM_BORDER_DISTANCE|CONVERT_TWIPS }, + { UNO_NAME_BORDER_LEFT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_LEFT_COLOR }, + { UNO_NAME_BORDER_RIGHT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_RIGHT_COLOR }, + { UNO_NAME_BORDER_TOP_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_TOP_COLOR }, + { UNO_NAME_BORDER_BOTTOM_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_BOTTOM_COLOR }, { UNO_NAME_SHADOW_FORMAT, RES_SHADOW, cppu::UnoType<css::table::ShadowFormat>::get(), PROPERTY_NONE, CONVERT_TWIPS}, { UNO_NAME_SHADOW_TRANSPARENCE, RES_SHADOW, cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_SHADOW_TRANSPARENCE}, @@ -631,7 +651,8 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetTableProp { static SfxItemPropertyMapEntry const aTablePropertyMap_Impl[] = { - { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE,MID_BACK_COLOR }, + { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR}, { UNO_NAME_BREAK_TYPE, RES_BREAK, cppu::UnoType<css::style::BreakType>::get(), PROPERTY_NONE, 0}, { UNO_NAME_BACK_GRAPHIC_URL, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL }, { UNO_NAME_BACK_GRAPHIC, RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC }, @@ -684,7 +705,8 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetRangeProp { COMMON_CRSR_PARA_PROPERTIES_WITHOUT_FN_01 TABSTOPS_MAP_ENTRY - { UNO_NAME_BACK_COLOR, FN_UNO_TABLE_CELL_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_BACK_COLOR }, + { UNO_NAME_BACK_COLOR, FN_UNO_TABLE_CELL_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, FN_UNO_TABLE_CELL_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_GRAPHIC_URL, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PropertyAttribute::MAYBEVOID ,MID_GRAPHIC_URL }, { UNO_NAME_BACK_GRAPHIC, RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC }, { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PropertyAttribute::MAYBEVOID ,MID_GRAPHIC_FILTER }, @@ -719,6 +741,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetSectionPr { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, { UNO_NAME_BACK_GRAPHIC_LOCATION, RES_BACKGROUND, cppu::UnoType<css::style::GraphicLocation>::get(), PROPERTY_NONE ,MID_GRAPHIC_POSITION}, { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_TRANSPARENT, RES_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT }, { UNO_LINK_DISPLAY_NAME, FN_PARAM_LINK_DISPLAY_NAME, cppu::UnoType<OUString>::get(), PropertyAttribute::READONLY, 0xbf}, { UNO_NAME_USER_DEFINED_ATTRIBUTES, RES_UNKNOWNATR_CONTAINER, cppu::UnoType<css::container::XNameContainer>::get(), PropertyAttribute::MAYBEVOID, 0 }, @@ -916,6 +939,7 @@ o3tl::span<const SfxItemPropertyMapEntry> SwUnoPropertyMapProvider::GetTextTable // attributes from PROPERTY_MAP_TABLE_CELL: { UNO_NAME_BACK_COLOR, FN_UNO_TABLE_CELL_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE , MID_BACK_COLOR }, + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, FN_UNO_TABLE_CELL_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE , MID_BACKGROUND_COMPLEX_COLOR }, { UNO_NAME_BACK_GRAPHIC_URL, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL }, { UNO_NAME_BACK_GRAPHIC, RES_BACKGROUND, cppu::UnoType<graphic::XGraphic>::get(), PROPERTY_NONE, MID_GRAPHIC }, { UNO_NAME_BACK_GRAPHIC_FILTER, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_FILTER }, diff --git a/sw/source/core/unocore/unomapproperties.hxx b/sw/source/core/unocore/unomapproperties.hxx index 1b7a4bfc280a..18aa885a3967 100644 --- a/sw/source/core/unocore/unomapproperties.hxx +++ b/sw/source/core/unocore/unomapproperties.hxx @@ -122,8 +122,10 @@ { UNO_NAME_PARA_HYPHENATION_ZONE, RES_PARATR_HYPHENZONE, cppu::UnoType<sal_Int16>::get(), PropertyAttribute::MAYBEVOID, MID_HYPHEN_ZONE}, \ { UNO_NAME_CHAR_AUTO_KERNING, RES_CHRATR_AUTOKERN, cppu::UnoType<bool>::get(), PropertyAttribute::MAYBEVOID, 0 }, \ { UNO_NAME_CHAR_BACK_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_BACK_COLOR }, \ + { UNO_NAME_CHAR_BACKGROUND_COMPLEX_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR },\ { UNO_NAME_CHAR_HIGHLIGHT, RES_CHRATR_HIGHLIGHT, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_BACK_COLOR }, \ { UNO_NAME_PARA_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_BACK_COLOR }, \ + { UNO_NAME_PARA_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE , MID_BACKGROUND_COMPLEX_COLOR },\ { UNO_NAME_CHAR_CASE_MAP, RES_CHRATR_CASEMAP, cppu::UnoType<sal_Int16>::get(), PropertyAttribute::MAYBEVOID, 0 }, \ { UNO_NAME_CHAR_COLOR, RES_CHRATR_COLOR, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, 0 }, \ { UNO_NAME_CHAR_COLOR_THEME, RES_CHRATR_COLOR, cppu::UnoType<sal_Int16>::get(), PropertyAttribute::MAYBEVOID, MID_COLOR_THEME_INDEX }, \ @@ -139,9 +141,11 @@ { UNO_NAME_CHAR_HIDDEN, RES_CHRATR_HIDDEN, cppu::UnoType<bool>::get(), PropertyAttribute::MAYBEVOID, 0 }, \ { UNO_NAME_CHAR_UNDERLINE, RES_CHRATR_UNDERLINE, cppu::UnoType<sal_Int16>::get(), PropertyAttribute::MAYBEVOID, MID_TL_STYLE }, \ { UNO_NAME_CHAR_UNDERLINE_COLOR, RES_CHRATR_UNDERLINE, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_TL_COLOR }, \ + { UNO_NAME_CHAR_UNDERLINE_COMPLEX_COLOR, RES_CHRATR_UNDERLINE, cppu::UnoType<css::util::XComplexColor>::get(), PropertyAttribute::MAYBEVOID, MID_TL_COMPLEX_COLOR }, \ { UNO_NAME_CHAR_UNDERLINE_HAS_COLOR, RES_CHRATR_UNDERLINE, cppu::UnoType<bool>::get(), PropertyAttribute::MAYBEVOID, MID_TL_HASCOLOR }, \ { UNO_NAME_CHAR_OVERLINE, RES_CHRATR_OVERLINE, cppu::UnoType<sal_Int16>::get(), PropertyAttribute::MAYBEVOID, MID_TL_STYLE }, \ { UNO_NAME_CHAR_OVERLINE_COLOR, RES_CHRATR_OVERLINE, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_TL_COLOR }, \ + { UNO_NAME_CHAR_OVERLINE_COMPLEX_COLOR, RES_CHRATR_OVERLINE, cppu::UnoType<css::util::XComplexColor>::get(), PropertyAttribute::MAYBEVOID, MID_TL_COMPLEX_COLOR }, \ { UNO_NAME_CHAR_OVERLINE_HAS_COLOR, RES_CHRATR_OVERLINE, cppu::UnoType<bool>::get(), PropertyAttribute::MAYBEVOID, MID_TL_HASCOLOR }, \ { UNO_NAME_PARA_GRAPHIC_URL, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PropertyAttribute::MAYBEVOID, MID_GRAPHIC_URL }, \ { UNO_NAME_PARA_GRAPHIC, RES_BACKGROUND, cppu::UnoType<css::graphic::XGraphic>::get(), PropertyAttribute::MAYBEVOID, MID_GRAPHIC }, \ @@ -199,6 +203,10 @@ { UNO_NAME_RIGHT_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, RIGHT_BORDER_DISTANCE | CONVERT_TWIPS }, \ { UNO_NAME_TOP_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, TOP_BORDER_DISTANCE | CONVERT_TWIPS }, \ { UNO_NAME_BOTTOM_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, BOTTOM_BORDER_DISTANCE | CONVERT_TWIPS }, \ + { UNO_NAME_BORDER_LEFT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PropertyAttribute::MAYBEVOID, MID_BORDER_LEFT_COLOR }, \ + { UNO_NAME_BORDER_RIGHT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PropertyAttribute::MAYBEVOID, MID_BORDER_RIGHT_COLOR }, \ + { UNO_NAME_BORDER_TOP_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PropertyAttribute::MAYBEVOID, MID_BORDER_TOP_COLOR }, \ + { UNO_NAME_BORDER_BOTTOM_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), PropertyAttribute::MAYBEVOID, MID_BORDER_BOTTOM_COLOR }, \ { UNO_NAME_PARA_USER_DEFINED_ATTRIBUTES, RES_UNKNOWNATR_CONTAINER, cppu::UnoType<css::container::XNameContainer>::get(), PropertyAttribute::MAYBEVOID, 0 }, \ { UNO_NAME_TEXT_USER_DEFINED_ATTRIBUTES, RES_TXTATR_UNKNOWN_CONTAINER, cppu::UnoType<css::container::XNameContainer>::get(), PropertyAttribute::MAYBEVOID, 0 }, \ { UNO_NAME_PARA_SHADOW_FORMAT, RES_SHADOW, cppu::UnoType<css::table::ShadowFormat>::get(), PROPERTY_NONE, CONVERT_TWIPS }, \ @@ -274,6 +282,7 @@ { UNO_NAME_ANCHOR_FRAME, RES_ANCHOR, cppu::UnoType<css::text::XTextFrame>::get(), PropertyAttribute::MAYBEVOID, MID_ANCHOR_ANCHORFRAME}, \ ANCHOR_TYPES_PROPERTY\ { UNO_NAME_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, \ + { UNO_NAME_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE ,MID_BACKGROUND_COMPLEX_COLOR }, \ { UNO_NAME_BACK_COLOR_R_G_B, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR_R_G_B}, \ { UNO_NAME_BACK_COLOR_TRANSPARENCY, RES_BACKGROUND, cppu::UnoType<sal_Int8>::get(), PROPERTY_NONE ,MID_BACK_COLOR_TRANSPARENCY}, \ { UNO_NAME_FRAME_INTEROP_GRAB_BAG, RES_FRMATR_GRABBAG, cppu::UnoType< cppu::UnoSequenceType<css::beans::PropertyValue> >::get(), PROPERTY_NONE, 0}, \ @@ -328,6 +337,10 @@ { UNO_NAME_RIGHT_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, RIGHT_BORDER_DISTANCE |CONVERT_TWIPS }, \ { UNO_NAME_TOP_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, TOP_BORDER_DISTANCE |CONVERT_TWIPS }, \ { UNO_NAME_BOTTOM_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, BOTTOM_BORDER_DISTANCE|CONVERT_TWIPS }, \ + { UNO_NAME_BORDER_LEFT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_LEFT_COLOR }, \ + { UNO_NAME_BORDER_RIGHT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_RIGHT_COLOR }, \ + { UNO_NAME_BORDER_TOP_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_TOP_COLOR }, \ + { UNO_NAME_BORDER_BOTTOM_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_BOTTOM_COLOR }, \ { UNO_LINK_DISPLAY_NAME, FN_PARAM_LINK_DISPLAY_NAME, cppu::UnoType<OUString>::get(), PropertyAttribute::READONLY, 0xbf}, \ { UNO_NAME_USER_DEFINED_ATTRIBUTES, RES_UNKNOWNATR_CONTAINER, cppu::UnoType<css::container::XNameContainer>::get(), PropertyAttribute::MAYBEVOID, 0 },\ { UNO_NAME_Z_ORDER, FN_UNO_Z_ORDER, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, 0}, \ @@ -364,8 +377,10 @@ { UNO_NAME_CHAR_AUTO_KERNING, RES_CHRATR_AUTOKERN , cppu::UnoType<bool>::get() , PROPERTY_NONE, 0},\ { UNO_NAME_CHAR_BACK_TRANSPARENT, RES_CHRATR_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT },\ { UNO_NAME_CHAR_BACK_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR },\ + { UNO_NAME_CHAR_BACKGROUND_COMPLEX_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR },\ { UNO_NAME_CHAR_HIGHLIGHT, RES_CHRATR_HIGHLIGHT, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR },\ { UNO_NAME_PARA_BACK_COLOR, RES_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR },\ + { UNO_NAME_PARA_BACKGROUND_COMPLEX_COLOR, RES_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE , MID_BACKGROUND_COMPLEX_COLOR },\ { UNO_NAME_PARA_BACK_TRANSPARENT, RES_BACKGROUND, cppu::UnoType<bool>::get(), PROPERTY_NONE ,MID_GRAPHIC_TRANSPARENT },\ { UNO_NAME_PARA_GRAPHIC_URL, RES_BACKGROUND, cppu::UnoType<OUString>::get(), PROPERTY_NONE ,MID_GRAPHIC_URL },\ { UNO_NAME_PARA_GRAPHIC, RES_BACKGROUND, cppu::UnoType<css::graphic::XGraphic>::get(), PROPERTY_NONE ,MID_GRAPHIC },\ @@ -389,9 +404,11 @@ { UNO_NAME_CHAR_UNDERLINE, RES_CHRATR_UNDERLINE , cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_TL_STYLE},\ { UNO_NAME_CHAR_UNDERLINE_COLOR, RES_CHRATR_UNDERLINE , cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_TL_COLOR},\ { UNO_NAME_CHAR_UNDERLINE_HAS_COLOR, RES_CHRATR_UNDERLINE , cppu::UnoType<bool>::get(), PROPERTY_NONE, MID_TL_HASCOLOR},\ + { UNO_NAME_CHAR_UNDERLINE_COMPLEX_COLOR, RES_CHRATR_UNDERLINE, cppu::UnoType<css::util::XComplexColor>::get(), PropertyAttribute::MAYBEVOID, MID_TL_COMPLEX_COLOR }, \ { UNO_NAME_CHAR_OVERLINE, RES_CHRATR_OVERLINE , cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_TL_STYLE},\ { UNO_NAME_CHAR_OVERLINE_COLOR, RES_CHRATR_OVERLINE , cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_TL_COLOR},\ { UNO_NAME_CHAR_OVERLINE_HAS_COLOR, RES_CHRATR_OVERLINE , cppu::UnoType<bool>::get(), PROPERTY_NONE, MID_TL_HASCOLOR},\ + { UNO_NAME_CHAR_OVERLINE_COMPLEX_COLOR, RES_CHRATR_OVERLINE, cppu::UnoType<css::util::XComplexColor>::get(), PropertyAttribute::MAYBEVOID, MID_TL_COMPLEX_COLOR }, \ { UNO_NAME_PARA_LEFT_MARGIN, RES_MARGIN_TEXTLEFT, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_TXT_LMARGIN|CONVERT_TWIPS},\ { UNO_NAME_PARA_RIGHT_MARGIN, RES_MARGIN_RIGHT, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, MID_R_MARGIN|CONVERT_TWIPS},\ { UNO_NAME_PARA_LEFT_MARGIN_RELATIVE, RES_MARGIN_TEXTLEFT, cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_L_REL_MARGIN},\ @@ -444,6 +461,10 @@ { UNO_NAME_RIGHT_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, RIGHT_BORDER_DISTANCE |CONVERT_TWIPS },\ { UNO_NAME_TOP_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, TOP_BORDER_DISTANCE |CONVERT_TWIPS },\ { UNO_NAME_BOTTOM_BORDER_DISTANCE, RES_BOX, cppu::UnoType<sal_Int32>::get(), 0, BOTTOM_BORDER_DISTANCE|CONVERT_TWIPS },\ + { UNO_NAME_BORDER_LEFT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_LEFT_COLOR }, \ + { UNO_NAME_BORDER_RIGHT_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_RIGHT_COLOR }, \ + { UNO_NAME_BORDER_TOP_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_TOP_COLOR }, \ + { UNO_NAME_BORDER_BOTTOM_COMPLEX_COLOR, RES_BOX, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_BORDER_BOTTOM_COLOR }, \ { UNO_NAME_PARA_IS_HYPHENATION, RES_PARATR_HYPHENZONE, cppu::UnoType<bool>::get(), PropertyAttribute::MAYBEVOID, MID_IS_HYPHEN },\ { UNO_NAME_PARA_HYPHENATION_NO_CAPS, RES_PARATR_HYPHENZONE, cppu::UnoType<bool>::get(), PropertyAttribute::MAYBEVOID, MID_HYPHEN_NO_CAPS },\ { UNO_NAME_PARA_HYPHENATION_NO_LAST_WORD, RES_PARATR_HYPHENZONE, cppu::UnoType<bool>::get(), PropertyAttribute::MAYBEVOID, MID_HYPHEN_NO_LAST_WORD },\ @@ -484,7 +505,8 @@ { UNO_NAME_PARA_INTEROP_GRAB_BAG, RES_PARATR_GRABBAG, cppu::UnoType< cppu::UnoSequenceType<css::beans::PropertyValue> >::get(), PROPERTY_NONE, 0}, #define COMMON_ACCESSIBILITY_TEXT_ATTRIBUTE \ - { UNO_NAME_CHAR_BACK_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, \ + { UNO_NAME_CHAR_BACK_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE ,MID_BACK_COLOR }, \ + { UNO_NAME_CHAR_BACKGROUND_COMPLEX_COLOR, RES_CHRATR_BACKGROUND, cppu::UnoType<css::util::XComplexColor>::get(), PROPERTY_NONE, MID_BACKGROUND_COMPLEX_COLOR },\ { UNO_NAME_CHAR_COLOR, RES_CHRATR_COLOR, cppu::UnoType<sal_Int32>::get(), PROPERTY_NONE, 0}, \ { UNO_NAME_CHAR_COLOR_THEME, RES_CHRATR_COLOR, cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_COLOR_THEME_INDEX }, \ { UNO_NAME_CHAR_COLOR_TINT_OR_SHADE, RES_CHRATR_COLOR, cppu::UnoType<sal_Int16>::get(), PROPERTY_NONE, MID_COLOR_TINT_OR_SHADE }, \ @@ -499,6 +521,8 @@ { UNO_NAME_CHAR_SHADOWED, RES_CHRATR_SHADOWED , cppu::UnoType<bool>::get() , PROPERTY_NONE, 0}, \ { UNO_NAME_CHAR_STRIKEOUT, RES_CHRATR_CROSSEDOUT, cppu::UnoType<sal_Int16>::get(), PropertyAttribute::MAYBEVOID, MID_CROSS_OUT}, \ { UNO_NAME_CHAR_UNDERLINE_COLOR, RES_CHRATR_UNDERLINE , cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_TL_COLOR}, \ + { UNO_NAME_CHAR_UNDERLINE_COLOR, RES_CHRATR_UNDERLINE , cppu::UnoType<sal_Int32>::get(), PropertyAttribute::MAYBEVOID, MID_TL_COLOR}, \ + { UNO_NAME_CHAR_UNDERLINE_COMPLEX_COLOR, RES_CHRATR_UNDERLINE, cppu::UnoType<css::util::XComplexColor>::get(), PropertyAttribute::MAYBEVOID, MID_TL_COMPLEX_COLOR}, \ { UNO_NAME_CHAR_WEIGHT, RES_CHRATR_WEIGHT , cppu::UnoType<float>::get(), PropertyAttribute::MAYBEVOID, MID_WEIGHT}, \ { UNO_NAME_NUMBERING_LEVEL, RES_PARATR_LIST_LEVEL,cppu::UnoType<sal_Int16>::get(), PropertyAttribute::MAYBEVOID, 0}, \ { UNO_NAME_CHAR_UNDERLINE, RES_CHRATR_UNDERLINE , cppu::UnoType<sal_Int16>::get(), PropertyAttribute::MAYBEVOID, MID_TL_STYLE}, \ @@ -544,6 +568,7 @@ { UNO_NAME_FILLTRANSPARENCEGRADIENT, XATTR_FILLFLOATTRANSPARENCE, cppu::UnoType<css::awt::Gradient>::get(), 0, MID_FILLGRADIENT}, \ { UNO_NAME_FILLTRANSPARENCEGRADIENTNAME, XATTR_FILLFLOATTRANSPARENCE, cppu::UnoType<OUString>::get(), 0, MID_NAME }, \ { UNO_NAME_FILLCOLOR_2, XATTR_SECONDARYFILLCOLOR, cppu::UnoType<sal_Int32>::get(), 0, 0}, \ + { UNO_NAME_FILL_COMPLEX_COLOR, XATTR_FILLCOLOR, cppu::UnoType<css::util::XComplexColor>::get(), 0, MID_COMPLEX_COLOR}, \ #endif diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx index 648ea2334583..2c626849b3f8 100644 --- a/sw/source/uibase/docvw/edtwin.cxx +++ b/sw/source/uibase/docvw/edtwin.cxx @@ -5146,7 +5146,7 @@ void SwEditWin::MouseButtonUp(const MouseEvent& rMEvt) m_pApplyTempl->nUndo = std::min(m_pApplyTempl->nUndo, rSh.GetDoc()->GetIDocumentUndoRedo().GetUndoActionCount()); if (nId == RES_CHRATR_BACKGROUND) - ApplyCharBackground(m_aWaterCanTextBackColor, rSh); + ApplyCharBackground(m_aWaterCanTextBackColor, model::ComplexColor(), rSh); else rSh.SetAttrItem( SvxColorItem( m_aWaterCanTextColor, nId ) ); rSh.UnSetVisibleCursor(); diff --git a/sw/source/uibase/inc/uitool.hxx b/sw/source/uibase/inc/uitool.hxx index 85747a9f82e3..87eef4e84f16 100644 --- a/sw/source/uibase/inc/uitool.hxx +++ b/sw/source/uibase/inc/uitool.hxx @@ -29,6 +29,7 @@ class SvxTabStopItem; class SwWrtShell; namespace com::sun::star::awt { class XPopupMenu; } namespace weld { class ComboBox; } +namespace model { class ComplexColor; } class SwDocShell; class SwFrameFormat; class SwTabCols; @@ -66,7 +67,7 @@ SW_DLLPUBLIC void ConvertAttrGenToChar(SfxItemSet& rSet, const SfxItemSet& rOrig * @param[in] rBackgroundColor the color to apply on the shell * @param[in,out] rShell the shell on which we apply the new attribute **/ -void ApplyCharBackground(const Color& rBackgroundColor, SwWrtShell& rShell); +void ApplyCharBackground(Color const& rBackgroundColor, model::ComplexColor const& rComplexColor, SwWrtShell& rShell); // SfxItemSets <-> PageDesc void ItemSetToPageDesc( const SfxItemSet& rSet, SwPageDesc& rPageDesc ); diff --git a/sw/source/uibase/shells/basesh.cxx b/sw/source/uibase/shells/basesh.cxx index 6e0075a54259..118df74e23a1 100644 --- a/sw/source/uibase/shells/basesh.cxx +++ b/sw/source/uibase/shells/basesh.cxx @@ -2606,7 +2606,7 @@ void SwBaseShell::GetBckColState(SfxItemSet &rSet) case SID_BACKGROUND_COLOR: case SID_TABLE_CELL_BACKGROUND_COLOR: { - SvxColorItem aColorItem(aBrushItem->GetColor(), nWhich); + SvxColorItem aColorItem(aBrushItem->GetColor(), aBrushItem->getComplexColor(), nWhich); rSet.Put(aColorItem); break; } @@ -2676,8 +2676,8 @@ void SwBaseShell::ExecBckCol(SfxRequest& rReq) if (pArgs) { const SvxColorItem& rNewColorItem = static_cast<const SvxColorItem&>(pArgs->Get(nSlotId)); - const Color& rNewColor = rNewColorItem.GetValue(); - aBrushItem->SetColor(rNewColor); + aBrushItem->SetColor(rNewColorItem.GetValue()); + aBrushItem->setComplexColor(rNewColorItem.getComplexColor()); GetView().GetViewFrame().GetBindings().SetState(rNewColorItem); } else diff --git a/sw/source/uibase/shells/frmsh.cxx b/sw/source/uibase/shells/frmsh.cxx index 2b10c0d9261d..bec169eed5ba 100644 --- a/sw/source/uibase/shells/frmsh.cxx +++ b/sw/source/uibase/shells/frmsh.cxx @@ -1222,14 +1222,14 @@ void SwFrameShell::ExecFrameStyle(SfxRequest const & rReq) } else { - if ( aBoxItem->GetTop() ) - const_cast<SvxBorderLine*>(aBoxItem->GetTop())->SetColor( rNewColor ); - if ( aBoxItem->GetBottom() ) - const_cast<SvxBorderLine*>(aBoxItem->GetBottom())->SetColor( rNewColor ); - if ( aBoxItem->GetLeft() ) - const_cast<SvxBorderLine*>(aBoxItem->GetLeft())->SetColor( rNewColor ); - if ( aBoxItem->GetRight() ) - const_cast<SvxBorderLine*>(aBoxItem->GetRight())->SetColor( rNewColor ); + if (aBoxItem->GetTop()) + aBoxItem->GetTop()->SetColor(rNewColor); + if (aBoxItem->GetBottom()) + aBoxItem->GetBottom()->SetColor(rNewColor); + if (aBoxItem->GetLeft()) + aBoxItem->GetLeft()->SetColor(rNewColor); + if (aBoxItem->GetRight()) + aBoxItem->GetRight()->SetColor(rNewColor); } } } diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx index b6f68af7406b..fb5e2f88c9d9 100644 --- a/sw/source/uibase/shells/textsh1.cxx +++ b/sw/source/uibase/shells/textsh1.cxx @@ -1719,18 +1719,23 @@ void SwTextShell::Execute(SfxRequest &rReq) case SID_ATTR_CHAR_COLOR_BACKGROUND: // deprecated case SID_ATTR_CHAR_COLOR_EXT: { - Color aSet; + Color aColor; + model::ComplexColor aComplexColor; if (pItem) - aSet = static_cast<const SvxColorItem*>(pItem)->GetValue(); + { + auto* pColorItem = static_cast<const SvxColorItem*>(pItem); + aColor = pColorItem->GetValue(); + aComplexColor = pColorItem->getComplexColor(); + } else - aSet = COL_TRANSPARENT; + aColor = COL_TRANSPARENT; SwEditWin& rEdtWin = GetView().GetEditWin(); if (nSlot != SID_ATTR_CHAR_COLOR_EXT) - rEdtWin.SetWaterCanTextBackColor(aSet); + rEdtWin.SetWaterCanTextBackColor(aColor); else if (pItem) - rEdtWin.SetWaterCanTextColor(aSet); + rEdtWin.SetWaterCanTextColor(aColor); SwApplyTemplate* pApply = rEdtWin.GetApplyTemplate(); SwApplyTemplate aTempl; @@ -1740,18 +1745,19 @@ void SwTextShell::Execute(SfxRequest &rReq) { SfxItemSetFixed<RES_CHRATR_BACKGROUND, RES_CHRATR_BACKGROUND> aCoreSet( rWrtSh.GetView().GetPool() ); - rWrtSh.GetCurAttr( aCoreSet ); + rWrtSh.GetCurAttr(aCoreSet); // Remove highlight if already set of the same color const SvxBrushItem& rBrushItem = aCoreSet.Get(RES_CHRATR_BACKGROUND); - if ( aSet == rBrushItem.GetColor() ) - aSet = COL_TRANSPARENT; - - ApplyCharBackground(aSet, rWrtSh); + if (aColor == rBrushItem.GetColor()) + { + aComplexColor = model::ComplexColor(); + aColor = COL_TRANSPARENT; + } + ApplyCharBackground(aColor, aComplexColor, rWrtSh); } else - rWrtSh.SetAttrItem( - SvxColorItem(aSet, RES_CHRATR_COLOR) ); + rWrtSh.SetAttrItem(SvxColorItem(aColor, aComplexColor, RES_CHRATR_COLOR)); } else { @@ -2374,12 +2380,12 @@ void SwTextShell::GetState( SfxItemSet &rSet ) const SvxBrushItem& aBrushItem = aSet.Get(RES_CHRATR_HIGHLIGHT); if( aBrushItem.GetColor() != COL_TRANSPARENT ) { - rSet.Put( SvxColorItem(aBrushItem.GetColor(), nWhich) ); + rSet.Put(SvxColorItem(aBrushItem.GetColor(), aBrushItem.getComplexColor(), nWhich)); } else { const SvxBrushItem& aBrushItem2 = aSet.Get(RES_CHRATR_BACKGROUND); - rSet.Put( SvxColorItem(aBrushItem2.GetColor(), nWhich) ); + rSet.Put(SvxColorItem(aBrushItem2.GetColor(), aBrushItem2.getComplexColor(), nWhich)); } } break; diff --git a/sw/source/uibase/sidebar/PageStylesPanel.cxx b/sw/source/uibase/sidebar/PageStylesPanel.cxx index 9565b177b84d..53cf43fb742e 100644 --- a/sw/source/uibase/sidebar/PageStylesPanel.cxx +++ b/sw/source/uibase/sidebar/PageStylesPanel.cxx @@ -544,7 +544,10 @@ void PageStylesPanel::ModifyFillColor() { case SOLID: { - XFillColorItem aItem(OUString(), mxBgColorLB->GetSelectEntryColor()); + auto aNamedColor = mxBgColorLB->GetSelectedEntry(); + XFillColorItem aItem(OUString(), aNamedColor.m_aColor); + aItem.setComplexColor(aNamedColor.getComplexColor()); + aItem.setComplexColor(mxBgColorLB->GetSelectedEntry().getComplexColor()); GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_COLOR, SfxCallMode::RECORD, { &aItem }); } break; diff --git a/sw/source/uibase/utlui/uitool.cxx b/sw/source/uibase/utlui/uitool.cxx index 1ead464c8963..079b5f9fdb1f 100644 --- a/sw/source/uibase/utlui/uitool.cxx +++ b/sw/source/uibase/utlui/uitool.cxx @@ -67,8 +67,9 @@ #include <charfmt.hxx> #include <SwStyleNameMapper.hxx> #include <strings.hrc> -// 50 cm 28350 +#include <docmodel/color/ComplexColor.hxx> +// 50 cm 28350 #define MAXHEIGHT 28350 #define MAXWIDTH 28350 @@ -193,7 +194,7 @@ void ConvertAttrGenToChar(SfxItemSet& rSet, const SfxItemSet& rOrigSet, bool bIs assert(SfxItemState::SET != rSet.GetItemState(RES_PARATR_GRABBAG, false)); } -void ApplyCharBackground(const Color& rBackgroundColor, SwWrtShell& rShell) +void ApplyCharBackground(Color const& rBackgroundColor, model::ComplexColor const& rComplexColor, SwWrtShell& rShell) { rShell.StartUndo(SwUndoId::INSATTR); @@ -202,7 +203,7 @@ void ApplyCharBackground(const Color& rBackgroundColor, SwWrtShell& rShell) rShell.GetCurAttr(aCoreSet); // Set char background - rShell.SetAttrItem(SvxBrushItem(rBackgroundColor, RES_CHRATR_BACKGROUND)); + rShell.SetAttrItem(SvxBrushItem(rBackgroundColor, rComplexColor, RES_CHRATR_BACKGROUND)); // Highlight is an MS specific thing, so remove it at the first time when LO modifies // this part of the imported document. |