xref: /trunk/main/oox/inc/oox/drawingml/textfield.hxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef OOX_DRAWINGML_TEXTFIELD_HXX
29 #define OOX_DRAWINGML_TEXTFIELD_HXX
30 
31 #include <boost/shared_ptr.hpp>
32 
33 #include "oox/drawingml/textrun.hxx"
34 #include "oox/drawingml/textparagraphproperties.hxx"
35 
36 namespace oox { namespace drawingml {
37 
38 struct TextCharacterProperties;
39 
40 class TextField
41     : public TextRun
42 {
43 public:
44     TextField();
45 
46     inline TextParagraphProperties& getTextParagraphProperties() { return maTextParagraphProperties; }
47     inline const TextParagraphProperties& getTextParagraphProperties() const { return maTextParagraphProperties; }
48 
49     inline void setType( const ::rtl::OUString& sType ) { msType = sType; }
50     inline void setUuid( const ::rtl::OUString & sUuid ) { msUuid = sUuid; }
51 
52     virtual void    insertAt(
53                         const ::oox::core::XmlFilterBase& rFilterBase,
54                         const ::com::sun::star::uno::Reference < ::com::sun::star::text::XText > & xText,
55                         const ::com::sun::star::uno::Reference < ::com::sun::star::text::XTextCursor > &xAt,
56                         const TextCharacterProperties& rTextCharacterStyle ) const;
57 
58 private:
59     TextParagraphProperties  maTextParagraphProperties;
60     ::rtl::OUString msType;
61     ::rtl::OUString msUuid;
62 };
63 
64 typedef boost::shared_ptr< TextField > TextFieldPtr;
65 
66 } }
67 
68 #endif
69