1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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 .
20 #include "drawingml/textliststyle.hxx"
21 #include <osl/diagnose.h>
23 namespace oox
{ namespace drawingml
{
25 TextListStyle::TextListStyle()
27 for ( int i
= 0; i
< 9; i
++ )
29 maListStyle
.push_back( TextParagraphPropertiesPtr( new TextParagraphProperties() ) );
30 maAggregationListStyle
.push_back( TextParagraphPropertiesPtr( new TextParagraphProperties() ) );
34 TextListStyle::~TextListStyle()
38 TextListStyle::TextListStyle(const TextListStyle
& rStyle
)
40 assert(rStyle
.maListStyle
.size() == 9);
41 assert(rStyle
.maAggregationListStyle
.size() == 9);
42 for ( size_t i
= 0; i
< 9; i
++ )
44 maListStyle
.push_back( TextParagraphPropertiesPtr( new TextParagraphProperties(*rStyle
.maListStyle
[i
]) ) );
45 maAggregationListStyle
.push_back( TextParagraphPropertiesPtr( new TextParagraphProperties(*rStyle
.maAggregationListStyle
[i
]) ) );
49 TextListStyle
& TextListStyle::operator=(const TextListStyle
& rStyle
)
53 assert(rStyle
.maListStyle
.size() == 9);
54 assert(rStyle
.maAggregationListStyle
.size() == 9);
55 assert(maListStyle
.size() == 9);
56 assert(maAggregationListStyle
.size() == 9);
57 for ( size_t i
= 0; i
< 9; i
++ )
59 *maListStyle
[i
] = *rStyle
.maListStyle
[i
];
60 *maAggregationListStyle
[i
] = *rStyle
.maAggregationListStyle
[i
];
66 void applyStyleList( const TextParagraphPropertiesVector
& rSourceListStyle
, TextParagraphPropertiesVector
& rDestListStyle
)
68 TextParagraphPropertiesVector::const_iterator
aSourceListStyleIter( rSourceListStyle
.begin() );
69 TextParagraphPropertiesVector::iterator
aDestListStyleIter( rDestListStyle
.begin() );
70 while( aSourceListStyleIter
!= rSourceListStyle
.end() )
72 if ( aDestListStyleIter
!= rDestListStyle
.end() )
74 (*aDestListStyleIter
)->apply( **aSourceListStyleIter
);
78 rDestListStyle
.push_back( TextParagraphPropertiesPtr( new TextParagraphProperties( **aSourceListStyleIter
) ) );
79 ++aSourceListStyleIter
;
83 void TextListStyle::apply( const TextListStyle
& rTextListStyle
)
85 applyStyleList( rTextListStyle
.getAggregationListStyle(), getAggregationListStyle() );
86 applyStyleList( rTextListStyle
.getListStyle(), getListStyle() );
89 #if defined(DBG_UTIL) && OSL_DEBUG_LEVEL > 1
90 void TextListStyle::dump() const
92 for ( int i
= 0; i
< 9; i
++ )
94 OSL_TRACE("text list style level: %d", i
);
95 maListStyle
[i
]->dump();
101 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */