xref: /trunk/main/oox/source/vml/vmltextbox.cxx (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 #include "oox/vml/vmltextbox.hxx"
29 
30 #include <rtl/ustrbuf.hxx>
31 
32 namespace oox {
33 namespace vml {
34 
35 // ============================================================================
36 
37 using ::rtl::OUString;
38 using ::rtl::OUStringBuffer;
39 
40 // ============================================================================
41 
42 TextFontModel::TextFontModel()
43 {
44 }
45 
46 // ============================================================================
47 
48 TextPortionModel::TextPortionModel( const TextFontModel& rFont, const OUString& rText ) :
49     maFont( rFont ),
50     maText( rText )
51 {
52 }
53 
54 // ============================================================================
55 
56 TextBox::TextBox()
57 {
58 }
59 
60 void TextBox::appendPortion( const TextFontModel& rFont, const OUString& rText )
61 {
62     maPortions.push_back( TextPortionModel( rFont, rText ) );
63 }
64 
65 const TextFontModel* TextBox::getFirstFont() const
66 {
67     return maPortions.empty() ? 0 : &maPortions.front().maFont;
68 }
69 
70 OUString TextBox::getText() const
71 {
72     OUStringBuffer aBuffer;
73     for( PortionVector::const_iterator aIt = maPortions.begin(), aEnd = maPortions.end(); aIt != aEnd; ++aIt )
74         aBuffer.append( aIt->maText );
75     return aBuffer.makeStringAndClear();
76 }
77 
78 // ============================================================================
79 
80 } // namespace vml
81 } // namespace oox
82