1*1d2dbeb0SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*1d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*1d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*1d2dbeb0SAndrew Rist * distributed with this work for additional information 6*1d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*1d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*1d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 9*1d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 10*1d2dbeb0SAndrew Rist * 11*1d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*1d2dbeb0SAndrew Rist * 13*1d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*1d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 15*1d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*1d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 17*1d2dbeb0SAndrew Rist * specific language governing permissions and limitations 18*1d2dbeb0SAndrew Rist * under the License. 19*1d2dbeb0SAndrew Rist * 20*1d2dbeb0SAndrew Rist *************************************************************/ 21*1d2dbeb0SAndrew Rist 22*1d2dbeb0SAndrew Rist 23cdf0e10cSrcweir #ifndef _ROWFRM_HXX 24cdf0e10cSrcweir #define _ROWFRM_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <tools/mempool.hxx> 27cdf0e10cSrcweir 28cdf0e10cSrcweir #include "layfrm.hxx" 29cdf0e10cSrcweir 30cdf0e10cSrcweir class SwTableLine; 31cdf0e10cSrcweir class SwBorderAttrs; 32cdf0e10cSrcweir 33cdf0e10cSrcweir class SwRowFrm: public SwLayoutFrm 34cdf0e10cSrcweir { 35cdf0e10cSrcweir virtual void Format( const SwBorderAttrs *pAttrs = 0 ); 36cdf0e10cSrcweir //Aendern nur die Framesize, nicht die PrtArea-SSize 37cdf0e10cSrcweir virtual SwTwips ShrinkFrm( SwTwips, sal_Bool bTst = sal_False, sal_Bool bInfo = sal_False ); 38cdf0e10cSrcweir virtual SwTwips GrowFrm ( SwTwips, sal_Bool bTst = sal_False, sal_Bool bInfo = sal_False ); 39cdf0e10cSrcweir 40cdf0e10cSrcweir const SwTableLine *pTabLine; 41cdf0e10cSrcweir SwRowFrm* pFollowRow; 42cdf0e10cSrcweir // --> collapsing borders FME 2005-05-27 #i29550# 43cdf0e10cSrcweir sal_uInt16 mnTopMarginForLowers; 44cdf0e10cSrcweir sal_uInt16 mnBottomMarginForLowers; 45cdf0e10cSrcweir sal_uInt16 mnBottomLineSize; 46cdf0e10cSrcweir // <-- collapsing 47cdf0e10cSrcweir bool bIsFollowFlowRow; 48cdf0e10cSrcweir bool bIsRepeatedHeadline; 49cdf0e10cSrcweir bool mbIsRowSpanLine; 50cdf0e10cSrcweir 51cdf0e10cSrcweir protected: 52cdf0e10cSrcweir virtual void MakeAll(); 53cdf0e10cSrcweir virtual void Modify( const SfxPoolItem*, const SfxPoolItem* ); 54cdf0e10cSrcweir 55cdf0e10cSrcweir public: 56cdf0e10cSrcweir SwRowFrm( const SwTableLine &, SwFrm*, bool bInsertContent = true ); 57cdf0e10cSrcweir ~SwRowFrm(); 58cdf0e10cSrcweir 59cdf0e10cSrcweir virtual void Cut(); 60cdf0e10cSrcweir 61cdf0e10cSrcweir //Zum Anmelden der Flys nachdem eine Zeile erzeugt _und_ eingefuegt wurde. 62cdf0e10cSrcweir //Muss vom Erzeuger gerufen werden, denn erst nach dem Konstruieren wird 63cdf0e10cSrcweir //Das Teil gepastet; mithin ist auch erst dann die Seite zum Anmelden der 64cdf0e10cSrcweir //Flys erreichbar. 65cdf0e10cSrcweir void RegistFlys( SwPageFrm *pPage = 0 ); 66cdf0e10cSrcweir GetTabLine() const67cdf0e10cSrcweir const SwTableLine *GetTabLine() const { return pTabLine; } 68cdf0e10cSrcweir 69cdf0e10cSrcweir //Passt die Zellen auf die aktuelle Hoehe an, invalidiert die Zellen 70cdf0e10cSrcweir //wenn die Direction nicht der Hoehe entspricht. 71cdf0e10cSrcweir void AdjustCells( const SwTwips nHeight, const sal_Bool bHeight ); 72cdf0e10cSrcweir 73cdf0e10cSrcweir // 74cdf0e10cSrcweir // GetFollowRow() const75cdf0e10cSrcweir SwRowFrm* GetFollowRow() const { return pFollowRow; } SetFollowRow(SwRowFrm * pNew)76cdf0e10cSrcweir void SetFollowRow( SwRowFrm* pNew ) { pFollowRow = pNew; } 77cdf0e10cSrcweir 78cdf0e10cSrcweir // --> collapsing borders FME 2005-05-27 #i29550# GetTopMarginForLowers() const79cdf0e10cSrcweir sal_uInt16 GetTopMarginForLowers() const { return mnTopMarginForLowers; } SetTopMarginForLowers(sal_uInt16 nNew)80cdf0e10cSrcweir void SetTopMarginForLowers( sal_uInt16 nNew ) { mnTopMarginForLowers = nNew; } GetBottomMarginForLowers() const81cdf0e10cSrcweir sal_uInt16 GetBottomMarginForLowers() const { return mnBottomMarginForLowers; } SetBottomMarginForLowers(sal_uInt16 nNew)82cdf0e10cSrcweir void SetBottomMarginForLowers( sal_uInt16 nNew ) { mnBottomMarginForLowers = nNew; } GetBottomLineSize() const83cdf0e10cSrcweir sal_uInt16 GetBottomLineSize() const { return mnBottomLineSize; } SetBottomLineSize(sal_uInt16 nNew)84cdf0e10cSrcweir void SetBottomLineSize( sal_uInt16 nNew ) { mnBottomLineSize = nNew; } 85cdf0e10cSrcweir // <-- collapsing 86cdf0e10cSrcweir IsRepeatedHeadline() const87cdf0e10cSrcweir bool IsRepeatedHeadline() const { return bIsRepeatedHeadline; } SetRepeatedHeadline(bool bNew)88cdf0e10cSrcweir void SetRepeatedHeadline( bool bNew ) { bIsRepeatedHeadline = bNew; } 89cdf0e10cSrcweir 90cdf0e10cSrcweir // --> split table rows 91cdf0e10cSrcweir bool IsRowSplitAllowed() const; IsFollowFlowRow() const92cdf0e10cSrcweir bool IsFollowFlowRow() const { return bIsFollowFlowRow; } SetFollowFlowRow(bool bNew)93cdf0e10cSrcweir void SetFollowFlowRow( bool bNew ) { bIsFollowFlowRow = bNew; } 94cdf0e10cSrcweir // <-- split table rows 95cdf0e10cSrcweir 96cdf0e10cSrcweir // --> FME 2006-02-10 #131283# Table row keep feature 97cdf0e10cSrcweir bool ShouldRowKeepWithNext() const; 98cdf0e10cSrcweir // <-- 99cdf0e10cSrcweir 100cdf0e10cSrcweir // --> FME 2006-10-30 #i4032# NEW TABLES IsRowSpanLine() const101cdf0e10cSrcweir bool IsRowSpanLine() const { return mbIsRowSpanLine; } SetRowSpanLine(bool bNew)102cdf0e10cSrcweir void SetRowSpanLine( bool bNew ) { mbIsRowSpanLine = bNew; } 103cdf0e10cSrcweir 104cdf0e10cSrcweir DECL_FIXEDMEMPOOL_NEWDEL(SwRowFrm) 105cdf0e10cSrcweir }; 106cdf0e10cSrcweir 107cdf0e10cSrcweir #endif 108