Update ooo320-m1
[ooovba.git] / binfilter / inc / bf_xmloff / styleexp.hxx
blobb7f55e80b15865ea55f37f98990851697370e55e
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: styleexp.hxx,v $
10 * $Revision: 1.4 $
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 _XMLOFF_STYLEEXP_HXX_
31 #define _XMLOFF_STYLEEXP_HXX_
33 #ifndef _RTL_USTRING_HXX_
34 #include <rtl/ustring.hxx>
35 #endif
36 #ifndef _COM_SUN_STAR_UNO_REFERENCE_H_
37 #include <com/sun/star/uno/Reference.h>
38 #endif
40 #ifndef _VCL_MAPUNIT_HXX
41 //#include <vcl/mapunit.hxx>
42 #endif
44 #ifndef _UNIVERSALL_REFERENCE_HXX
45 #include <bf_xmloff/uniref.hxx>
46 #endif
48 namespace com { namespace sun { namespace star
50 namespace style
52 class XStyle;
54 } } }
55 namespace binfilter {
57 class XMLPropertySetMapper;
58 class SvXMLExportPropertyMapper;
59 class SvXMLAutoStylePoolP;
60 class SvXMLExport;
62 class XMLStyleExport : public UniRefBase
64 SvXMLExport& rExport;
65 protected:
66 const ::rtl::OUString sIsPhysical;
67 const ::rtl::OUString sIsAutoUpdate;
68 const ::rtl::OUString sFollowStyle;
69 const ::rtl::OUString sNumberingStyleName;
71 SvXMLExport& GetExport() { return rExport; }
72 const SvXMLExport& GetExport() const { return rExport; }
74 private:
76 const ::rtl::OUString sPoolStyleName;
78 SvXMLAutoStylePoolP *pAutoStylePool;
80 protected:
82 virtual sal_Bool exportStyle(
83 const ::com::sun::star::uno::Reference<
84 ::com::sun::star::style::XStyle > & rStyle,
85 const ::rtl::OUString& rXMLFamily,
86 const UniReference < SvXMLExportPropertyMapper >& rPropMapper,
87 const ::rtl::OUString* pPrefix = 0L );
89 virtual void exportStyleAttributes(
90 const ::com::sun::star::uno::Reference<
91 ::com::sun::star::style::XStyle > & rStyle );
93 virtual void exportStyleContent(
94 const ::com::sun::star::uno::Reference<
95 ::com::sun::star::style::XStyle > & rStyle );
96 public:
97 XMLStyleExport(
98 SvXMLExport& rExp,
99 const ::rtl::OUString& rPoolStyleName,
100 SvXMLAutoStylePoolP *pAutoStyleP=0 );
101 virtual ~XMLStyleExport();
103 // void exportStyleFamily(
104 // const ::rtl::OUString& rFamily, const ::rtl::OUString& rXMLFamily,
105 // const UniReference < XMLPropertySetMapper >& rPropMapper,
106 // sal_Bool bUsed, sal_uInt16 nFamily = 0,
107 // const ::rtl::OUString* pPrefix = 0L);
109 // void exportStyleFamily(
110 // const sal_Char *pFamily, const ::rtl::OUString& rXMLFamily,
111 // const UniReference < XMLPropertySetMapper >& rPropMapper,
112 // sal_Bool bUsed, sal_uInt16 nFamily = 0,
113 // const ::rtl::OUString* pPrefix = 0L);
115 virtual sal_Bool exportDefaultStyle(
116 const ::com::sun::star::uno::Reference<
117 ::com::sun::star::beans::XPropertySet > & xPropSet,
118 const ::rtl::OUString& rXMLFamily,
119 const UniReference < SvXMLExportPropertyMapper >& rPropMapper );
121 void exportStyleFamily(
122 const ::rtl::OUString& rFamily, const ::rtl::OUString& rXMLFamily,
123 const UniReference < SvXMLExportPropertyMapper >& rPropMapper,
124 sal_Bool bUsed, sal_uInt16 nFamily = 0,
125 const ::rtl::OUString* pPrefix = 0L);
127 void exportStyleFamily(
128 const sal_Char *pFamily, const ::rtl::OUString& rXMLFamily,
129 const UniReference < SvXMLExportPropertyMapper >& rPropMapper,
130 sal_Bool bUsed, sal_uInt16 nFamily = 0,
131 const ::rtl::OUString* pPrefix = 0L);
134 }//end of namespace binfilter
135 #endif