1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_chart2.hxx"
26 #include "MultipleItemConverter.hxx"
27 #include "ItemPropertyMap.hxx"
28 
29 #include <algorithm>
30 
31 using namespace ::com::sun::star;
32 
33 namespace comphelper
34 {
35 
MultipleItemConverter(SfxItemPool & rItemPool)36 MultipleItemConverter::MultipleItemConverter( SfxItemPool& rItemPool )
37         : ItemConverter( NULL, rItemPool )
38 {
39 }
~MultipleItemConverter()40 MultipleItemConverter::~MultipleItemConverter()
41 {
42     ::std::for_each( m_aConverters.begin(), m_aConverters.end(),
43                      DeleteItemConverterPtr() );
44 }
45 
FillItemSet(SfxItemSet & rOutItemSet) const46 void MultipleItemConverter::FillItemSet( SfxItemSet & rOutItemSet ) const
47 {
48     ::std::vector< ItemConverter* >::const_iterator       aIter = m_aConverters.begin();
49     const ::std::vector< ItemConverter* >::const_iterator aEnd  = m_aConverters.end();
50     if( aIter != aEnd )
51     {
52         (*aIter)->FillItemSet( rOutItemSet );
53         aIter++;
54     }
55     for( ; aIter != aEnd; aIter++ )
56     {
57         SfxItemSet aSet = this->CreateEmptyItemSet();
58         (*aIter)->FillItemSet( aSet );
59         InvalidateUnequalItems( rOutItemSet, aSet );
60     }
61     // no own items
62 }
63 
ApplyItemSet(const SfxItemSet & rItemSet)64 bool MultipleItemConverter::ApplyItemSet( const SfxItemSet & rItemSet )
65 {
66     bool bResult = false;
67 
68     ::std::for_each( m_aConverters.begin(), m_aConverters.end(),
69                      ApplyItemSetFunc( rItemSet, bResult ));
70 
71     // no own items
72     return bResult;
73 }
74 
GetItemProperty(tWhichIdType,tPropertyNameWithMemberId &) const75 bool MultipleItemConverter::GetItemProperty( tWhichIdType /*nWhichId*/, tPropertyNameWithMemberId & /*rOutProperty*/ ) const
76 {
77     return false;
78 }
79 
80 } //  namespace comphelper
81