merge the formfield patch from ooo-build
[ooovba.git] / sc / inc / fillinfo.hxx
blob4d97133ef050777b36c2dc4d55a6ff8aee80ff77
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: fillinfo.hxx,v $
10 * $Revision: 1.5 $
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_FILLINFO_HXX
32 #define SC_FILLINFO_HXX
34 #include <svx/framelinkarray.hxx>
35 #include "global.hxx"
37 class SfxItemSet;
38 class SvxBrushItem;
39 class SvxBoxItem;
40 class SvxLineItem;
41 class SvxShadowItem;
43 class ScBaseCell;
44 class ScPatternAttr;
46 // ============================================================================
48 const BYTE SC_ROTDIR_NONE = 0;
49 const BYTE SC_ROTDIR_STANDARD = 1;
50 const BYTE SC_ROTDIR_LEFT = 2;
51 const BYTE SC_ROTDIR_RIGHT = 3;
52 const BYTE SC_ROTDIR_CENTER = 4;
54 const BYTE SC_CLIPMARK_NONE = 0;
55 const BYTE SC_CLIPMARK_LEFT = 1;
56 const BYTE SC_CLIPMARK_RIGHT = 2;
57 const BYTE SC_CLIPMARK_SIZE = 64;
59 enum ScShadowPart
61 SC_SHADOW_HSTART,
62 SC_SHADOW_VSTART,
63 SC_SHADOW_HORIZ,
64 SC_SHADOW_VERT,
65 SC_SHADOW_CORNER
68 // ============================================================================
70 struct CellInfo
72 ScBaseCell* pCell;
74 const ScPatternAttr* pPatternAttr;
75 const SfxItemSet* pConditionSet;
77 const SvxBrushItem* pBackground;
79 const SvxBoxItem* pLinesAttr; /// Original item from document.
80 const SvxLineItem* mpTLBRLine; /// Original item from document.
81 const SvxLineItem* mpBLTRLine; /// Original item from document.
83 const SvxShadowItem* pShadowAttr; // Original-Item (intern)
85 const SvxShadowItem* pHShadowOrigin;
86 const SvxShadowItem* pVShadowOrigin;
88 ScShadowPart eHShadowPart : 4; // Schatten effektiv zum Zeichnen
89 ScShadowPart eVShadowPart : 4;
90 BYTE nClipMark;
91 USHORT nWidth;
92 BYTE nRotateDir;
94 BOOL bMarked : 1;
95 BOOL bEmptyCellText : 1;
97 BOOL bMerged : 1;
98 BOOL bHOverlapped : 1;
99 BOOL bVOverlapped : 1;
100 BOOL bAutoFilter : 1;
101 BOOL bPushButton : 1;
102 bool bPopupButton: 1;
103 bool bFilterActive:1;
105 BOOL bPrinted : 1; // bei Bedarf (Pagebreak-Modus)
107 BOOL bHideGrid : 1; // output-intern
108 BOOL bEditEngine : 1; // output-intern
111 const SCCOL SC_ROTMAX_NONE = SCCOL_MAX;
113 // ============================================================================
115 struct RowInfo
117 CellInfo* pCellInfo;
119 USHORT nHeight;
120 SCROW nRowNo;
121 SCCOL nRotMaxCol; // SC_ROTMAX_NONE, wenn nichts
123 BOOL bEmptyBack;
124 BOOL bEmptyText;
125 BOOL bAutoFilter;
126 BOOL bPushButton;
127 BOOL bChanged; // TRUE, wenn nicht getestet
129 inline explicit RowInfo() : pCellInfo( 0 ) {}
131 private:
132 RowInfo( const RowInfo& );
133 RowInfo& operator=( const RowInfo& );
136 // ============================================================================
138 struct ScTableInfo
140 svx::frame::Array maArray;
141 RowInfo* mpRowInfo;
142 USHORT mnArrCount;
143 bool mbPageMode;
145 explicit ScTableInfo();
146 ~ScTableInfo();
148 private:
149 ScTableInfo( const ScTableInfo& );
150 ScTableInfo& operator=( const ScTableInfo& );
153 // ============================================================================
155 #endif