LibreOffice Module sw (master) 1
|
#include <hintids.hxx>
#include <editeng/boxitem.hxx>
#include <editeng/brushitem.hxx>
#include <editeng/frmdiritem.hxx>
#include <fesh.hxx>
#include <fmtornt.hxx>
#include <fmtfsize.hxx>
#include <fmtrowsplt.hxx>
#include <tabcol.hxx>
#include <frmatr.hxx>
#include <cellfrm.hxx>
#include <tabfrm.hxx>
#include <cntfrm.hxx>
#include <txtfrm.hxx>
#include <svx/svxids.hrc>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
#include <IDocumentState.hxx>
#include <IDocumentContentOperations.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <IDocumentLayoutAccess.hxx>
#include <pam.hxx>
#include <swcrsr.hxx>
#include <viscrs.hxx>
#include <swtable.hxx>
#include <htmltbl.hxx>
#include <tblsel.hxx>
#include <swtblfmt.hxx>
#include <ndindex.hxx>
#include <undobj.hxx>
#include <calbck.hxx>
#include <UndoTable.hxx>
#include <o3tl/enumrange.hxx>
#include <o3tl/safeint.hxx>
#include <osl/diagnose.h>
#include <redline.hxx>
Go to the source code of this file.
Macros | |
#define | COLFUZZY 20L |
Functions | |
static bool | IsSame (tools::Long nA, tools::Long nB) |
static void | lcl_GetStartEndCell (const SwCursor &rCursor, SwLayoutFrame *&prStart, SwLayoutFrame *&prEnd) |
static bool | lcl_GetBoxSel (const SwCursor &rCursor, SwSelBoxes &rBoxes, bool bAllCursor=false) |
static void | InsertLine (std::vector< SwTableLine * > &rLineArr, SwTableLine *pLine) |
static bool | lcl_IsAnLower (const SwTableLine *pLine, const SwTableLine *pAssumed) |
static bool | FindLine_ (FndLine_ &rLine, LinesAndTable *pPara) |
static bool | FindBox_ (FndBox_ &rBox, LinesAndTable *pPara) |
static void | lcl_CollectLines (std::vector< SwTableLine * > &rArr, const SwCursor &rCursor, bool bRemoveLines) |
static void | lcl_ProcessRowAttr (std::vector< std::unique_ptr< SwTableFormatCmp > > &rFormatCmp, SwTableLine *pLine, const SfxPoolItem &rNew) |
static void | lcl_ProcessBoxSize (std::vector< std::unique_ptr< SwTableFormatCmp > > &rFormatCmp, SwTableBox *pBox, const SwFormatFrameSize &rNew) |
static void | lcl_ProcessRowSize (std::vector< std::unique_ptr< SwTableFormatCmp > > &rFormatCmp, SwTableLine *pLine, const SwFormatFrameSize &rNew) |
static void | InsertCell (std::vector< SwCellFrame * > &rCellArr, SwCellFrame *pCellFrame) |
static void | lcl_CollectCells (std::vector< SwCellFrame * > &rArr, const SwRect &rUnion, SwTabFrame *pTab) |
static void | lcl_SetLineStyle (SvxBorderLine *pToSet, const Color *pColor, const SvxBorderLine *pBorderLine) |
static sal_uInt16 | lcl_CalcCellFit (const SwLayoutFrame *pCell) |
static void | lcl_CalcSubColValues (std::vector< sal_uInt16 > &rToFill, const SwTabCols &rCols, const SwLayoutFrame *pCell, const SwLayoutFrame *pTab, bool bWishValues) |
static void | lcl_CalcColValues (std::vector< sal_uInt16 > &rToFill, const SwTabCols &rCols, const SwLayoutFrame *pStart, const SwLayoutFrame *pEnd, bool bWishValues) |
Retrieves new values to set the TabCols. More... | |
#define COLFUZZY 20L |
Definition at line 61 of file ndtbl1.cxx.
|
static |
Definition at line 204 of file ndtbl1.cxx.
References FindLine_(), FndBox_::GetBox(), FndBox_::GetLines(), SwTableBox::GetTabLines(), SwTableBox::GetUpper(), InsertLine(), and SwTableLines::size().
Referenced by FindLine_(), and lcl_CollectLines().
|
static |
Definition at line 235 of file ndtbl1.cxx.
References FindBox_(), and FndLine_::GetBoxes().
Referenced by FindBox_().
|
static |
Definition at line 659 of file ndtbl1.cxx.
Referenced by lcl_CollectCells().
|
static |
Definition at line 169 of file ndtbl1.cxx.
Referenced by FindBox_().
|
static |
Definition at line 63 of file ndtbl1.cxx.
References abs(), and COLFUZZY.
Referenced by lcl_CalcColValues().
|
static |
Definition at line 1418 of file ndtbl1.cxx.
References SwTextFrame::CalcFitToContent(), COLFUZZY, SwFrameAreaDefinition::getFrameArea(), SwFrameAreaDefinition::getFramePrintArea(), SwFrame::GetNext(), SwRectFnSet::GetWidth(), SwFrame::IsTextFrame(), SwLayoutFrame::Lower(), and MINLAY.
Referenced by lcl_CalcColValues(), and lcl_CalcSubColValues().
|
static |
Retrieves new values to set the TabCols.
We do not iterate over the TabCols' entries, but over the gaps that describe Cells. We set TabCol entries for which we did not calculate Cells to 0.
bWishValues | == true: We calculate the desired value of all affected Cells for the current Selection/current Cell. If more Cells are within a Column, the highest desired value is returned. We set TabCol entries for which we did not calculate Cells to 0. |
bWishValues | == false: The Selection is expanded vertically. We calculate the minimum value for every Column in the TabCols that intersects with the Selection. |
Definition at line 1521 of file ndtbl1.cxx.
References Col, SwTabCols::Count(), SwFrame::FindTabFrame(), SwLayoutFrame::FirstCell(), SwFrameAreaDefinition::getFrameArea(), SwFrameAreaDefinition::getFramePrintArea(), SwTabCols::GetLeft(), SwRectFnSet::GetLeft(), SwTabCols::GetLeftMin(), SwFrame::GetNextLayoutLeaf(), SwTabCols::GetRight(), SwRectFnSet::GetRight(), SwSelUnion::GetTable(), SwSelUnion::GetUnion(), i, SwLayoutFrame::IsAnLower(), SwFrame::IsCellFrame(), IsFrameInTableSel(), SwFrame::IsRightToLeft(), IsSame(), lcl_CalcCellFit(), lcl_CalcSubColValues(), MakeSelUnions(), MINLAY, NONE, and SwRect::Width().
Referenced by SwDoc::AdjustCellWidth().
|
static |
Definition at line 1459 of file ndtbl1.cxx.
References COLFUZZY, SwTabCols::Count(), SwFrameAreaDefinition::getFrameArea(), SwFrameAreaDefinition::getFramePrintArea(), SwTabCols::GetLeft(), SwRectFnSet::GetLeft(), SwTabCols::GetLeftMin(), SwTabCols::GetRight(), SwRectFnSet::GetRight(), i, lcl_CalcCellFit(), o3tl::make_unsigned(), MINLAY, and SwRect::Width().
Referenced by lcl_CalcColValues().
|
static |
Definition at line 665 of file ndtbl1.cxx.
References SwLayoutFrame::FirstCell(), SwFrameAreaDefinition::getFrameArea(), SwFrame::GetNextLayoutLeaf(), SwFrame::GetUpper(), InsertCell(), SwLayoutFrame::IsAnLower(), SwFrame::IsCellFrame(), and SwRect::Overlaps().
Referenced by SwDoc::GetTabBorders(), SwDoc::SetTabBorders(), and SwDoc::SetTabLineStyle().
|
static |
Definition at line 244 of file ndtbl1.cxx.
References FindBox_(), ForEach_FndLineCopyCol(), SwTable::GetTabLines(), i, lcl_GetBoxSel(), and lcl_IsAnLower().
Referenced by SwDoc::BalanceRowHeight(), SwDoc::GetRowBackground(), SwDoc::GetRowHeight(), SwDoc::GetRowSplit(), SwDoc::HasRowNotTracked(), SwDoc::SetRowBackground(), SwDoc::SetRowHeight(), SwDoc::SetRowNotTracked(), and SwDoc::SetRowSplit().
|
static |
Definition at line 145 of file ndtbl1.cxx.
References o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::empty(), SwNode::FindTableBoxStartNode(), SwNode::FindTableNode(), SwNode::GetIndex(), SwPaM::GetNext(), SwPaM::GetPointNode(), SwTableNode::GetTable(), GetTableSelCrs(), and o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::insert().
Referenced by SwDoc::GetBoxAlign(), SwDoc::GetBoxAttr(), lcl_CollectLines(), and SwDoc::SetBoxAttr().
|
static |
Definition at line 118 of file ndtbl1.cxx.
References IDocumentLayoutAccess::GetCurrentLayout(), SwNode::GetDoc(), SwDoc::getIDocumentLayoutAccess(), SwContentNode::getLayoutFrame(), SwPaM::GetMarkContentNode(), SwShellCursor::GetMkPos(), SwPaM::GetPointContentNode(), SwShellCursor::GetPtPos(), and SwFrame::GetUpper().
Referenced by SwDoc::AdjustCellWidth(), SwDoc::GetTabBorders(), SwDoc::SetTabBorders(), and SwDoc::SetTabLineStyle().
|
static |
Definition at line 175 of file ndtbl1.cxx.
References SwTableLine::GetUpper(), and SwTableBox::GetUpper().
Referenced by lcl_CollectLines().
|
static |
Definition at line 311 of file ndtbl1.cxx.
References SwTableLines::empty(), SvxSizeItem::GetHeight(), SwTableBox::GetTabLines(), lcl_ProcessRowSize(), SvxSizeItem::SetHeight(), and SwTableLines::size().
Referenced by lcl_ProcessRowSize().
|
static |
Definition at line 284 of file ndtbl1.cxx.
References SwTableLine::ChgFrameFormat(), SwTableLine::ClaimFrameFormat(), SwTableLine::GetFrameFormat(), and SwFormat::SetFormatAttr().
Referenced by lcl_ProcessRowSize(), SwDoc::SetRowBackground(), SwDoc::SetRowNotTracked(), and SwDoc::SetRowSplit().
|
static |
Definition at line 302 of file ndtbl1.cxx.
References SwTableLine::GetTabBoxes(), lcl_ProcessBoxSize(), and lcl_ProcessRowAttr().
Referenced by SwDoc::BalanceRowHeight(), lcl_ProcessBoxSize(), and SwDoc::SetRowHeight().
|
static |
Definition at line 950 of file ndtbl1.cxx.
Referenced by SwDoc::SetTabLineStyle().