merge the formfield patch from ooo-build
[ooovba.git] / sc / source / ui / inc / pagedata.hxx
blobe489d0dc4eb60ef1f9e3c4439610c42a7aeea7ef
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: pagedata.hxx,v $
10 * $Revision: 1.4 $
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_PAGEDATA_HXX
32 #define SC_PAGEDATA_HXX
34 #include "global.hxx"
35 #include "address.hxx"
37 class ScDocShell;
39 //============================================================================
41 class ScPrintRangeData
43 private:
44 ScRange aPrintRange;
45 size_t nPagesX;
46 SCCOL* pPageEndX;
47 size_t nPagesY;
48 SCROW* pPageEndY;
49 long nFirstPage;
50 BOOL bTopDown;
51 BOOL bAutomatic;
53 public:
54 ScPrintRangeData();
55 ~ScPrintRangeData();
57 void SetPrintRange( const ScRange& rNew ) { aPrintRange = rNew; }
58 const ScRange& GetPrintRange() const { return aPrintRange; }
60 void SetPagesX( size_t nCount, const SCCOL* pEnd );
61 void SetPagesY( size_t nCount, const SCROW* pEnd );
63 size_t GetPagesX() const { return nPagesX; }
64 const SCCOL* GetPageEndX() const { return pPageEndX; }
65 size_t GetPagesY() const { return nPagesY; }
66 const SCROW* GetPageEndY() const { return pPageEndY; }
68 void SetFirstPage( long nNew ) { nFirstPage = nNew; }
69 long GetFirstPage() const { return nFirstPage; }
70 void SetTopDown( BOOL bSet ) { bTopDown = bSet; }
71 BOOL IsTopDown() const { return bTopDown; }
72 void SetAutomatic( BOOL bSet ) { bAutomatic = bSet; }
73 BOOL IsAutomatic() const { return bAutomatic; }
76 class ScPageBreakData
78 private:
79 size_t nAlloc;
80 size_t nUsed;
81 ScPrintRangeData* pData; // Array
83 public:
84 ScPageBreakData(size_t nMax);
85 ~ScPageBreakData();
87 size_t GetCount() const { return nUsed; }
88 ScPrintRangeData& GetData(size_t i);
90 BOOL IsEqual( const ScPageBreakData& rOther ) const;
92 void AddPages();
97 #endif