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