19 #ifndef INCLUDED_SW_SOURCE_CORE_INC_TBLRWCL_HXX
20 #define INCLUDED_SW_SOURCE_CORE_INC_TBLRWCL_HXX
28 namespace editeng {
class SvxBorderLine; }
47 SwTableBox* pBox, sal_uInt16 nInsPos, sal_uInt16 nCnt = 1 );
50 bool bCalcNewSize,
const bool bCorrBorder,
73 m_pHistory( pHist ), m_nMode( nMd ), m_nWidth( 0 ),
82 size_t Count()
const {
return m_Boxes.size(); }
87 *pWidth = (nPos+1 == m_aPositionArr.size()) ? m_nWidth
88 : m_aPositionArr[ nPos+1 ];
89 return *m_Boxes[ nPos ];
98 bool Resize( sal_uInt16 nOffset, sal_uInt16 nWidth );
124 : pLines( &rTable.GetTabLines() ), pShareFormats(nullptr), nLinePos( 0 ) {}
127 : pLines( &rBox.GetTabLines() ), pShareFormats(nullptr), nLinePos( 0 ) {}
128 bool IsLastLine()
const {
return nLinePos + 1 >= o3tl::narrowing<sal_uInt16>(pLines->
size()); }
139 { m_pBorderLine = &rBorderLine; m_bAnyBorderFind =
false; }
159 : m_pOldFormat( &rFormat )
void CheckBoxWidth(const SwTableLine &rLine, SwTwips nSize)
std::vector< SwTableBox * > m_Boxes
SwSaveRowSpan(SwTableBoxes &rBoxes, sal_uInt16 nSplitLn)
void sw_GC_Line_Border(const SwTableLine *pLine, SwGCLineBorder *pGCPara)
bool IsGetFromTop() const
SwTableLine is one table row in the document model.
void sw_LineSetHeadCondColl(const SwTableLine *pLine)
void SetValues(bool bFlag)
const SwTableLines * pLines
SwShareBoxFormats * pShareFormats
std::vector< tools::Long > mnRowSpans
void DeleteBox_(SwTable &rTable, SwTableBox *pBox, SwUndo *pUndo, bool bCalcNewSize, const bool bCorrBorder, SwShareBoxFormats *pShareFormats=nullptr)
This structure is needed by Undo to restore row span attributes when a table has been split into two ...
SwCollectTableLineBoxes(bool bTop, SplitTable_HeadlineOption nMd=SplitTable_HeadlineOption::NONE, SwHistory *pHist=nullptr)
Class for SplitTable Collects the uppermost or lowermost Lines of a Box from a Line in an array...
void InsTableBox(SwDoc &rDoc, SwTableNode *pTableNd, SwTableLine *pLine, SwTableBoxFormat *pBoxFrameFormat, SwTableBox *pBox, sal_uInt16 nInsPos, sal_uInt16 nCnt=1)
SplitTable_HeadlineOption m_nMode
SwGCLineBorder(const SwTable &rTable)
void sw_BoxSetSplitBoxFormats(SwTableBox *pBox, SwCollectTableLineBoxes *pSplPara)
const SwTableBox & GetBox(std::size_t nPos, sal_uInt16 *pWidth=nullptr) const
SplitTable_HeadlineOption
void AddToUndoHistory(const SwContentNode &rNd)
SwTable is one table in the document model, containing rows (which contain cells).
std::vector< SwTableBox * > SwTableBoxes
const SwTableBox * GetBoxOfPos(const SwTableBox &rBox)
std::vector< sal_uInt16 > m_aPositionArr
SwTableBox is one table cell in the document model.
bool CheckLeftBorderOfFormat(const SwFrameFormat &rFormat)
Check whether the left Border is the same as the set one.
bool Resize(sal_uInt16 nOffset, sal_uInt16 nWidth)
const editeng::SvxBorderLine * m_pBorderLine
void sw_Box_CollectBox(const SwTableBox *pBox, SwCollectTableLineBoxes *pSplPara)
SwGCLineBorder(const SwTableBox &rBox)
void AddBox(const SwTableBox &rBox)
bool IsAnyBorderFound() const
void SetBorder(const editeng::SvxBorderLine &rBorderLine)
bool m_bDetectedRangeSegmentation false
bool sw_Line_CollectBox(const SwTableLine *&rpLine, void *pPara)
SplitTable_HeadlineOption GetMode() const