1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: rowfrm.hxx,v $
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 ************************************************************************/
33 #include <tools/mempool.hxx>
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
;
49 // --> collapsing borders FME 2005-05-27 #i29550#
50 USHORT mnTopMarginForLowers
;
51 USHORT mnBottomMarginForLowers
;
52 USHORT mnBottomLineSize
;
54 bool bIsFollowFlowRow
;
55 bool bIsRepeatedHeadline
;
59 virtual void MakeAll();
62 SwRowFrm( const SwTableLine
&, bool bInsertContent
= true );
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
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
; }
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;
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
)