22#include <com/sun/star/beans/XPropertySet.hpp>
23#include <com/sun/star/frame/XModel.hpp>
24#include <com/sun/star/lang/XMultiServiceFactory.hpp>
63 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
69 sal_uInt32 nFamily = 0;
89struct XMLPropertyByIndex {
90 sal_Int32
const m_nIndex;
91 explicit XMLPropertyByIndex(sal_Int32
const nIndex) : m_nIndex(
nIndex) {}
93 return m_nIndex == rProp.
mnIndex;
102 Reference< XMultiServiceFactory > xFact(
GetImport().GetModel(), UNO_QUERY );
106 Reference< XPropertySet > xDefaults( xFact->createInstance(
"com.sun.star.drawing.Defaults" ), UNO_QUERY );
107 if( !xDefaults.is() )
110 bool bWordWrapDefault =
true;
112 sal_Int32 nBuild( 0 );
113 const bool bBuildIdFound =
GetImport().getBuildIds( nUPD, nBuild );
114 if ( bBuildIdFound && (
115 ((nUPD >= 600) && (nUPD < 700))
117 ((nUPD == 300) && (nBuild <= 9535))
119 ((nUPD > 300) && (nUPD <= 330))
121 bWordWrapDefault =
false;
123 static const OUStringLiteral sTextWordWrap(
u"TextWordWrap" );
124 Reference< XPropertySetInfo > xInfo( xDefaults->getPropertySetInfo() );
125 if ( xInfo->hasPropertyByName( sTextWordWrap ) )
126 xDefaults->setPropertyValue( sTextWordWrap,
Any( bWordWrapDefault ) );
129 && xInfo->hasPropertyByName(
"IsFollowingTextFlow"))
133 xDefaults->setPropertyValue(
"IsFollowingTextFlow",
uno::Any(
true));
142 GetImport().getGeneratorVersion() >= SvXMLImport::AOO_40x
143 &&
GetImport().getGeneratorVersion() <= SvXMLImport::AOO_4x);
146 if (
GetImport().isGeneratorVersionOlderThan(
147 SvXMLImport::AOO_40x, SvXMLImport::LO_42x)
155 ->getPropertySetMapper());
156 sal_Int32
const nStrokeIndex(
159 XMLPropertyByIndex(nStrokeIndex)))
163 xDefaults->setPropertyValue(
"LineColor",
Any(nStroke));
165 Color const nFillColor( bIsAOO4
166 ?
Color(0xCF, 0xE7, 0xF5) :
Color(153, 204, 255));
167 sal_Int32
const nFillIndex(
170 XMLPropertyByIndex(nFillIndex)))
172 xDefaults->setPropertyValue(
"FillColor",
Any(nFillColor));
174 if (xInfo->hasPropertyByName(
"FillColor2"))
176 sal_Int32
const nFill2Index(pImpPrMap->GetEntryIndex(
179 XMLPropertyByIndex(nFill2Index)))
181 xDefaults->setPropertyValue(
"FillColor2",
Any(sal_Int32(nFillColor)));
SvXMLImport & GetImport()
XmlStyleFamily GetFamily() const
virtual rtl::Reference< SvXMLImportPropertyMapper > GetImportPropertyMapper(XmlStyleFamily nFamily) const
virtual void SetDefaults() override
virtual ~XMLGraphicsDefaultStyle() override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
XMLGraphicsDefaultStyle(SvXMLImport &rImport, SvXMLStylesContext &rStyles)
virtual void FillPropertySet(const css::uno::Reference< css::beans::XPropertySet > &rPropSet)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
::std::vector< XMLPropertyState > & GetProperties()
SvXMLStylesContext * GetStyles()
constexpr ::Color COL_BLACK(0x00, 0x00, 0x00)
enumrange< T >::Iterator begin(enumrange< T >)
@ XML_PARAGRAPH_PROPERTIES
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
compare eToken to the string
Smart struct to transport an Any with an index to the appropriate property-name.
constexpr bool IsTokenInNamespace(sal_Int32 nToken, sal_uInt16 nNamespacePrefix)
constexpr sal_Int32 TOKEN_MASK
constexpr sal_uInt16 XML_NAMESPACE_DRAW
constexpr sal_uInt16 XML_NAMESPACE_SVG
constexpr sal_uInt16 XML_NAMESPACE_LO_EXT
constexpr sal_uInt16 XML_NAMESPACE_STYLE
#define XML_TYPE_PROP_GRAPHIC
#define XML_TYPE_PROP_PARAGRAPH
#define XML_TYPE_PROP_TEXT