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_sc.hxx" 26 27 // ----------------------------------------------------------------------- 28 29 #include "userdat.hxx" 30 #include <tools/debug.hxx> 31 #include "drwlayer.hxx" 32 #include "rechead.hxx" 33 34 // ----------------------------------------------------------------------- 35 36 ScDrawObjFactory::ScDrawObjFactory() 37 { 38 SdrObjFactory::InsertMakeUserDataHdl( LINK ( this, ScDrawObjFactory, MakeUserData ) ); 39 } 40 41 ScDrawObjFactory::~ScDrawObjFactory() 42 { 43 SdrObjFactory::RemoveMakeUserDataHdl( LINK ( this, ScDrawObjFactory, MakeUserData ) ); 44 } 45 46 IMPL_LINK_INLINE_START( ScDrawObjFactory, MakeUserData, SdrObjFactory *, pObjFactory ) 47 { 48 if ( pObjFactory->nInventor == SC_DRAWLAYER ) 49 { 50 if ( pObjFactory->nIdentifier == SC_UD_OBJDATA ) 51 pObjFactory->pNewData = new ScDrawObjData; 52 else if ( pObjFactory->nIdentifier == SC_UD_IMAPDATA ) 53 pObjFactory->pNewData = new ScIMapInfo; 54 else if ( pObjFactory->nIdentifier == SC_UD_MACRODATA ) 55 pObjFactory->pNewData = new ScMacroInfo; 56 else 57 { 58 DBG_ERROR("MakeUserData: falsche ID"); 59 } 60 } 61 return 0; 62 } 63 IMPL_LINK_INLINE_END( ScDrawObjFactory, MakeUserData, SdrObjFactory *, pObjFactory ) 64 65 //------------------------------------------------------------------------ 66 67 ScDrawObjData::ScDrawObjData() : 68 SdrObjUserData( SC_DRAWLAYER, SC_UD_OBJDATA, 0 ), 69 maStart( ScAddress::INITIALIZE_INVALID ), 70 maEnd( ScAddress::INITIALIZE_INVALID ), 71 mbNote( false ) 72 { 73 } 74 75 ScDrawObjData* ScDrawObjData::Clone( SdrObject* ) const 76 { 77 return new ScDrawObjData( *this ); 78 } 79 80 //------------------------------------------------------------------------ 81 82 ScIMapInfo::ScIMapInfo() : 83 SdrObjUserData( SC_DRAWLAYER, SC_UD_IMAPDATA, 0 ) 84 { 85 } 86 87 ScIMapInfo::ScIMapInfo( const ImageMap& rImageMap ) : 88 SdrObjUserData( SC_DRAWLAYER, SC_UD_IMAPDATA, 0 ), 89 aImageMap( rImageMap ) 90 { 91 } 92 93 ScIMapInfo::ScIMapInfo( const ScIMapInfo& rIMapInfo ) : 94 SdrObjUserData( rIMapInfo ), 95 aImageMap( rIMapInfo.aImageMap ) 96 { 97 } 98 99 ScIMapInfo::~ScIMapInfo() 100 { 101 } 102 103 SdrObjUserData* ScIMapInfo::Clone( SdrObject* ) const 104 { 105 return new ScIMapInfo( *this ); 106 } 107 108 //------------------------------------------------------------------------ 109 110 ScMacroInfo::ScMacroInfo() : 111 SdrObjUserData( SC_DRAWLAYER, SC_UD_MACRODATA, 0 ) 112 { 113 } 114 115 ScMacroInfo::~ScMacroInfo() 116 { 117 } 118 119 SdrObjUserData* ScMacroInfo::Clone( SdrObject* /*pObj*/ ) const 120 { 121 return new ScMacroInfo( *this ); 122 } 123 124