update dev300-m58
[ooovba.git] / sw / source / core / inc / rowfrm.hxx
blob0f0a61e1b09d7b3c984e8ae63652b293631cc5b8
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: rowfrm.hxx,v $
10 * $Revision: 1.10 $
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 ************************************************************************/
30 #ifndef _ROWFRM_HXX
31 #define _ROWFRM_HXX
33 #include <tools/mempool.hxx>
35 #include "layfrm.hxx"
37 class SwTableLine;
38 class SwBorderAttrs;
40 class SwRowFrm: public SwLayoutFrm
42 virtual void Format( const SwBorderAttrs *pAttrs = 0 );
43 //Aendern nur die Framesize, nicht die PrtArea-SSize
44 virtual SwTwips ShrinkFrm( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE );
45 virtual SwTwips GrowFrm ( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE );
47 const SwTableLine *pTabLine;
48 SwRowFrm* pFollowRow;
49 // --> collapsing borders FME 2005-05-27 #i29550#
50 USHORT mnTopMarginForLowers;
51 USHORT mnBottomMarginForLowers;
52 USHORT mnBottomLineSize;
53 // <-- collapsing
54 bool bIsFollowFlowRow;
55 bool bIsRepeatedHeadline;
56 bool mbIsRowSpanLine;
58 protected:
59 virtual void MakeAll();
61 public:
62 SwRowFrm( const SwTableLine &, bool bInsertContent = true );
63 ~SwRowFrm();
65 virtual void Cut();
66 virtual void Modify( SfxPoolItem*, SfxPoolItem* );
68 //Zum Anmelden der Flys nachdem eine Zeile erzeugt _und_ eingefuegt wurde.
69 //Muss vom Erzeuger gerufen werden, denn erst nach dem Konstruieren wird
70 //Das Teil gepastet; mithin ist auch erst dann die Seite zum Anmelden der
71 //Flys erreichbar.
72 void RegistFlys( SwPageFrm *pPage = 0 );
74 const SwTableLine *GetTabLine() const { return pTabLine; }
76 //Passt die Zellen auf die aktuelle Hoehe an, invalidiert die Zellen
77 //wenn die Direction nicht der Hoehe entspricht.
78 void AdjustCells( const SwTwips nHeight, const BOOL bHeight );
82 SwRowFrm* GetFollowRow() const { return pFollowRow; }
83 void SetFollowRow( SwRowFrm* pNew ) { pFollowRow = pNew; }
85 // --> collapsing borders FME 2005-05-27 #i29550#
86 USHORT GetTopMarginForLowers() const { return mnTopMarginForLowers; }
87 void SetTopMarginForLowers( USHORT nNew ) { mnTopMarginForLowers = nNew; }
88 USHORT GetBottomMarginForLowers() const { return mnBottomMarginForLowers; }
89 void SetBottomMarginForLowers( USHORT nNew ) { mnBottomMarginForLowers = nNew; }
90 USHORT GetBottomLineSize() const { return mnBottomLineSize; }
91 void SetBottomLineSize( USHORT nNew ) { mnBottomLineSize = nNew; }
92 // <-- collapsing
94 bool IsRepeatedHeadline() const { return bIsRepeatedHeadline; }
95 void SetRepeatedHeadline( bool bNew ) { bIsRepeatedHeadline = bNew; }
97 // --> split table rows
98 bool IsRowSplitAllowed() const;
99 bool IsFollowFlowRow() const { return bIsFollowFlowRow; }
100 void SetFollowFlowRow( bool bNew ) { bIsFollowFlowRow = bNew; }
101 // <-- split table rows
103 // --> FME 2006-02-10 #131283# Table row keep feature
104 bool ShouldRowKeepWithNext() const;
105 // <--
107 // --> FME 2006-10-30 #i4032# NEW TABLES
108 bool IsRowSpanLine() const { return mbIsRowSpanLine; }
109 void SetRowSpanLine( bool bNew ) { mbIsRowSpanLine = bNew; }
111 DECL_FIXEDMEMPOOL_NEWDEL(SwRowFrm)
114 #endif