diff options
Diffstat (limited to 'sw/source/core/inc/rowfrm.hxx')
-rw-r--r-- | sw/source/core/inc/rowfrm.hxx | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/sw/source/core/inc/rowfrm.hxx b/sw/source/core/inc/rowfrm.hxx new file mode 100644 index 000000000000..7f772e10913f --- /dev/null +++ b/sw/source/core/inc/rowfrm.hxx @@ -0,0 +1,111 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _ROWFRM_HXX +#define _ROWFRM_HXX + +#include <tools/mempool.hxx> + +#include "layfrm.hxx" + +class SwTableLine; +class SwBorderAttrs; + +class SwRowFrm: public SwLayoutFrm +{ + virtual void Format( const SwBorderAttrs *pAttrs = 0 ); + //Aendern nur die Framesize, nicht die PrtArea-SSize + virtual SwTwips ShrinkFrm( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE ); + virtual SwTwips GrowFrm ( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE ); + + const SwTableLine *pTabLine; + SwRowFrm* pFollowRow; + // --> collapsing borders FME 2005-05-27 #i29550# + USHORT mnTopMarginForLowers; + USHORT mnBottomMarginForLowers; + USHORT mnBottomLineSize; + // <-- collapsing + bool bIsFollowFlowRow; + bool bIsRepeatedHeadline; + bool mbIsRowSpanLine; + +protected: + virtual void MakeAll(); + +public: + SwRowFrm( const SwTableLine &, bool bInsertContent = true ); + ~SwRowFrm(); + + virtual void Cut(); + virtual void Modify( SfxPoolItem*, SfxPoolItem* ); + + //Zum Anmelden der Flys nachdem eine Zeile erzeugt _und_ eingefuegt wurde. + //Muss vom Erzeuger gerufen werden, denn erst nach dem Konstruieren wird + //Das Teil gepastet; mithin ist auch erst dann die Seite zum Anmelden der + //Flys erreichbar. + void RegistFlys( SwPageFrm *pPage = 0 ); + + const SwTableLine *GetTabLine() const { return pTabLine; } + + //Passt die Zellen auf die aktuelle Hoehe an, invalidiert die Zellen + //wenn die Direction nicht der Hoehe entspricht. + void AdjustCells( const SwTwips nHeight, const BOOL bHeight ); + + // + // + SwRowFrm* GetFollowRow() const { return pFollowRow; } + void SetFollowRow( SwRowFrm* pNew ) { pFollowRow = pNew; } + + // --> collapsing borders FME 2005-05-27 #i29550# + USHORT GetTopMarginForLowers() const { return mnTopMarginForLowers; } + void SetTopMarginForLowers( USHORT nNew ) { mnTopMarginForLowers = nNew; } + USHORT GetBottomMarginForLowers() const { return mnBottomMarginForLowers; } + void SetBottomMarginForLowers( USHORT nNew ) { mnBottomMarginForLowers = nNew; } + USHORT GetBottomLineSize() const { return mnBottomLineSize; } + void SetBottomLineSize( USHORT nNew ) { mnBottomLineSize = nNew; } + // <-- collapsing + + bool IsRepeatedHeadline() const { return bIsRepeatedHeadline; } + void SetRepeatedHeadline( bool bNew ) { bIsRepeatedHeadline = bNew; } + + // --> split table rows + bool IsRowSplitAllowed() const; + bool IsFollowFlowRow() const { return bIsFollowFlowRow; } + void SetFollowFlowRow( bool bNew ) { bIsFollowFlowRow = bNew; } + // <-- split table rows + + // --> FME 2006-02-10 #131283# Table row keep feature + bool ShouldRowKeepWithNext() const; + // <-- + + // --> FME 2006-10-30 #i4032# NEW TABLES + bool IsRowSpanLine() const { return mbIsRowSpanLine; } + void SetRowSpanLine( bool bNew ) { mbIsRowSpanLine = bNew; } + + DECL_FIXEDMEMPOOL_NEWDEL(SwRowFrm) +}; + +#endif |