LibreOffice Module sw (master) 1
|
#include <libxml/xmlwriter.h>
#include <config_wasm_strip.h>
#include <memory>
#include <fesh.hxx>
#include <hintids.hxx>
#include <editeng/lrspitem.hxx>
#include <editeng/protitem.hxx>
#include <editeng/boxitem.hxx>
#include <svl/stritem.hxx>
#include <editeng/shaditem.hxx>
#include <fmtfsize.hxx>
#include <fmtornt.hxx>
#include <fmtfordr.hxx>
#include <fmtpdsc.hxx>
#include <fmtanchr.hxx>
#include <fmtlsplt.hxx>
#include <frmatr.hxx>
#include <cellfrm.hxx>
#include <pagefrm.hxx>
#include <tabcol.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
#include <UndoManager.hxx>
#include <DocumentSettingManager.hxx>
#include <IDocumentChartDataProviderAccess.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <IDocumentStylePoolAccess.hxx>
#include <IDocumentFieldsAccess.hxx>
#include <IDocumentLayoutAccess.hxx>
#include <IDocumentState.hxx>
#include <cntfrm.hxx>
#include <pam.hxx>
#include <swcrsr.hxx>
#include <swtable.hxx>
#include <swundo.hxx>
#include <tblsel.hxx>
#include <poolfmt.hxx>
#include <tabfrm.hxx>
#include <UndoCore.hxx>
#include <UndoRedline.hxx>
#include <UndoDelete.hxx>
#include <UndoNumbering.hxx>
#include <UndoTable.hxx>
#include <hints.hxx>
#include <tblafmt.hxx>
#include <frminf.hxx>
#include <cellatr.hxx>
#include <swtblfmt.hxx>
#include <swddetbl.hxx>
#include <mvsave.hxx>
#include <docary.hxx>
#include <redline.hxx>
#include <rolbck.hxx>
#include <tblrwcl.hxx>
#include <editsh.hxx>
#include <txtfrm.hxx>
#include <section.hxx>
#include <frmtool.hxx>
#include <node2lay.hxx>
#include <strings.hrc>
#include <docsh.hxx>
#include <unochart.hxx>
#include <node.hxx>
#include <ndtxt.hxx>
#include <cstdlib>
#include <map>
#include <algorithm>
#include <rootfrm.hxx>
#include <fldupde.hxx>
#include <calbck.hxx>
#include <fntcache.hxx>
#include <frameformats.hxx>
#include <o3tl/numeric.hxx>
#include <o3tl/string_view.hxx>
#include <svl/numformat.hxx>
#include <tools/datetimeutils.hxx>
#include <sal/log.hxx>
#include <osl/diagnose.h>
Go to the source code of this file.
Macros | |
#define | CHECK_TABLE(t) (t).CheckConsistency(); |
#define | ROWFUZZY 25 |
Typedefs | |
typedef std::map< SwFrameFormat *, SwTableBoxFormat * > | DfltBoxAttrMap_t |
typedef std::vector< DfltBoxAttrMap_t * > | DfltBoxAttrList_t |
Functions | |
static void | lcl_SetDfltBoxAttr (SwFrameFormat &rFormat, sal_uInt8 nId) |
static void | lcl_SetDfltBoxAttr (SwTableBox &rBox, DfltBoxAttrList_t &rBoxFormatArr, sal_uInt8 const nId, SwTableAutoFormat const *const pAutoFormat=nullptr) |
static SwTableBoxFormat * | lcl_CreateDfltBoxFormat (SwDoc &rDoc, std::vector< SwTableBoxFormat * > &rBoxFormatArr, sal_uInt16 nCols, sal_uInt8 nId) |
static SwTableBoxFormat * | lcl_CreateAFormatBoxFormat (SwDoc &rDoc, std::vector< SwTableBoxFormat * > &rBoxFormatArr, const SwTableAutoFormat &rAutoFormat, const sal_uInt16 nRows, const sal_uInt16 nCols, sal_uInt8 nId) |
static void | lcl_RemoveBreaks (SwContentNode &rNode, SwTableFormat *const pTableFormat) |
static void | lcl_BalanceTable (SwTable &rTable, size_t const nMaxBoxes, SwTableNode &rTableNd, SwTableBoxFormat &rBoxFormat, SwTextFormatColl &rTextColl, SwUndoTextToTable *const pUndo, std::vector< sal_uInt16 > *const pPositions) |
balance lines in table, insert empty boxes so all lines have the size More... | |
static void | lcl_SetTableBoxWidths (SwTable &rTable, size_t const nMaxBoxes, SwTableBoxFormat &rBoxFormat, SwDoc &rDoc, std::vector< sal_uInt16 > *const pPositions) |
static void | lcl_SetTableBoxWidths2 (SwTable &rTable, size_t const nMaxBoxes, SwTableBoxFormat &rBoxFormat, SwDoc &rDoc) |
static void | lcl_DelBox (SwTableBox *pBox, DelTabPara *pDelPara) |
static void | lcl_DelLine (SwTableLine *pLine, DelTabPara *pPara) |
static bool | lcl_IsFrameInColumn (const SwCellFrame &rFrame, SwSelBoxes const &rBoxes) |
bool | sw_Line_CollectBox (const SwTableLine *&rpLine, void *pPara) |
void | sw_Box_CollectBox (const SwTableBox *pBox, SwCollectTableLineBoxes *pSplPara) |
void | sw_BoxSetSplitBoxFormats (SwTableBox *pBox, SwCollectTableLineBoxes *pSplPara) |
static bool | lcl_ChgTableSize (SwTable &rTable) |
static void | lcl_SplitTable_CpyBox (SwTableBox *pBox, SplitTable_Para *pPara) |
static void | lcl_SplitTable_CpyLine (SwTableLine *pLn, SplitTable_Para *pPara) |
static bool | lcl_SetAFormatBox (FndBox_ &, SetAFormatTabPara *pSetPara, bool bResetDirect) |
static bool | lcl_SetAFormatLine (FndLine_ &, SetAFormatTabPara *pPara, bool bResetDirect) |
Variables | |
const sal_Unicode | T2T_PARA = 0x0a |
typedef std::vector<DfltBoxAttrMap_t *> DfltBoxAttrList_t |
typedef std::map<SwFrameFormat *, SwTableBoxFormat *> DfltBoxAttrMap_t |
|
static |
balance lines in table, insert empty boxes so all lines have the size
Definition at line 934 of file ndtbl.cxx.
References SwUndoTextToTable::AddFillBox(), SwNode::GetNodes(), SwTableLine::GetTabBoxes(), SwTable::GetTabLines(), i, SwNodes::InsBoxen(), n, and size.
Referenced by SwNodes::TextToTable().
|
static |
Definition at line 3259 of file ndtbl.cxx.
References SwTable::GetFrameFormat(), SwFormat::GetFrameSize(), SwTable::GetTabLines(), SvxSizeItem::GetWidth(), SwFormat::SetFormatAttr(), and SvxSizeItem::SetWidth().
Referenced by SwNodes::SplitTable().
|
static |
Definition at line 198 of file ndtbl.cxx.
References Box, SwFormat::GetAttrSet(), SwDoc::GetNumberFormatter(), SwDoc::MakeTableBoxFormat(), nId, SwFormat::SetFormatAttr(), SwTableAutoFormat::UpdateToSet(), and Variable.
Referenced by SwDoc::InsertTable(), and SwDoc::TextToTable().
|
static |
Definition at line 183 of file ndtbl.cxx.
References lcl_SetDfltBoxAttr(), SwDoc::MakeTableBoxFormat(), nId, SwFormat::SetFormatAttr(), and Variable.
Referenced by SwDoc::InsertTable(), and SwDoc::TextToTable().
|
static |
Definition at line 1516 of file ndtbl.cxx.
References SwNodeRange::aEnd, SwNodeRange::aStart, sw::mark::ContentIdxStore::Create(), SwTableLines::empty(), EMPTYEXPAND, SwNode::EndOfSectionNode(), SwContentIndex::GetIndex(), SwNodeIndex::GetIndex(), SwNodeIndex::GetNode(), SwTableBox::GetSttNd(), SwTableBox::GetTabLines(), SwNode::GetTextNode(), lcl_DelLine(), RES_PARATR_ADJUST(), SwTextNode::ResetAttr(), SAL_MAX_INT32, and T2T_PARA.
Referenced by lcl_DelLine().
|
static |
Definition at line 1505 of file ndtbl.cxx.
References SwTableLine::GetTabBoxes(), SwTableLine::GetUpper(), and lcl_DelBox().
Referenced by lcl_DelBox(), and SwNodes::TableToText().
|
static |
Definition at line 2582 of file ndtbl.cxx.
References SwCellFrame::GetTabBox(), i, and o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::size().
Referenced by SwDoc::GetTabRows().
|
static |
Definition at line 891 of file ndtbl.cxx.
References SwContentNode::DelFrames(), SfxItemSet::GetItemIfSet(), SwFormatPageDesc::GetPageDesc(), SwContentNode::GetpSwAttrSet(), SwNode::GetTextNode(), SwNode::IsTextNode(), RES_BREAK(), RES_PAGEDESC(), SwTextNode::ResetAttr(), and SwFormat::SetFormatAttr().
Referenced by SwNodes::TextToTable().
|
static |
Definition at line 3665 of file ndtbl.cxx.
References aTableBoxSetRange, Box, Char, SwTableBox::ClaimFrameFormat(), SfxItemSet::Count(), SwNode::EndOfSectionIndex(), SwDoc::GetAttrPool(), FndBox_::GetBox(), SwFormat::GetDoc(), SwTableBox::GetFrameFormat(), SfxItemSet::GetItemState(), FndBox_::GetLines(), SwDoc::GetNodes(), SwDoc::GetNumberFormatter(), SwTableBox::GetSttIdx(), SwTableBox::GetSttNd(), FndBox_::GetUpper(), FndLine_::GetUpper(), SwTableBox::HasDirectFormatting(), lcl_SetAFormatLine(), nPos, RES_BOXATR_FORMAT(), RES_CHRATR_BEGIN(), RES_PARATR_LIST_END(), SwContentNode::SetAttr(), SwTableBox::SetDirectFormatting(), and SwFormat::SetFormatAttr().
Referenced by lcl_SetAFormatLine(), and SwDoc::SetTableAutoFormat().
|
static |
Definition at line 3656 of file ndtbl.cxx.
References FndLine_::GetBoxes(), and lcl_SetAFormatBox().
Referenced by lcl_SetAFormatBox().
|
static |
Definition at line 110 of file ndtbl.cxx.
References COL_BLACK(), COL_GRAY(), IDocumentSettingAccess::get(), SwFormat::getIDocumentSettingAccess(), HTML_MODE, nId, RES_BOX(), SvxBoxItem::SetAllDistances(), SwFormat::SetFormatAttr(), SvxBoxItem::SetLine(), and SvxBorderLineWidth::VeryThin.
Referenced by lcl_CreateDfltBoxFormat(), lcl_SetDfltBoxAttr(), and SwDoc::TextToTable().
|
static |
Definition at line 146 of file ndtbl.cxx.
References Box, SwTableBox::ChgFrameFormat(), SfxItemSet::Get(), SwFormat::GetAttrSet(), SwFormat::GetDoc(), SwTableBox::GetFrameFormat(), SwDoc::GetNumberFormatter(), lcl_SetDfltBoxAttr(), SwDoc::MakeTableBoxFormat(), nId, RES_FRM_SIZE(), and SwFormat::SetFormatAttr().
|
static |
Definition at line 965 of file ndtbl.cxx.
References SwTable::GetTabLines(), SwDoc::MakeTableBoxFormat(), n, SAL_WARN_IF, SwFormat::SetFormatAttr(), SwTableLines::size(), and Variable.
Referenced by SwNodes::TextToTable().
|
static |
Definition at line 1337 of file ndtbl.cxx.
References SwTable::GetTabLines(), SwDoc::MakeTableBoxFormat(), SwFormat::SetFormatAttr(), SwTableLines::size(), and Variable.
Referenced by SwNodes::TextToTable().
|
static |
Definition at line 3343 of file ndtbl.cxx.
References SwTableBox::ChgFrameFormat(), SwTableBox::ClaimFrameFormat(), SwTableBox::GetFrameFormat(), SwTableBox::GetSttNd(), SwTableBox::GetTabLines(), and lcl_SplitTable_CpyLine().
Referenced by lcl_SplitTable_CpyLine().
|
static |
Definition at line 3328 of file ndtbl.cxx.
References SwTableLine::ChgFrameFormat(), SwTableLine::ClaimFrameFormat(), SwTableLine::GetFrameFormat(), SwTableLine::GetTabBoxes(), and lcl_SplitTable_CpyBox().
Referenced by lcl_SplitTable_CpyBox(), and SwNodes::SplitTable().
void sw_Box_CollectBox | ( | const SwTableBox * | pBox, |
SwCollectTableLineBoxes * | pSplPara | ||
) |
Definition at line 3037 of file ndtbl.cxx.
References SwCollectTableLineBoxes::AddBox(), SwTableBox::GetTabLines(), SwCollectTableLineBoxes::IsGetFromTop(), SwTableLines::size(), and sw_Line_CollectBox().
Referenced by SwTable::MakeCopy(), SwDoc::SplitTable(), and sw_Line_CollectBox().
void sw_BoxSetSplitBoxFormats | ( | SwTableBox * | pBox, |
SwCollectTableLineBoxes * | pSplPara | ||
) |
Definition at line 3055 of file ndtbl.cxx.
References SwCollectTableLineBoxes::AddToUndoHistory(), BorderCopy, BoxAttrAllCopy, SwStartNode::CheckSectionCondColl(), SwContentNode::ChgFormatColl(), SwTableBox::ClaimFrameFormat(), SwNode::EndOfSectionIndex(), SwDoc::GetAttrPool(), SwFormat::GetAttrSet(), SvxBoxItem::GetBottom(), SwFormat::GetBox(), SwCollectTableLineBoxes::GetBoxOfPos(), SwNode::GetContentNode(), SwFormat::GetDoc(), SwContentNode::GetFormatColl(), SwTableBox::GetFrameFormat(), SwCollectTableLineBoxes::GetMode(), SwNodeIndex::GetNode(), SwNodeIndex::GetNodes(), SwTableBox::GetSttNd(), SwTableBox::GetTabLines(), SvxBoxItem::GetTop(), SwNodes::GoNext(), SwCollectTableLineBoxes::IsGetFromTop(), rBoxItem, RES_BACKGROUND(), RES_LR_SPACE(), RES_PROTECT(), RES_SHADOW(), RES_UL_SPACE(), RES_VERT_ORIENT(), SwFormat::SetFormatAttr(), SvxBoxItem::SetLine(), SwTableLines::size(), SwNode::StartOfSectionIndex(), and sw_Line_CollectBox().
Referenced by SwTable::MakeCopy(), SwDoc::SplitTable(), and sw_Line_CollectBox().
bool sw_Line_CollectBox | ( | const SwTableLine *& | rpLine, |
void * | pPara | ||
) |
Definition at line 3025 of file ndtbl.cxx.
References SwTableLine::GetTabBoxes(), SwCollectTableLineBoxes::IsGetValues(), sw_Box_CollectBox(), and sw_BoxSetSplitBoxFormats().
Referenced by sw_Box_CollectBox(), sw_BoxSetSplitBoxFormats(), and sw_GC_Line_Border().
const sal_Unicode T2T_PARA = 0x0a |
Definition at line 108 of file ndtbl.cxx.
Referenced by lcl_DelBox(), and SwNodes::TextToTable().