xref: /AOO41X/main/xmloff/inc/xmloff/xmlmultiimagehelper.hxx (revision ddde725d65c83fe3ba1186d46f6e3e08f12ba47e)
1*ddde725dSArmin Le Grand /**************************************************************
2*ddde725dSArmin Le Grand  *
3*ddde725dSArmin Le Grand  * Licensed to the Apache Software Foundation (ASF) under one
4*ddde725dSArmin Le Grand  * or more contributor license agreements.  See the NOTICE file
5*ddde725dSArmin Le Grand  * distributed with this work for additional information
6*ddde725dSArmin Le Grand  * regarding copyright ownership.  The ASF licenses this file
7*ddde725dSArmin Le Grand  * to you under the Apache License, Version 2.0 (the
8*ddde725dSArmin Le Grand  * "License"); you may not use this file except in compliance
9*ddde725dSArmin Le Grand  * with the License.  You may obtain a copy of the License at
10*ddde725dSArmin Le Grand  *
11*ddde725dSArmin Le Grand  *   http://www.apache.org/licenses/LICENSE-2.0
12*ddde725dSArmin Le Grand  *
13*ddde725dSArmin Le Grand  * Unless required by applicable law or agreed to in writing,
14*ddde725dSArmin Le Grand  * software distributed under the License is distributed on an
15*ddde725dSArmin Le Grand  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*ddde725dSArmin Le Grand  * KIND, either express or implied.  See the License for the
17*ddde725dSArmin Le Grand  * specific language governing permissions and limitations
18*ddde725dSArmin Le Grand  * under the License.
19*ddde725dSArmin Le Grand  *
20*ddde725dSArmin Le Grand  *************************************************************/
21*ddde725dSArmin Le Grand 
22*ddde725dSArmin Le Grand #ifndef _XMLOFF_XMLMULTIIMAGEHELPER_HXX
23*ddde725dSArmin Le Grand #define _XMLOFF_XMLMULTIIMAGEHELPER_HXX
24*ddde725dSArmin Le Grand 
25*ddde725dSArmin Le Grand #include <sal/types.h>
26*ddde725dSArmin Le Grand #include <xmloff/xmlimp.hxx>
27*ddde725dSArmin Le Grand 
28*ddde725dSArmin Le Grand //////////////////////////////////////////////////////////////////////////////
29*ddde725dSArmin Le Grand 
30*ddde725dSArmin Le Grand class multiImageImportHelper
31*ddde725dSArmin Le Grand {
32*ddde725dSArmin Le Grand private:
33*ddde725dSArmin Le Grand     std::vector< SvXMLImportContextRef* >       maImplContextVector;
34*ddde725dSArmin Le Grand     bool                                        mbSupportsMultipleContents;
35*ddde725dSArmin Le Grand 
36*ddde725dSArmin Le Grand protected:
37*ddde725dSArmin Le Grand     /// helper to get the created xShape instance, needs to be overloaded
38*ddde725dSArmin Le Grand     virtual rtl::OUString getGraphicURLFromImportContext(const SvXMLImportContext& rContext) const = 0;
39*ddde725dSArmin Le Grand     virtual void removeGraphicFromImportContext(const SvXMLImportContext& rContext) const = 0;
40*ddde725dSArmin Le Grand 
41*ddde725dSArmin Le Grand public:
42*ddde725dSArmin Le Grand     multiImageImportHelper();
43*ddde725dSArmin Le Grand     ~multiImageImportHelper();
44*ddde725dSArmin Le Grand 
45*ddde725dSArmin Le Grand     /// solve multiple imported images. The most valuable one is choosen,
46*ddde725dSArmin Le Grand     /// see imlementation for evtl. changing weights and/or adding filetypes
47*ddde725dSArmin Le Grand     void solveMultipleImages();
48*ddde725dSArmin Le Grand 
49*ddde725dSArmin Le Grand     /// add a content to the remembered image import contexts
50*ddde725dSArmin Le Grand     void addContent(const SvXMLImportContext& rSvXMLImportContext);
51*ddde725dSArmin Le Grand 
52*ddde725dSArmin Le Grand     /// read/write access to boolean switch
53*ddde725dSArmin Le Grand     bool getSupportsMultipleContents() const { return mbSupportsMultipleContents; }
54*ddde725dSArmin Le Grand     void setSupportsMultipleContents(bool bNew) { mbSupportsMultipleContents = bNew; }
55*ddde725dSArmin Le Grand };
56*ddde725dSArmin Le Grand 
57*ddde725dSArmin Le Grand //////////////////////////////////////////////////////////////////////////////
58*ddde725dSArmin Le Grand 
59*ddde725dSArmin Le Grand #endif	//  _XMLOFF_XMLMULTIIMAGEHELPER_HXX
60*ddde725dSArmin Le Grand 
61*ddde725dSArmin Le Grand //////////////////////////////////////////////////////////////////////////////
62*ddde725dSArmin Le Grand // eof
63