xref: /trunk/main/sw/inc/IDocumentLayoutAccess.hxx (revision cdf0e10c)
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 IDOCUMENTLAYOUTACCESS_HXX_INCLUDED
29 #define IDOCUMENTLAYOUTACCESS_HXX_INCLUDED
30 
31 #include <swtypes.hxx>
32 
33 class ViewShell;
34 class SwRootFrm;
35 class SwFrmFmt;
36 class SfxItemSet;
37 class SwLayouter;
38 class SwFmtAnchor;
39 
40 /** Provides access to the layout of a document.
41 */
42 class IDocumentLayoutAccess
43 {
44 public:
45 
46     /** Returns the layout set at the document.
47     */
48     virtual const ViewShell* GetCurrentViewShell() const = 0;
49     virtual       ViewShell* GetCurrentViewShell() = 0;	//swmod 071107//swmod 071225
50 	virtual const SwRootFrm* GetCurrentLayout() const = 0;
51 	virtual       SwRootFrm* GetCurrentLayout() = 0;	//swmod 080218
52     virtual bool HasLayout() const = 0;
53 
54     /** !!!The old layout must be deleted!!!
55     */
56     virtual void SetCurrentViewShell( ViewShell* pNew ) = 0;	//swmod 071107//swmod 071225
57 
58     /**
59     */
60     virtual SwFrmFmt* MakeLayoutFmt( RndStdIds eRequest, const SfxItemSet* pSet ) = 0;
61 
62     /**
63     */
64     virtual SwLayouter* GetLayouter() = 0;
65     virtual const SwLayouter* GetLayouter() const = 0;
66     virtual void SetLayouter( SwLayouter* pNew ) = 0;
67 
68     /**
69     */
70     virtual void DelLayoutFmt( SwFrmFmt *pFmt ) = 0;
71 
72     /**
73     */
74     virtual SwFrmFmt* CopyLayoutFmt( const SwFrmFmt& rSrc, const SwFmtAnchor& rNewAnchor,
75                                      bool bSetTxtFlyAtt, bool bMakeFrms ) = 0;
76 
77 protected:
78 
79     virtual ~IDocumentLayoutAccess() {};
80  };
81 
82  #endif // IDOCUMENTLAYOUTACCESS_HXX_INCLUDED
83