1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 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. 14 * 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). 20 * 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. 25 * 26 ************************************************************************/ 27 28 #ifndef SC_STLPOOL_HXX 29 #define SC_STLPOOL_HXX 30 31 #include <svl/style.hxx> 32 33 34 class ScStyleSheet; 35 class ScDocument; 36 37 class ScStyleSheetPool : public SfxStyleSheetPool 38 { 39 public: 40 ScStyleSheetPool( SfxItemPool& rPool, 41 ScDocument* pDocument ); 42 43 void SetDocument( ScDocument* pDocument ); 44 ScDocument* GetDocument() const { return pDoc; } 45 46 virtual void Remove( SfxStyleSheetBase* pStyle ); 47 48 void SetActualStyleSheet ( SfxStyleSheetBase* pActStyleSheet ) 49 { pActualStyleSheet = pActStyleSheet; } 50 51 SfxStyleSheetBase* GetActualStyleSheet () 52 { return pActualStyleSheet; } 53 54 void CreateStandardStyles(); 55 void CopyStdStylesFrom( ScStyleSheetPool* pSrcPool ); 56 //UNUSED2008-05 void UpdateStdNames(); 57 58 void CopyStyleFrom( ScStyleSheetPool* pSrcPool, 59 const String& rName, SfxStyleFamily eFamily ); 60 61 ScStyleSheet* FindCaseIns( const String& rName, SfxStyleFamily eFam ); 62 63 //UNUSED2009-05 void SetForceStdName( const String* pSet ); 64 const String* GetForceStdName() const { return pForceStdName; } 65 66 virtual SfxStyleSheetBase& Make( const String&, SfxStyleFamily eFam, 67 sal_uInt16 nMask = 0xffff, sal_uInt16 nPos = 0xffff ); 68 69 protected: 70 virtual ~ScStyleSheetPool(); 71 72 using SfxStyleSheetPool::Create; // calcwarnings: Create(const SfxStyleSheet&) - ever used? 73 74 virtual SfxStyleSheetBase* Create( const String& rName, 75 SfxStyleFamily eFamily, 76 sal_uInt16 nMask); 77 virtual SfxStyleSheetBase* Create( const SfxStyleSheetBase& rStyle ); 78 79 private: 80 SfxStyleSheetBase* pActualStyleSheet; 81 ScDocument* pDoc; 82 const String* pForceStdName; 83 }; 84 85 #endif // SC_STLPOOL_HXX 86 87