merged tag ooo/OOO330_m14
[LibreOffice.git] / chart2 / source / tools / MediaDescriptorHelper.cxx
blob687bc203a84f5cd32124688ea95d2362d2975ba9
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
28 // MARKER(update_precomp.py): autogen include statement, do not remove
29 #include "precompiled_chart2.hxx"
30 #include "MediaDescriptorHelper.hxx"
32 using namespace ::com::sun::star;
34 namespace apphelper
38 const short FLAG_DEPRECATED =1;
39 const short FLAG_MODEL =2;
41 #define WRITE_PROPERTY( MediaName, nFlags ) \
42 if(rProp.Name.equals(::rtl::OUString::createFromAscii(#MediaName))) \
43 { \
44 if( rProp.Value >>= MediaName ) \
45 ISSET_##MediaName = sal_True; \
46 if(nFlags & FLAG_DEPRECATED) \
47 { \
48 m_aDeprecatedProperties[nDeprecatedCount]=rProp;\
49 nDeprecatedCount++; \
50 } \
51 else \
52 { \
53 m_aRegularProperties[nRegularCount]=rProp; \
54 nRegularCount++; \
55 if( nFlags & FLAG_MODEL) \
56 { \
57 m_aModelProperties[nModelCount]=rProp; \
58 nModelCount++; \
59 } \
60 } \
63 MediaDescriptorHelper::MediaDescriptorHelper( const uno::Sequence<
64 beans::PropertyValue > & rMediaDescriptor )
66 impl_init();
68 m_aRegularProperties.realloc(0);
69 m_aRegularProperties.realloc(rMediaDescriptor.getLength());
70 sal_Int32 nRegularCount = 0;
72 m_aDeprecatedProperties.realloc(0);
73 m_aDeprecatedProperties.realloc(rMediaDescriptor.getLength());
74 sal_Int32 nDeprecatedCount = 0;
76 m_aAdditionalProperties.realloc(0);
77 m_aAdditionalProperties.realloc(rMediaDescriptor.getLength());
78 sal_Int32 nAdditionalCount = 0;
80 m_aModelProperties.realloc(0);
81 m_aModelProperties.realloc(rMediaDescriptor.getLength());
82 sal_Int32 nModelCount = 0;
85 //read given rMediaDescriptor and store in internal structures:
86 for( sal_Int32 i= rMediaDescriptor.getLength();i--;)
88 const beans::PropertyValue& rProp = rMediaDescriptor[i];
89 WRITE_PROPERTY( AsTemplate, FLAG_MODEL )
90 else WRITE_PROPERTY( Author, FLAG_MODEL )
91 else WRITE_PROPERTY( CharacterSet, FLAG_MODEL )
92 else WRITE_PROPERTY( Comment, FLAG_MODEL )
93 else WRITE_PROPERTY( ComponentData, FLAG_MODEL )
94 else WRITE_PROPERTY( FileName, FLAG_DEPRECATED )
95 else WRITE_PROPERTY( FilterData, FLAG_MODEL )
96 else WRITE_PROPERTY( FilterName, FLAG_MODEL )
97 else WRITE_PROPERTY( FilterFlags, FLAG_DEPRECATED)
98 else WRITE_PROPERTY( FilterOptions, FLAG_MODEL )
99 else WRITE_PROPERTY( FrameName, FLAG_MODEL )
100 else WRITE_PROPERTY( Hidden, FLAG_MODEL )
101 else WRITE_PROPERTY( HierarchicalDocumentName, FLAG_MODEL )
102 else WRITE_PROPERTY( OutputStream, 0 )
103 else WRITE_PROPERTY( InputStream, 0 )
104 else WRITE_PROPERTY( InteractionHandler, 0 )
105 else WRITE_PROPERTY( JumpMark, 0 )
106 else WRITE_PROPERTY( MediaType, FLAG_MODEL )
107 else WRITE_PROPERTY( OpenFlags, FLAG_DEPRECATED )
108 else WRITE_PROPERTY( OpenNewView, 0 )
109 else WRITE_PROPERTY( Overwrite, FLAG_MODEL )
110 else WRITE_PROPERTY( Password, FLAG_MODEL )
111 else WRITE_PROPERTY( PosSize, 0 )
112 else WRITE_PROPERTY( PostData, 0 )
113 else WRITE_PROPERTY( PostString, FLAG_DEPRECATED )
114 else WRITE_PROPERTY( Preview, FLAG_MODEL )
115 else WRITE_PROPERTY( ReadOnly, 0 )
116 else WRITE_PROPERTY( Referer, FLAG_MODEL )
117 else WRITE_PROPERTY( SetEmbedded, 0 )
118 else WRITE_PROPERTY( Silent, 0 )
119 else WRITE_PROPERTY( StatusIndicator, 0 )
120 else WRITE_PROPERTY( Storage, FLAG_MODEL )
121 else WRITE_PROPERTY( Stream, FLAG_MODEL )
122 else WRITE_PROPERTY( TemplateName, FLAG_DEPRECATED )
123 else WRITE_PROPERTY( TemplateRegionName, FLAG_DEPRECATED )
124 else WRITE_PROPERTY( Unpacked, FLAG_MODEL )
125 else WRITE_PROPERTY( URL, FLAG_MODEL )
126 else WRITE_PROPERTY( Version, FLAG_MODEL )
127 else WRITE_PROPERTY( ViewData, FLAG_MODEL )
128 else WRITE_PROPERTY( ViewId, FLAG_MODEL )
129 else WRITE_PROPERTY( WinExtent, FLAG_DEPRECATED )
130 else
132 m_aAdditionalProperties[nAdditionalCount]=rProp;
133 nAdditionalCount++;
137 m_aRegularProperties.realloc(nRegularCount);
138 m_aDeprecatedProperties.realloc(nDeprecatedCount);
139 m_aAdditionalProperties.realloc(nAdditionalCount);
140 m_aModelProperties.realloc(nModelCount);
143 void MediaDescriptorHelper::impl_init()
145 AsTemplate = sal_False;
146 ISSET_AsTemplate = sal_False;
148 ISSET_Author = sal_False;
149 ISSET_CharacterSet = sal_False;
150 ISSET_Comment = sal_False;
152 // ::com::sun::star::uno::Any ComponentData;
153 ISSET_ComponentData = sal_False;
154 ISSET_FileName = sal_False;
156 // ::com::sun::star::uno::Any FilterData;
157 ISSET_FilterData = sal_False;
158 ISSET_FilterName = sal_False;
159 ISSET_FilterFlags = sal_False;
160 ISSET_FilterOptions = sal_False;
161 ISSET_FrameName = sal_False;
163 Hidden = sal_False;
164 ISSET_Hidden = sal_False;
165 ISSET_HierarchicalDocumentName = sal_False;
166 ISSET_OutputStream = sal_False;
167 ISSET_InputStream = sal_False;
168 ISSET_InteractionHandler = sal_False;
169 ISSET_JumpMark = sal_False;
170 ISSET_MediaType = sal_False;
171 ISSET_OpenFlags = sal_False;
172 OpenNewView = sal_False;
173 ISSET_OpenNewView = sal_False;
174 Overwrite = sal_False;
175 ISSET_Overwrite = sal_False;
176 ISSET_Password = sal_False;
178 // ::com::sun::star::awt::Rectangle PosSize;
179 ISSET_PosSize = sal_False;
181 // ::com::sun::star::uno::Sequence< sal_Int8 > PostData;
182 ISSET_PostData = sal_False;
183 ISSET_PostString = sal_False;
184 Preview = sal_False;
185 ISSET_Preview = sal_False;
186 ReadOnly = sal_False;
187 ISSET_ReadOnly = sal_False;
188 ISSET_Referer = sal_False;
189 ISSET_StatusIndicator = sal_False;
190 Silent = sal_False;
191 ISSET_Silent = sal_False;
192 ISSET_TemplateName = sal_False;
193 ISSET_TemplateRegionName = sal_False;
194 Unpacked = sal_False;
195 ISSET_Unpacked = sal_False;
196 ISSET_URL = sal_False;
197 Version = 0;
198 ISSET_Version = sal_False;
200 // ::com::sun::star::uno::Any ViewData;
201 ISSET_ViewData = sal_False;
202 ViewId = 0;
203 ISSET_ViewId = sal_False;
205 ISSET_WinExtent = sal_False;
207 ISSET_Storage = sal_False;
208 ISSET_Stream = sal_False;
211 MediaDescriptorHelper::~MediaDescriptorHelper()
216 uno::Sequence< beans::PropertyValue > MediaDescriptorHelper
217 ::getReducedForModel()
219 return m_aModelProperties;