1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: istyleaccess.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _ISTYLEACCESS_HXX
31 #define _ISTYLEACCESS_HXX
34 #include <svtools/stylepool.hxx>
36 /*--------------------------------------------------------------------
37 Management of (automatic) styles
38 --------------------------------------------------------------------*/
46 enum SwAutoStyleFamily
54 virtual ~IStyleAccess() {}
56 virtual StylePool::SfxItemSet_Pointer_t
getAutomaticStyle( const SfxItemSet
& rSet
,
57 SwAutoStyleFamily eFamily
) = 0;
58 virtual void getAllStyles( std::vector
<StylePool::SfxItemSet_Pointer_t
> &rStyles
,
59 SwAutoStyleFamily eFamily
) = 0;
60 // It's slow to iterate through a stylepool looking for a special name, but if
61 // the style has been inserted via "cacheAutomaticStyle" instead of "getAutomaticStyle",
63 virtual StylePool::SfxItemSet_Pointer_t
getByName( const rtl::OUString
& rName
,
64 SwAutoStyleFamily eFamily
) = 0;
65 // insert the style to the pool and the cache (used during import)
66 virtual StylePool::SfxItemSet_Pointer_t
cacheAutomaticStyle( const SfxItemSet
& rSet
,
67 SwAutoStyleFamily eFamily
) = 0;
68 // To release the cached styles (shared_pointer!)
69 virtual void clearCaches() = 0;
72 #endif // _ISTYLEACCESS_HXX