Kaydet (Commit) 9e3064c1 authored tarafından Bjoern Michaelsen's avatar Bjoern Michaelsen

refactor FormatTable away from SwClients a bit

Change-Id: I43cf4ca6f8cf66b045eedd99108941ea44d56086
üst dc8697e5
...@@ -604,20 +604,23 @@ static void lcl_InspectLines(SwTableLines& rLines, std::vector<OUString*>& rAllN ...@@ -604,20 +604,23 @@ static void lcl_InspectLines(SwTableLines& rLines, std::vector<OUString*>& rAllN
} }
} }
static void lcl_FormatTable(SwFrmFmt* pTblFmt) static bool lcl_FormatTable(SwFrmFmt* pTblFmt)
{ {
bool bHasFrames = false;
SwIterator<SwFrm,SwFmt> aIter( *pTblFmt ); SwIterator<SwFrm,SwFmt> aIter( *pTblFmt );
for( SwFrm* pFrm = aIter.First(); pFrm; pFrm = aIter.Next() ) for(SwFrm* pFrm = aIter.First(); pFrm; pFrm = aIter.Next())
{ {
// mba: no TYPEINFO for SwTabFrm // mba: no TYPEINFO for SwTabFrm
if( pFrm->IsTabFrm() ) if(!pFrm->IsTabFrm())
{ continue;
if(pFrm->IsValid()) SwTabFrm* pTabFrm = static_cast<SwTabFrm*>(pFrm);
pFrm->InvalidatePos(); if(pTabFrm->IsValid())
static_cast<SwTabFrm*>(pFrm)->SetONECalcLowers(); pTabFrm->InvalidatePos();
static_cast<SwTabFrm*>(pFrm)->Calc(); pTabFrm->SetONECalcLowers();
} pTabFrm->Calc();
bHasFrames = true;
} }
return bHasFrames;
} }
static void lcl_CrsrSelect(SwPaM& rCrsr, bool bExpand) static void lcl_CrsrSelect(SwPaM& rCrsr, bool bExpand)
...@@ -3180,13 +3183,8 @@ void SwXTextTable::setPropertyValue(const OUString& rPropertyName, const uno::An ...@@ -3180,13 +3183,8 @@ void SwXTextTable::setPropertyValue(const OUString& rPropertyName, const uno::An
break; // something else break; // something else
} }
SwDoc* pDoc = pFmt->GetDoc(); SwDoc* pDoc = pFmt->GetDoc();
SwFrm* pFrm = SwIterator<SwFrm,SwFmt>( *pFmt ).First(); if(!lcl_FormatTable(pFmt))
// tables without layout (invisible header/footer?)
if (!pFrm)
{
break; break;
}
lcl_FormatTable(pFmt);
SwTable* pTable = SwTable::FindTable( pFmt ); SwTable* pTable = SwTable::FindTable( pFmt );
SwTableLines &rLines = pTable->GetTabLines(); SwTableLines &rLines = pTable->GetTabLines();
...@@ -3374,13 +3372,9 @@ uno::Any SwXTextTable::getPropertyValue(const OUString& rPropertyName) ...@@ -3374,13 +3372,9 @@ uno::Any SwXTextTable::getPropertyValue(const OUString& rPropertyName)
case FN_UNO_TABLE_BORDER2: case FN_UNO_TABLE_BORDER2:
{ {
SwDoc* pDoc = pFmt->GetDoc(); SwDoc* pDoc = pFmt->GetDoc();
SwFrm* pFrm = SwIterator<SwFrm,SwFmt>( *pFmt ).First();
// tables without layout (invisible header/footer?) // tables without layout (invisible header/footer?)
if (!pFrm) if(!lcl_FormatTable(pFmt))
{
break; break;
}
lcl_FormatTable(pFmt);
SwTable* pTable = SwTable::FindTable( pFmt ); SwTable* pTable = SwTable::FindTable( pFmt );
SwTableLines &rLines = pTable->GetTabLines(); SwTableLines &rLines = pTable->GetTabLines();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment