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_FILLINFO_HXX 29 #define SC_FILLINFO_HXX 30 31 #include <svx/framelinkarray.hxx> 32 #include "global.hxx" 33 34 class SfxItemSet; 35 class SvxBrushItem; 36 class SvxBoxItem; 37 class SvxLineItem; 38 class SvxShadowItem; 39 40 class ScBaseCell; 41 class ScPatternAttr; 42 43 // ============================================================================ 44 45 const sal_uInt8 SC_ROTDIR_NONE = 0; 46 const sal_uInt8 SC_ROTDIR_STANDARD = 1; 47 const sal_uInt8 SC_ROTDIR_LEFT = 2; 48 const sal_uInt8 SC_ROTDIR_RIGHT = 3; 49 const sal_uInt8 SC_ROTDIR_CENTER = 4; 50 51 const sal_uInt8 SC_CLIPMARK_NONE = 0; 52 const sal_uInt8 SC_CLIPMARK_LEFT = 1; 53 const sal_uInt8 SC_CLIPMARK_RIGHT = 2; 54 const sal_uInt8 SC_CLIPMARK_SIZE = 64; 55 56 enum ScShadowPart 57 { 58 SC_SHADOW_HSTART, 59 SC_SHADOW_VSTART, 60 SC_SHADOW_HORIZ, 61 SC_SHADOW_VERT, 62 SC_SHADOW_CORNER 63 }; 64 65 // ============================================================================ 66 67 struct CellInfo 68 { 69 ScBaseCell* pCell; 70 71 const ScPatternAttr* pPatternAttr; 72 const SfxItemSet* pConditionSet; 73 74 const SvxBrushItem* pBackground; 75 76 const SvxBoxItem* pLinesAttr; /// Original item from document. 77 const SvxLineItem* mpTLBRLine; /// Original item from document. 78 const SvxLineItem* mpBLTRLine; /// Original item from document. 79 80 const SvxShadowItem* pShadowAttr; // Original-Item (intern) 81 82 const SvxShadowItem* pHShadowOrigin; 83 const SvxShadowItem* pVShadowOrigin; 84 85 ScShadowPart eHShadowPart : 4; // Schatten effektiv zum Zeichnen 86 ScShadowPart eVShadowPart : 4; 87 sal_uInt8 nClipMark; 88 sal_uInt16 nWidth; 89 sal_uInt8 nRotateDir; 90 91 sal_Bool bMarked : 1; 92 sal_Bool bEmptyCellText : 1; 93 94 sal_Bool bMerged : 1; 95 sal_Bool bHOverlapped : 1; 96 sal_Bool bVOverlapped : 1; 97 sal_Bool bAutoFilter : 1; 98 sal_Bool bPushButton : 1; 99 bool bPopupButton: 1; 100 bool bFilterActive:1; 101 102 sal_Bool bPrinted : 1; // bei Bedarf (Pagebreak-Modus) 103 104 sal_Bool bHideGrid : 1; // output-intern 105 sal_Bool bEditEngine : 1; // output-intern 106 }; 107 108 const SCCOL SC_ROTMAX_NONE = SCCOL_MAX; 109 110 // ============================================================================ 111 112 struct RowInfo 113 { 114 CellInfo* pCellInfo; 115 116 sal_uInt16 nHeight; 117 SCROW nRowNo; 118 SCCOL nRotMaxCol; // SC_ROTMAX_NONE, wenn nichts 119 120 sal_Bool bEmptyBack; 121 sal_Bool bEmptyText; 122 sal_Bool bAutoFilter; 123 sal_Bool bPushButton; 124 sal_Bool bChanged; // sal_True, wenn nicht getestet 125 126 inline explicit RowInfo() : pCellInfo( 0 ) {} 127 128 private: 129 RowInfo( const RowInfo& ); 130 RowInfo& operator=( const RowInfo& ); 131 }; 132 133 // ============================================================================ 134 135 struct ScTableInfo 136 { 137 svx::frame::Array maArray; 138 RowInfo* mpRowInfo; 139 sal_uInt16 mnArrCount; 140 bool mbPageMode; 141 142 explicit ScTableInfo(); 143 ~ScTableInfo(); 144 145 private: 146 ScTableInfo( const ScTableInfo& ); 147 ScTableInfo& operator=( const ScTableInfo& ); 148 }; 149 150 // ============================================================================ 151 152 #endif 153 154