merge the formfield patch from ooo-build
[ooovba.git] / sc / source / core / inc / poolhelp.hxx
blob88e445c3c873aef4b2066bbb85a07cb9154f3f00
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: poolhelp.hxx,v $
10 * $Revision: 1.6 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef SC_POOLHELP_HXX
32 #define SC_POOLHELP_HXX
34 #include <rtl/ref.hxx>
35 #include <vos/refernce.hxx>
36 #include <tools/link.hxx>
37 #include "docoptio.hxx"
39 class ScDocument;
40 class ScDocumentPool;
41 class ScStyleSheetPool;
42 class SvNumberFormatter;
43 class SfxItemPool;
46 class ScPoolHelper : public vos::OReference
48 private:
49 ScDocOptions aOpt;
50 ScDocumentPool* pDocPool;
51 rtl::Reference< ScStyleSheetPool > mxStylePool;
52 mutable SvNumberFormatter* pFormTable;
53 mutable SfxItemPool* pEditPool; // EditTextObjectPool
54 mutable SfxItemPool* pEnginePool; // EditEnginePool
55 ScDocument* m_pSourceDoc;
57 void UseDocOptions() const;
59 public:
60 ScPoolHelper( ScDocument* pSourceDoc );
61 virtual ~ScPoolHelper();
63 // called in dtor of main document
64 void SourceDocumentGone();
66 // access to pointers (are never 0):
67 ScDocumentPool* GetDocPool() const { return pDocPool; }
68 ScStyleSheetPool* GetStylePool() const { return mxStylePool.get(); }
69 SvNumberFormatter* GetFormTable() const;
70 SfxItemPool* GetEditPool() const;
71 SfxItemPool* GetEnginePool() const;
73 void SetFormTableOpt(const ScDocOptions& rOpt);
76 #endif