tdf#154285 Check upper bound of arguments in SbRtl_Minute function
[LibreOffice.git] / sw / inc / unostyle.hxx
blob908797ffda1254a7241c6be28707c85560365647
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #pragma once
21 #include <rtl/ref.hxx>
22 #include <svl/listener.hxx>
23 #include <svl/style.hxx>
24 #include "unocoll.hxx"
25 #include "tblafmt.hxx"
26 #include <com/sun/star/style/XStyle.hpp>
27 #include <com/sun/star/style/XStyleLoader.hpp>
28 #include <com/sun/star/container/XNameContainer.hpp>
29 #include <com/sun/star/beans/XPropertySet.hpp>
30 #include <com/sun/star/beans/XPropertyState.hpp>
31 #include <cppuhelper/implbase.hxx>
33 #include <com/sun/star/style/XAutoStyleFamily.hpp>
34 #include <com/sun/star/style/XAutoStyles.hpp>
35 #include <com/sun/star/style/XAutoStyle.hpp>
37 #include "coreframestyle.hxx"
38 #include "istyleaccess.hxx"
39 #include "unobasestyle.hxx"
40 #include <memory>
41 #include <map>
43 namespace com::sun::star::document { class XEventsSupplier; }
45 class SwDocShell;
46 class SwAutoStylesEnumImpl;
47 class SfxItemSet;
48 class SwXStyle;
49 class SwXTextCellStyle;
50 class SwXPageStyle;
51 class SwXFrameStyle;
52 class StyleFamilyEntry;
53 class SwXStyleFamily;
54 class SwXAutoStyleFamily;
56 class SAL_DLLPUBLIC_RTTI SwXStyleFamilies final : public cppu::WeakImplHelper
58 css::container::XIndexAccess,
59 css::container::XNameAccess,
60 css::lang::XServiceInfo,
61 css::style::XStyleLoader
63 public SwUnoCollection
65 SwDocShell* m_pDocShell;
67 std::map<SfxStyleFamily, rtl::Reference<SwXStyleFamily>> m_vFamilies;
69 virtual ~SwXStyleFamilies() override;
70 public:
71 SwXStyleFamilies(SwDocShell& rDocShell);
73 //XNameAccess
74 SW_DLLPUBLIC virtual css::uno::Any SAL_CALL getByName(const OUString& Name) override;
75 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override;
76 virtual sal_Bool SAL_CALL hasByName(const OUString& Name) override;
78 //XIndexAccess
79 virtual sal_Int32 SAL_CALL getCount() override;
80 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override;
82 //XElementAccess
83 virtual css::uno::Type SAL_CALL getElementType( ) override;
84 virtual sal_Bool SAL_CALL hasElements( ) override;
86 //XStyleLoader
87 virtual void SAL_CALL loadStylesFromURL(const OUString& rURL, const css::uno::Sequence< css::beans::PropertyValue >& aOptions) override;
88 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getStyleLoaderOptions() override;
90 //XServiceInfo
91 virtual OUString SAL_CALL getImplementationName() override;
92 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override;
93 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
95 SW_DLLPUBLIC rtl::Reference<SwXStyleFamily> GetPageStyles();
96 SW_DLLPUBLIC rtl::Reference<SwXStyleFamily> GetCharacterStyles();
97 SW_DLLPUBLIC rtl::Reference<SwXStyleFamily> GetParagraphStyles();
98 SW_DLLPUBLIC rtl::Reference<SwXStyleFamily> GetNumberingStyles();
99 SW_DLLPUBLIC rtl::Reference<SwXStyleFamily> GetStylesByName(const OUString& rName);
100 rtl::Reference<SwXStyleFamily> GetStylesByIndex(sal_Int32 nIndex);
102 static css::uno::Reference<css::style::XStyle> CreateStyle(SfxStyleFamily eFamily, SwDoc& rDoc);
103 static rtl::Reference<SwXStyle> CreateStyleCharOrParaOrPseudo(SfxStyleFamily eFamily, SwDoc& rDoc);
104 static rtl::Reference<SwXPageStyle> CreateStylePage(SwDoc& rDoc);
105 static rtl::Reference<SwXFrameStyle> CreateStyleFrame(SwDoc& rDoc);
106 static rtl::Reference<SwXTextTableStyle> CreateStyleTable(SwDoc& rDoc);
107 static rtl::Reference<SwXTextCellStyle> CreateStyleCell(SwDoc& rDoc);
108 // FIXME: This is very ugly as is the whole conditional paragraph style
109 // hackety. Should be folded into CreateStyle hopefully one day
110 static css::uno::Reference<css::style::XStyle> CreateStyleCondParagraph(SwDoc& rDoc);
113 // access to all automatic style families
114 class SwXAutoStyles final :
115 public cppu::WeakImplHelper< css::style::XAutoStyles >,
116 public SwUnoCollection
118 SwDocShell *m_pDocShell;
119 rtl::Reference< SwXAutoStyleFamily > m_xAutoCharStyles;
120 rtl::Reference< SwXAutoStyleFamily > m_xAutoRubyStyles;
121 rtl::Reference< SwXAutoStyleFamily > m_xAutoParaStyles;
122 virtual ~SwXAutoStyles() override;
124 public:
125 SwXAutoStyles(SwDocShell& rDocShell);
127 //XIndexAccess
128 virtual sal_Int32 SAL_CALL getCount() override;
129 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override;
131 //XElementAccess
132 virtual css::uno::Type SAL_CALL getElementType( ) override;
133 virtual sal_Bool SAL_CALL hasElements( ) override;
135 //XNameAccess
136 virtual css::uno::Any SAL_CALL getByName(const OUString& Name) override;
137 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override;
138 virtual sal_Bool SAL_CALL hasByName(const OUString& Name) override;
142 // access to a family of automatic styles (character or paragraph or ...)
143 class SwXAutoStyleFamily final : public cppu::WeakImplHelper< css::style::XAutoStyleFamily >, public SvtListener
145 SwDocShell *m_pDocShell;
146 IStyleAccess::SwAutoStyleFamily m_eFamily;
149 public:
150 SwXAutoStyleFamily(SwDocShell* pDocShell, IStyleAccess::SwAutoStyleFamily eFamily);
151 virtual ~SwXAutoStyleFamily() override;
153 //XAutoStyleFamily
154 virtual css::uno::Reference< css::style::XAutoStyle > SAL_CALL insertStyle( const css::uno::Sequence< css::beans::PropertyValue >& Values ) override;
156 //XEnumerationAccess
157 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration( ) override;
159 //XElementAccess
160 virtual css::uno::Type SAL_CALL getElementType( ) override;
161 virtual sal_Bool SAL_CALL hasElements( ) override;
163 virtual void Notify( const SfxHint&) override;
166 class SwXAutoStylesEnumerator final : public cppu::WeakImplHelper< css::container::XEnumeration >, public SvtListener
168 std::unique_ptr<SwAutoStylesEnumImpl> m_pImpl;
169 public:
170 SwXAutoStylesEnumerator( SwDoc& rDoc, IStyleAccess::SwAutoStyleFamily eFam );
171 virtual ~SwXAutoStylesEnumerator() override;
173 //XEnumeration
174 virtual sal_Bool SAL_CALL hasMoreElements( ) override;
175 virtual css::uno::Any SAL_CALL nextElement( ) override;
177 virtual void Notify( const SfxHint&) override;
180 // an automatic style
181 class SwXAutoStyle final : public cppu::WeakImplHelper
183 css::beans::XPropertySet,
184 css::beans::XPropertyState,
185 css::style::XAutoStyle
187 public SvtListener
189 private:
190 std::shared_ptr<SfxItemSet> mpSet;
191 IStyleAccess::SwAutoStyleFamily meFamily;
192 SwDoc& mrDoc;
194 /// @throws css::beans::UnknownPropertyException
195 /// @throws css::lang::WrappedTargetException
196 /// @throws css::uno::RuntimeException
197 css::uno::Sequence< css::uno::Any > GetPropertyValues_Impl( const css::uno::Sequence< OUString >& aPropertyNames );
199 public:
201 SwXAutoStyle( SwDoc* pDoc, std::shared_ptr<SfxItemSet> pInitSet, IStyleAccess::SwAutoStyleFamily eFam );
202 virtual ~SwXAutoStyle() override;
204 //XPropertySet
205 virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) override;
206 virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName, const css::uno::Any& aValue ) override;
207 virtual css::uno::Any SAL_CALL getPropertyValue( const OUString& PropertyName ) override;
208 virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener ) override;
209 virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener ) override;
210 virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
211 virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
213 //XMultiPropertySet
214 virtual void SAL_CALL setPropertyValues( const css::uno::Sequence< OUString >& aPropertyNames, const css::uno::Sequence< css::uno::Any >& aValues ) override;
215 virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyValues( const css::uno::Sequence< OUString >& aPropertyNames ) override;
216 virtual void SAL_CALL addPropertiesChangeListener( const css::uno::Sequence< OUString >& aPropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener >& xListener ) override;
217 virtual void SAL_CALL removePropertiesChangeListener( const css::uno::Reference< css::beans::XPropertiesChangeListener >& xListener ) override;
218 virtual void SAL_CALL firePropertiesChangeEvent( const css::uno::Sequence< OUString >& aPropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener >& xListener ) override;
220 //XPropertyState
221 virtual css::beans::PropertyState SAL_CALL getPropertyState( const OUString& PropertyName ) override;
222 virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates( const css::uno::Sequence< OUString >& aPropertyName ) override;
223 virtual void SAL_CALL setPropertyToDefault( const OUString& PropertyName ) override;
224 virtual css::uno::Any SAL_CALL getPropertyDefault( const OUString& aPropertyName ) override;
226 //XMultiPropertyStates
227 virtual void SAL_CALL setAllPropertiesToDefault( ) override;
228 virtual void SAL_CALL setPropertiesToDefault( const css::uno::Sequence< OUString >& aPropertyNames ) override;
229 virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyDefaults( const css::uno::Sequence< OUString >& aPropertyNames ) override;
231 // Special
232 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getProperties() override;
234 virtual void Notify( const SfxHint& ) override;
238 typedef std::map<OUString, sal_Int32> CellStyleNameMap;
240 /// A text table style is a UNO API wrapper for a SwTableAutoFormat
241 class SwXTextTableStyle final : public cppu::ImplInheritanceHelper
243 SwXBaseStyle,
244 css::container::XNameContainer,
245 css::lang::XServiceInfo
248 SwDocShell* m_pDocShell;
249 SwTableAutoFormat* m_pTableAutoFormat;
250 /// Stores SwTableAutoFormat when this is not a physical style.
251 std::unique_ptr<SwTableAutoFormat> m_pTableAutoFormat_Impl;
252 /// If true, then it points to a core object, if false, then this is a created, but not-yet-inserted format.
253 bool m_bPhysical;
255 enum {
256 FIRST_ROW_STYLE = 0,
257 LAST_ROW_STYLE,
258 FIRST_COLUMN_STYLE,
259 LAST_COLUMN_STYLE,
260 EVEN_ROWS_STYLE,
261 ODD_ROWS_STYLE,
262 EVEN_COLUMNS_STYLE,
263 ODD_COLUMNS_STYLE,
264 BODY_STYLE,
265 BACKGROUND_STYLE,
266 // loext namespace
267 FIRST_ROW_START_COLUMN_STYLE,
268 FIRST_ROW_END_COLUMN_STYLE,
269 LAST_ROW_START_COLUMN_STYLE,
270 LAST_ROW_END_COLUMN_STYLE,
271 FIRST_ROW_EVEN_COLUMN_STYLE,
272 LAST_ROW_EVEN_COLUMN_STYLE,
273 STYLE_COUNT
276 /// Fills m_aCellStyles with SwXTextCellStyles pointing to children of this style.
277 void UpdateCellStylesMapping();
278 static const CellStyleNameMap& GetCellStyleNameMap();
279 rtl::Reference<SwXTextCellStyle> m_aCellStyles[STYLE_COUNT];
280 public:
281 SwXTextTableStyle(SwDocShell* pDocShell, SwTableAutoFormat* pTableAutoFormat);
282 /// Create non physical style
283 SwXTextTableStyle(SwDocShell* pDocShell, const OUString& rTableAutoFormatName);
285 /// This function looks for a SwTableAutoFormat with given name. Returns nullptr if could not be found.
286 static SwTableAutoFormat* GetTableAutoFormat(SwDocShell* pDocShell, std::u16string_view sName);
287 /// Returns box format assigned to this style
288 SwTableAutoFormat* GetTableFormat();
289 void SetPhysical();
291 //XStyle
292 virtual sal_Bool SAL_CALL isUserDefined() override;
293 virtual sal_Bool SAL_CALL isInUse() override;
294 virtual OUString SAL_CALL getParentStyle() override;
295 virtual void SAL_CALL setParentStyle(const OUString& aParentStyle ) override;
297 //XNamed
298 virtual OUString SAL_CALL getName() override;
299 virtual void SAL_CALL setName(const OUString& rName) override;
301 //XPropertySet
302 virtual css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() override;
303 virtual void SAL_CALL setPropertyValue(const OUString& aPropertyName, const css::uno::Any& aValue) override;
304 virtual css::uno::Any SAL_CALL getPropertyValue(const OUString& PropertyName) override;
305 virtual void SAL_CALL addPropertyChangeListener(const OUString& aPropertyName, const css::uno::Reference<css::beans::XPropertyChangeListener>& xListener) override;
306 virtual void SAL_CALL removePropertyChangeListener(const OUString& aPropertyName, const css::uno::Reference<css::beans::XPropertyChangeListener>& aListener) override;
307 virtual void SAL_CALL addVetoableChangeListener(const OUString& PropertyName, const css::uno::Reference<css::beans::XVetoableChangeListener>& aListener) override;
308 virtual void SAL_CALL removeVetoableChangeListener(const OUString& PropertyName, const css::uno::Reference<css::beans::XVetoableChangeListener>& aListener) override;
310 //XNameAccess
311 virtual css::uno::Any SAL_CALL getByName(const OUString& rName) override;
312 virtual css::uno::Sequence<OUString> SAL_CALL getElementNames() override;
313 virtual sal_Bool SAL_CALL hasByName(const OUString& rName) override;
315 //XNameContainer
316 virtual void SAL_CALL insertByName(const OUString& rName, const css::uno::Any& aElement) override;
317 virtual void SAL_CALL replaceByName(const OUString& rName, const css::uno::Any& aElement) override;
318 virtual void SAL_CALL removeByName(const OUString& rName) override;
320 //XElementAccess
321 virtual css::uno::Type SAL_CALL getElementType() override;
322 virtual sal_Bool SAL_CALL hasElements() override;
324 //XServiceInfo
325 virtual OUString SAL_CALL getImplementationName() override;
326 virtual sal_Bool SAL_CALL supportsService(const OUString& rServiceName) override;
327 virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
329 static rtl::Reference<SwXTextTableStyle> CreateXTextTableStyle(SwDocShell* pDocShell, const OUString& rTableAutoFormatName);
332 /// A text cell style is a UNO API wrapper for a SwBoxAutoFormat core class
333 class SwXTextCellStyle final : public cppu::ImplInheritanceHelper
335 SwXBaseStyle,
336 css::beans::XPropertyState,
337 css::lang::XServiceInfo
340 SwDocShell* m_pDocShell;
341 SwBoxAutoFormat* m_pBoxAutoFormat;
342 /// Stores SwBoxAutoFormat when this is not a physical style.
343 std::shared_ptr<SwBoxAutoFormat> m_pBoxAutoFormat_Impl;
344 /// UIName of the table style that contains this cell style
345 OUString m_sTableStyleUIName;
346 /// There are no built-in cell style names - presumably these don't need to be converted.
347 OUString m_sName;
348 /// If true, then it points to a core object, if false, then this is a created, but not-yet-inserted format.
349 bool m_bPhysical;
351 public:
352 SwXTextCellStyle(SwDocShell* pDocShell, SwBoxAutoFormat* pBoxAutoFormat, OUString sParentStyle);
353 /// Create non physical style
354 SwXTextCellStyle(SwDocShell* pDocShell, OUString sName);
357 * This function looks for a SwBoxAutoFormat with given name. Parses the name and returns parent name.
358 * @param pDocShell pointer to a SwDocShell.
359 * @param sName Name of a SwBoxAutoFormat to look for.
360 * @param pParentName Optional output. Pointer to an OUString where parsed parent name will be returned.
361 * @return Pointer to a SwBoxAutoFormat, nullptr if not found.
363 static SwBoxAutoFormat* GetBoxAutoFormat(SwDocShell* pDocShell, std::u16string_view sName, OUString* pParentName);
364 /// returns box format assigned to this style
365 SwBoxAutoFormat* GetBoxFormat();
366 /// Sets the address of SwBoxAutoFormat this style is bound to. Usable only when style is physical.
367 void SetBoxFormat(SwBoxAutoFormat* pBoxFormat);
368 void SetPhysical();
369 bool IsPhysical() const;
371 //XStyle
372 virtual sal_Bool SAL_CALL isUserDefined() override;
373 virtual sal_Bool SAL_CALL isInUse() override;
374 virtual OUString SAL_CALL getParentStyle() override;
375 virtual void SAL_CALL setParentStyle(const OUString& aParentStyle ) override;
377 //XNamed
378 virtual OUString SAL_CALL getName() override;
379 virtual void SAL_CALL setName(const OUString& sName) override;
381 //XPropertySet
382 virtual css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() override;
383 virtual void SAL_CALL setPropertyValue(const OUString& aPropertyName, const css::uno::Any& aValue) override;
384 virtual css::uno::Any SAL_CALL getPropertyValue(const OUString& PropertyName) override;
385 virtual void SAL_CALL addPropertyChangeListener(const OUString& aPropertyName, const css::uno::Reference<css::beans::XPropertyChangeListener>& xListener) override;
386 virtual void SAL_CALL removePropertyChangeListener(const OUString& aPropertyName, const css::uno::Reference<css::beans::XPropertyChangeListener>& aListener) override;
387 virtual void SAL_CALL addVetoableChangeListener(const OUString& PropertyName, const css::uno::Reference<css::beans::XVetoableChangeListener>& aListener) override;
388 virtual void SAL_CALL removeVetoableChangeListener(const OUString& PropertyName, const css::uno::Reference<css::beans::XVetoableChangeListener>& aListener) override;
390 //XPropertyState
391 virtual css::beans::PropertyState SAL_CALL getPropertyState(const OUString& PropertyName) override;
392 virtual css::uno::Sequence<css::beans::PropertyState> SAL_CALL getPropertyStates(const css::uno::Sequence< OUString >& aPropertyName) override;
393 virtual void SAL_CALL setPropertyToDefault(const OUString& PropertyName) override;
394 virtual css::uno::Any SAL_CALL getPropertyDefault(const OUString& aPropertyName) override;
396 //XServiceInfo
397 virtual OUString SAL_CALL getImplementationName() override;
398 virtual sal_Bool SAL_CALL supportsService(const OUString& rServiceName) override;
399 virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
401 static rtl::Reference<SwXTextCellStyle> CreateXTextCellStyle(SwDocShell* pDocShell, const OUString& sName);
404 class SW_DLLPUBLIC SwXStyleFamily final : public cppu::WeakImplHelper
406 css::container::XNameContainer,
407 css::lang::XServiceInfo,
408 css::container::XIndexAccess,
409 css::beans::XPropertySet
411 , public SfxListener
413 const StyleFamilyEntry& m_rEntry;
414 SfxStyleSheetBasePool* m_pBasePool;
415 SwDocShell* m_pDocShell;
417 SwXStyle* FindStyle(std::u16string_view rStyleName) const;
418 sal_Int32 GetCountOrName(OUString* pString, sal_Int32 nIndex = SAL_MAX_INT32);
419 rtl::Reference<SwXBaseStyle> getStyle(SfxStyleSheetBase* pBase, const OUString& rStyleName);
420 static const StyleFamilyEntry& InitEntry(SfxStyleFamily eFamily);
421 public:
422 SwXStyleFamily(SwDocShell* pDocShell, const SfxStyleFamily eFamily);
424 //XIndexAccess
425 virtual sal_Int32 SAL_CALL getCount() override;
426 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override;
428 //XElementAccess
429 virtual css::uno::Type SAL_CALL getElementType( ) override;
430 virtual sal_Bool SAL_CALL hasElements( ) override;
432 //XNameAccess
433 virtual css::uno::Any SAL_CALL getByName(const OUString& Name) override;
434 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override;
435 virtual sal_Bool SAL_CALL hasByName(const OUString& Name) override;
437 //XNameContainer
438 virtual void SAL_CALL insertByName(const OUString& Name, const css::uno::Any& Element) override;
439 virtual void SAL_CALL replaceByName(const OUString& Name, const css::uno::Any& Element) override;
440 virtual void SAL_CALL removeByName(const OUString& Name) override;
442 //XPropertySet
443 virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) override;
444 virtual void SAL_CALL setPropertyValue( const OUString&, const css::uno::Any&) override;
445 virtual css::uno::Any SAL_CALL getPropertyValue( const OUString& PropertyName ) override;
446 virtual void SAL_CALL addPropertyChangeListener( const OUString&, const css::uno::Reference<css::beans::XPropertyChangeListener>&) override;
447 virtual void SAL_CALL removePropertyChangeListener( const OUString&, const css::uno::Reference<css::beans::XPropertyChangeListener>&) override;
448 virtual void SAL_CALL addVetoableChangeListener(const OUString&, const css::uno::Reference<css::beans::XVetoableChangeListener>&) override;
449 virtual void SAL_CALL removeVetoableChangeListener(const OUString&, const css::uno::Reference<css::beans::XVetoableChangeListener>&) override;
451 //SfxListener
452 virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint) override;
454 //XServiceInfo
455 virtual OUString SAL_CALL getImplementationName() override;
456 virtual sal_Bool SAL_CALL supportsService(const OUString& rServiceName) override;
457 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
459 rtl::Reference<SwXBaseStyle> getStyleByName(const OUString& rName);
460 rtl::Reference<SwXPageStyle> getPageStyleByName(const OUString& rName);
461 rtl::Reference<SwXStyle> getCharacterStyleByName(const OUString& rName);
462 rtl::Reference<SwXStyle> getParagraphStyleByName(const OUString& rName);
463 void insertStyleByName(const OUString& Name, const rtl::Reference<SwXStyle>& Element);
464 private:
465 void insertStyleByNameImpl(const rtl::Reference<SwXStyle>& Element, const OUString& sStyleName);
468 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */