xref: /aoo42x/main/sc/inc/prnsave.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 SC_PRNSAVE_HXX
29 #define SC_PRNSAVE_HXX
30 
31 #include "address.hxx"
32 #include <tools/solar.h>
33 
34 #include <vector>
35 
36 class ScRange;
37 
38 class ScPrintSaverTab
39 {
40     typedef ::std::vector< ScRange > ScRangeVec;
41 
42     ScRangeVec  maPrintRanges;      // Array
43     ScRange*    mpRepeatCol;        // einzeln
44     ScRange*    mpRepeatRow;        // einzeln
45     sal_Bool        mbEntireSheet;
46 
47 public:
48 			ScPrintSaverTab();
49 			~ScPrintSaverTab();
50 
51     void            SetAreas( const ScRangeVec& rRanges, sal_Bool bEntireSheet );
52     void            SetRepeat( const ScRange* pCol, const ScRange* pRow );
53 
54     const ScRangeVec&   GetPrintRanges() const  { return maPrintRanges; }
55     sal_Bool                IsEntireSheet() const   { return mbEntireSheet; }
56     const ScRange*      GetRepeatCol() const    { return mpRepeatCol; }
57     const ScRange*      GetRepeatRow() const    { return mpRepeatRow; }
58 
59 	sal_Bool	operator==( const ScPrintSaverTab& rCmp ) const;
60 };
61 
62 class ScPrintRangeSaver
63 {
64 	SCTAB				nTabCount;
65 	ScPrintSaverTab*	pData;		// Array
66 
67 public:
68 			ScPrintRangeSaver( SCTAB nCount );
69 			~ScPrintRangeSaver();
70 
71 	SCTAB					GetTabCount() const		{ return nTabCount; }
72 	ScPrintSaverTab&		GetTabData(SCTAB nTab);
73 	const ScPrintSaverTab&	GetTabData(SCTAB nTab) const;
74 
75 	sal_Bool	operator==( const ScPrintRangeSaver& rCmp ) const;
76 };
77 
78 
79 #endif
80 
81 
82