2000-09-18 23:08:29 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2005-09-09 02:54:17 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2000-09-18 23:08:29 +00:00
|
|
|
*
|
2005-09-09 02:54:17 +00:00
|
|
|
* $RCSfile: rowfrm.hxx,v $
|
2000-09-18 23:08:29 +00:00
|
|
|
*
|
2006-03-09 13:05:58 +00:00
|
|
|
* $Revision: 1.8 $
|
2000-09-18 23:08:29 +00:00
|
|
|
*
|
2006-03-09 13:05:58 +00:00
|
|
|
* last change: $Author: rt $ $Date: 2006-03-09 14:05:58 $
|
2000-09-18 23:08:29 +00:00
|
|
|
*
|
2005-09-09 02:54:17 +00:00
|
|
|
* The Contents of this file are made available subject to
|
|
|
|
* the terms of GNU Lesser General Public License Version 2.1.
|
2000-09-18 23:08:29 +00:00
|
|
|
*
|
|
|
|
*
|
2005-09-09 02:54:17 +00:00
|
|
|
* GNU Lesser General Public License Version 2.1
|
|
|
|
* =============================================
|
|
|
|
* Copyright 2005 by Sun Microsystems, Inc.
|
|
|
|
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
2000-09-18 23:08:29 +00:00
|
|
|
*
|
2005-09-09 02:54:17 +00:00
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License version 2.1, as published by the Free Software Foundation.
|
2000-09-18 23:08:29 +00:00
|
|
|
*
|
2005-09-09 02:54:17 +00:00
|
|
|
* This library 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 for more details.
|
2000-09-18 23:08:29 +00:00
|
|
|
*
|
2005-09-09 02:54:17 +00:00
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
|
|
* MA 02111-1307 USA
|
2000-09-18 23:08:29 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
#ifndef _ROWFRM_HXX
|
|
|
|
#define _ROWFRM_HXX
|
|
|
|
|
|
|
|
#ifndef _SVMEMPOOL_HXX //autogen
|
|
|
|
#include <tools/mempool.hxx>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#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
|
2001-10-19 09:25:19 +00:00
|
|
|
virtual SwTwips ShrinkFrm( SwTwips, SZPTR
|
2000-09-18 23:08:29 +00:00
|
|
|
BOOL bTst = FALSE, BOOL bInfo = FALSE );
|
2001-10-19 09:25:19 +00:00
|
|
|
virtual SwTwips GrowFrm ( SwTwips, SZPTR
|
2000-09-18 23:08:29 +00:00
|
|
|
BOOL bTst = FALSE, BOOL bInfo = FALSE );
|
|
|
|
|
|
|
|
const SwTableLine *pTabLine;
|
2004-01-13 10:12:28 +00:00
|
|
|
SwRowFrm* pFollowRow;
|
2004-07-12 12:32:45 +00:00
|
|
|
// --> collapsing borders FME 2005-05-27 #i29550#
|
|
|
|
USHORT mnTopMarginForLowers;
|
|
|
|
USHORT mnBottomMarginForLowers;
|
|
|
|
USHORT mnBottomLineSize;
|
|
|
|
// <-- collapsing
|
2004-01-13 10:12:28 +00:00
|
|
|
bool bIsFollowFlowRow;
|
2004-05-03 12:46:15 +00:00
|
|
|
bool bIsRepeatedHeadline;
|
2000-09-18 23:08:29 +00:00
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual void MakeAll();
|
|
|
|
|
|
|
|
public:
|
2004-01-13 10:12:28 +00:00
|
|
|
SwRowFrm( const SwTableLine &, bool bInsertContent = true );
|
2000-09-18 23:08:29 +00:00
|
|
|
~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 );
|
2004-01-13 10:12:28 +00:00
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
SwRowFrm* GetFollowRow() const { return pFollowRow; }
|
|
|
|
void SetFollowRow( SwRowFrm* pNew ) { pFollowRow = pNew; }
|
|
|
|
|
2004-07-12 12:32:45 +00:00
|
|
|
// --> 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
|
2004-01-13 10:12:28 +00:00
|
|
|
|
2004-05-03 12:46:15 +00:00
|
|
|
bool IsRepeatedHeadline() const { return bIsRepeatedHeadline; }
|
|
|
|
void SetRepeatedHeadline( bool bNew ) { bIsRepeatedHeadline = bNew; }
|
|
|
|
|
2004-07-12 12:32:45 +00:00
|
|
|
// --> split table rows
|
2004-01-13 10:12:28 +00:00
|
|
|
bool IsRowSplitAllowed() const;
|
2004-07-12 12:32:45 +00:00
|
|
|
bool IsFollowFlowRow() const { return bIsFollowFlowRow; }
|
|
|
|
void SetFollowFlowRow( bool bNew ) { bIsFollowFlowRow = bNew; }
|
|
|
|
// <-- split table rows
|
2004-01-13 10:12:28 +00:00
|
|
|
|
2006-03-09 13:05:58 +00:00
|
|
|
// --> FME 2006-02-10 #131283# Table row keep feature
|
|
|
|
bool ShouldRowKeepWithNext() const;
|
|
|
|
// <--
|
|
|
|
|
2000-09-18 23:08:29 +00:00
|
|
|
DECL_FIXEDMEMPOOL_NEWDEL(SwRowFrm)
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|