LibreOffice Module sw (master)  1
Classes | Macros | Typedefs | Functions | Variables
ndtbl.cxx File Reference
#include <memory>
#include <fesh.hxx>
#include <hintids.hxx>
#include <editeng/lrspitem.hxx>
#include <editeng/formatbreakitem.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 <charatr.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 <viscrs.hxx>
#include <swtable.hxx>
#include <swundo.hxx>
#include <tblsel.hxx>
#include <fldbas.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 <swcache.hxx>
#include <ddefld.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 <ftnfrm.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 <o3tl/numeric.hxx>
#include <tools/datetimeutils.hxx>
#include <sal/log.hxx>
Include dependency graph for ndtbl.cxx:

Go to the source code of this file.

Classes

struct  DelTabPara
 Use the ForEach method from PtrArray to recreate Text from a Table. More...
 
struct  FuzzyCompare
 
class  SplitTable_Para
 
struct  SetAFormatTabPara
 

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 SwTableBoxFormatlcl_CreateDfltBoxFormat (SwDoc &rDoc, std::vector< SwTableBoxFormat * > &rBoxFormatArr, sal_uInt16 nCols, sal_uInt8 nId)
 
static SwTableBoxFormatlcl_CreateAFormatBoxFormat (SwDoc &rDoc, std::vector< SwTableBoxFormat * > &rBoxFormatArr, const SwTableAutoFormat &rAutoFormat, 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
 

Macro Definition Documentation

#define CHECK_TABLE (   t)    (t).CheckConsistency();

Definition at line 101 of file ndtbl.cxx.

Referenced by SwDoc::InsertTable().

#define ROWFUZZY   25

Definition at line 2506 of file ndtbl.cxx.

Referenced by FuzzyCompare::operator()(), and SwDoc::SetTabRows().

Typedef Documentation

typedef std::vector<DfltBoxAttrMap_t *> DfltBoxAttrList_t

Definition at line 144 of file ndtbl.cxx.

Definition at line 143 of file ndtbl.cxx.

Function Documentation

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 
)
static

balance lines in table, insert empty boxes so all lines have the size

Definition at line 931 of file ndtbl.cxx.

References SwUndoTextToTable::AddFillBox(), SwNode::GetNodes(), SwTableLine::GetTabBoxes(), SwTable::GetTabLines(), i, SwNodes::InsBoxen(), and SwTableLines::size().

Referenced by SwNodes::TextToTable().

static bool lcl_ChgTableSize ( SwTable rTable)
static
static SwTableBoxFormat* lcl_CreateAFormatBoxFormat ( SwDoc rDoc,
std::vector< SwTableBoxFormat * > &  rBoxFormatArr,
const SwTableAutoFormat rAutoFormat,
sal_uInt16  nCols,
sal_uInt8  nId 
)
static
static SwTableBoxFormat* lcl_CreateDfltBoxFormat ( SwDoc rDoc,
std::vector< SwTableBoxFormat * > &  rBoxFormatArr,
sal_uInt16  nCols,
sal_uInt8  nId 
)
static
static void lcl_DelBox ( SwTableBox pBox,
DelTabPara pDelPara 
)
static
static void lcl_DelLine ( SwTableLine pLine,
DelTabPara pPara 
)
static
static bool lcl_IsFrameInColumn ( const SwCellFrame rFrame,
SwSelBoxes const &  rBoxes 
)
static
static void lcl_RemoveBreaks ( SwContentNode rNode,
SwTableFormat *const  pTableFormat 
)
static
static bool lcl_SetAFormatBox ( FndBox_ rBox,
SetAFormatTabPara pSetPara,
bool  bResetDirect 
)
static
static bool lcl_SetAFormatLine ( FndLine_ rLine,
SetAFormatTabPara pPara,
bool  bResetDirect 
)
static

Definition at line 3609 of file ndtbl.cxx.

References FndLine_::GetBoxes(), and lcl_SetAFormatBox().

Referenced by lcl_SetAFormatBox().

static void lcl_SetDfltBoxAttr ( SwFrameFormat rFormat,
sal_uInt8  nId 
)
static
static void lcl_SetDfltBoxAttr ( SwTableBox rBox,
DfltBoxAttrList_t rBoxFormatArr,
sal_uInt8 const  nId,
SwTableAutoFormat const *const  pAutoFormat = nullptr 
)
static
static void lcl_SetTableBoxWidths ( SwTable rTable,
size_t const  nMaxBoxes,
SwTableBoxFormat rBoxFormat,
SwDoc rDoc,
std::vector< sal_uInt16 > *const  pPositions 
)
static
static void lcl_SetTableBoxWidths2 ( SwTable rTable,
size_t const  nMaxBoxes,
SwTableBoxFormat rBoxFormat,
SwDoc rDoc 
)
static
static void lcl_SplitTable_CpyBox ( SwTableBox pBox,
SplitTable_Para pPara 
)
static
static void lcl_SplitTable_CpyLine ( SwTableLine pLn,
SplitTable_Para pPara 
)
static
void sw_Box_CollectBox ( const SwTableBox pBox,
SwCollectTableLineBoxes pSplPara 
)
void sw_BoxSetSplitBoxFormats ( SwTableBox pBox,
SwCollectTableLineBoxes pSplPara 
)
bool sw_Line_CollectBox ( const SwTableLine *&  rpLine,
void pPara 
)

Variable Documentation

const sal_Unicode T2T_PARA = 0x0a

Definition at line 109 of file ndtbl.cxx.

Referenced by lcl_DelBox(), and SwNodes::TextToTable().