summaryrefslogtreecommitdiff
path: root/sw/source/core
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2004-05-03 12:46:43 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2004-05-03 12:46:43 +0000
commit1b13908a948aa26fb54f1c65b3d533829e499439 (patch)
treeeae5de3f97811bef4a4996d4031d4160408652cc /sw/source/core
parent37d1143035a711eaac074d3293d05a266f1338a2 (diff)
INTEGRATION: CWS gt03 (1.20.76); FILE MERGED
2004/04/21 08:28:36 gt 1.20.76.4: #i26167# missing type in declaration in SwCellFrm::GetPreviousCell() for bIsInFirstLine 2004/04/20 09:28:12 gt 1.20.76.3: RESYNC: (1.22-1.23); FILE MERGED 2004/03/24 08:17:16 gt 1.20.76.2: RESYNC: (1.20-1.22); FILE MERGED 2004/03/11 14:55:05 fme 1.20.76.1: #26165# Feature - Multiple headline rows in tables
Diffstat (limited to 'sw/source/core')
-rw-r--r--sw/source/core/layout/findfrm.cxx56
1 files changed, 28 insertions, 28 deletions
diff --git a/sw/source/core/layout/findfrm.cxx b/sw/source/core/layout/findfrm.cxx
index 5cc186d9df9f..94028ad888d3 100644
--- a/sw/source/core/layout/findfrm.cxx
+++ b/sw/source/core/layout/findfrm.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: findfrm.cxx,v $
*
- * $Revision: 1.23 $
+ * $Revision: 1.24 $
*
- * last change: $Author: obo $ $Date: 2004-03-17 12:48:39 $
+ * last change: $Author: rt $ $Date: 2004-05-03 13:46:43 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -1452,31 +1452,31 @@ SwCellFrm* SwCellFrm::GetPreviousCell() const
while( !pRow->IsRowFrm() || !pRow->GetUpper()->IsTabFrm() )
pRow = pRow->GetUpper();
- SwFrm* pTmpTab = (SwTabFrm*)pRow->GetUpper();
+ ASSERT( pRow->GetUpper() && pRow->GetUpper()->IsTabFrm(), "GetPreviousCell without Table" );
- ASSERT( pTmpTab && pTmpTab->IsTabFrm(), "GetPreviousCell without Table" );
- SwTabFrm* pTab = (SwTabFrm*)pTmpTab;
+ SwTabFrm* pTab = (SwTabFrm*)pRow->GetUpper();
- const SwFrm* pPrev = pRow->GetPrev();
- const bool bRepeat = pTab->GetTable()->IsHeadlineRepeat();
- const bool bIsInFirstLine = bRepeat ?
- pPrev && !pPrev->GetPrev() :
- !pPrev;
-
- if ( bIsInFirstLine && pTab->IsFollow() )
+ if ( pTab->IsFollow() )
{
- SwTabFrm *pMaster = (SwTabFrm*)pTab->FindMaster();
- if ( pMaster && pMaster->HasFollowFlowLine() )
+ const SwFrm* pTmp = pTab->GetFirstNonHeadlineRow();
+ const bool bIsInFirstLine = ( pTmp == pRow );
+
+ if ( bIsInFirstLine )
{
- SwRowFrm* pMasterRow = (SwRowFrm*)pMaster->Lower();
- while ( pMasterRow->GetNext() )
+ SwTabFrm *pMaster = (SwTabFrm*)pTab->FindMaster();
+ if ( pMaster && pMaster->HasFollowFlowLine() )
{
- pMasterRow = (SwRowFrm*)pMasterRow->GetNext();
- }
+ SwRowFrm* pMasterRow = (SwRowFrm*)pMaster->Lower();
+ while ( pMasterRow->GetNext() )
+ {
+ pMasterRow = (SwRowFrm*)pMasterRow->GetNext();
+ }
- pRet = lcl_FindCorrespondingCellFrm( *((SwRowFrm*)pRow), *this, *pMasterRow, false );
+ pRet = lcl_FindCorrespondingCellFrm( *((SwRowFrm*)pRow), *this, *pMasterRow, false );
+ }
}
}
+
return pRet;
}
@@ -1500,14 +1500,11 @@ const SwRowFrm* SwFrm::IsInSplitTableRow() const
!pTab->GetFollow() )
return NULL;
- SwRowFrm* pFollowRow = (SwRowFrm*)pTab->GetFollow()->Lower();
+ // skip headline
+ const SwRowFrm* pFollowRow = pTab->GetFollow()->GetFirstNonHeadlineRow();
ASSERT( pFollowRow, "SwFrm::IsInSplitTableRow() does not work" )
- // skip headline
- if ( pTab->GetTable()->IsHeadlineRepeat() )
- pFollowRow = (SwRowFrm*)pFollowRow->GetNext();
-
return pFollowRow;
}
@@ -1525,13 +1522,16 @@ const SwRowFrm* SwFrm::IsInFollowFlowRow() const
ASSERT( pRow->GetUpper()->IsTabFrm(), "Confusion in table layout" )
const SwTabFrm* pTab = (SwTabFrm*)pRow->GetUpper();
+
const SwTabFrm* pMaster = pTab->IsFollow() ? pTab->FindMaster() : 0;
- const bool bIsInFirstLine = pTab->GetTable()->IsHeadlineRepeat() ?
- pRow->GetPrev() && !pRow->GetPrev()->GetPrev() :
- !pRow->GetPrev();
+ if ( !pMaster || !pMaster->HasFollowFlowLine() )
+ return NULL;
+
+ const SwFrm* pTmp = pTab->GetFirstNonHeadlineRow();
+ const bool bIsInFirstLine = ( pTmp == pRow );
- if ( !pMaster || !pMaster->HasFollowFlowLine() || !bIsInFirstLine )
+ if ( !bIsInFirstLine )
return NULL;
SwRowFrm* pMasterRow = (SwRowFrm*)pMaster->Lower();