LibreOffice Module sw (master)  1
Classes | Macros | Typedefs | Functions
tblsel.cxx File Reference
#include <editeng/boxitem.hxx>
#include <editeng/protitem.hxx>
#include <hintids.hxx>
#include <fmtanchr.hxx>
#include <fmtfsize.hxx>
#include <frmatr.hxx>
#include <tblsel.hxx>
#include <crsrsh.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
#include <IDocumentLayoutAccess.hxx>
#include <docary.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
#include <ndole.hxx>
#include <swtable.hxx>
#include <cntfrm.hxx>
#include <tabfrm.hxx>
#include <rowfrm.hxx>
#include <cellfrm.hxx>
#include <pagefrm.hxx>
#include <rootfrm.hxx>
#include <viscrs.hxx>
#include <swtblfmt.hxx>
#include <UndoTable.hxx>
#include <mvsave.hxx>
#include <sectfrm.hxx>
#include <frmtool.hxx>
#include <calbck.hxx>
#include <deque>
#include <memory>
Include dependency graph for tblsel.cxx:

Go to the source code of this file.

Classes

struct  CmpLPt
 
struct  Sort_CellFrame
 

Macros

#define COLFUZZY   20L
 

Typedefs

typedef o3tl::sorted_vector< CmpLPtMergePos
 

Functions

static const SwLayoutFramelcl_FindCellFrame (const SwLayoutFrame *pLay)
 
static const SwLayoutFramelcl_FindNextCellFrame (const SwLayoutFrame *pLay)
 
void GetTableSelCrs (const SwCursorShell &rShell, SwSelBoxes &rBoxes)
 
void GetTableSelCrs (const SwTableCursor &rTableCursor, SwSelBoxes &rBoxes)
 
void GetTableSel (const SwCursorShell &rShell, SwSelBoxes &rBoxes, const SwTableSearchType eSearchType)
 
void GetTableSel (const SwCursor &rCursor, SwSelBoxes &rBoxes, const SwTableSearchType eSearchType)
 
void GetTableSel (const SwLayoutFrame *pStart, const SwLayoutFrame *pEnd, SwSelBoxes &rBoxes, SwCellFrames *pCells, const SwTableSearchType eSearchType)
 
bool ChkChartSel (const SwNode &rSttNd, const SwNode &rEndNd)
 
bool IsFrameInTableSel (const SwRect &rUnion, const SwFrame *pCell)
 
bool GetAutoSumSel (const SwCursorShell &rShell, SwCellFrames &rBoxes)
 
bool HasProtectedCells (const SwSelBoxes &rBoxes)
 
static void lcl_InsTableBox (SwTableNode *pTableNd, SwDoc *pDoc, SwTableBox *pBox, sal_uInt16 nInsPos, sal_uInt16 nCnt=1)
 
bool IsEmptyBox (const SwTableBox &rBox, SwPaM &rPam)
 
void GetMergeSel (const SwPaM &rPam, SwSelBoxes &rBoxes, SwTableBox **ppMergeBox, SwUndoTableMerge *pUndo)
 
static bool lcl_CheckCol (FndBox_ const &, bool *pPara)
 
static bool lcl_CheckRow (const FndLine_ &rFndLine, bool *pPara)
 
TableMergeErr CheckMergeSel (const SwPaM &rPam)
 
TableMergeErr CheckMergeSel (const SwSelBoxes &rBoxes)
 
static SwTwips lcl_CalcWish (const SwLayoutFrame *pCell, long nWish, const long nAct)
 
static void lcl_FindStartEndRow (const SwLayoutFrame *&rpStart, const SwLayoutFrame *&rpEnd, const bool bChkProtected)
 
static void lcl_FindStartEndCol (const SwLayoutFrame *&rpStart, const SwLayoutFrame *&rpEnd, const bool bChkProtected)
 
void MakeSelUnions (SwSelUnions &rUnions, const SwLayoutFrame *pStart, const SwLayoutFrame *pEnd, const SwTableSearchType eSearchType)
 
bool CheckSplitCells (const SwCursorShell &rShell, sal_uInt16 nDiv, const SwTableSearchType eSearchType)
 
bool CheckSplitCells (const SwCursor &rCursor, sal_uInt16 nDiv, const SwTableSearchType eSearchType)
 
static void lcl_InsertRow (SwTableLine const &rLine, SwLayoutFrame *pUpper, SwFrame *pSibling)
 
static void FndBoxCopyCol (SwTableBox *pBox, FndPara *pFndPara)
 
static void FndLineCopyCol (SwTableLine *pLine, FndPara *pFndPara)
 
void ForEach_FndLineCopyCol (SwTableLines &rLines, FndPara *pFndPara)
 
void UnsetFollow (SwFlowFrame *pTab)
 
static bool lcl_IsLineOfTableFrame (const SwTabFrame &rTable, const SwFrame &rChk)
 
static void lcl_UpdateRepeatedHeadlines (SwTabFrame &rTabFrame, bool bCalcLowers)
 

Macro Definition Documentation

#define COLFUZZY   20L

Definition at line 54 of file tblsel.cxx.

Referenced by GetMergeSel().

Typedef Documentation

Definition at line 88 of file tblsel.cxx.

Function Documentation

TableMergeErr CheckMergeSel ( const SwPaM rPam)
TableMergeErr CheckMergeSel ( const SwSelBoxes rBoxes)
bool CheckSplitCells ( const SwCursorShell rShell,
sal_uInt16  nDiv,
const SwTableSearchType  eSearchType 
)
bool CheckSplitCells ( const SwCursor rCursor,
sal_uInt16  nDiv,
const SwTableSearchType  eSearchType 
)
bool ChkChartSel ( const SwNode rSttNd,
const SwNode rEndNd 
)
static void FndBoxCopyCol ( SwTableBox pBox,
FndPara pFndPara 
)
static
static void FndLineCopyCol ( SwTableLine pLine,
FndPara pFndPara 
)
static

Definition at line 2080 of file tblsel.cxx.

References FndBoxCopyCol(), FndBox_::GetLines(), and FndPara::pFndBox.

Referenced by ForEach_FndLineCopyCol().

void ForEach_FndLineCopyCol ( SwTableLines rLines,
FndPara pFndPara 
)
bool GetAutoSumSel ( const SwCursorShell rShell,
SwCellFrames rBoxes 
)
void GetMergeSel ( const SwPaM rPam,
SwSelBoxes rBoxes,
SwTableBox **  ppMergeBox,
SwUndoTableMerge pUndo 
)

Definition at line 917 of file tblsel.cxx.

References SwUndoTableMerge::AddNewBox(), IDocumentContentOperations::AppendTextNode(), SwIndex::Assign(), SwNodeIndex::Assign(), ATT_VAR_SIZE, o3tl::sorted_vector< Value, Compare, Find, class >::begin(), SwRect::Bottom(), SwTableBox::ClaimFrameFormat(), o3tl::sorted_vector< Value, Compare, Find, class >::clear(), COLFUZZY, DEFAULT, SwNodes::Delete(), IDocumentUndoRedo::DoesUndo(), IDocumentUndoRedo::DoUndo(), o3tl::sorted_vector< Value, Compare, Find, class >::empty(), o3tl::sorted_vector< Value, Compare, Find, class >::erase(), SwLayoutFrame::FirstCell(), SwFormat::GetAttrSet(), SwFormat::GetBox(), SwTableLine::GetBoxPos(), SwPaM::GetContentNode(), IDocumentLayoutAccess::GetCurrentLayout(), SwFormat::GetDoc(), SwNode::GetDoc(), SwTabFrame::GetFirstNonHeadlineRow(), SwLayoutFrame::GetFormat(), SwFrameAreaDefinition::getFrameArea(), SwTableBox::GetFrameFormat(), SwFormat::GetFrameSize(), SwDoc::getIDocumentContentOperations(), SwDoc::getIDocumentLayoutAccess(), SwDoc::GetIDocumentUndoRedo(), SfxItemSet::GetItemState(), SwContentNode::getLayoutFrame(), SwFrame::GetNext(), SwDoc::GetNodes(), SwPaM::GetPoint(), SwTableBox::GetSttIdx(), SwTableLine::GetTabBoxes(), SwTabFrame::GetTable(), SwTable::GetTabSortBoxes(), SwTextNode::GetText(), SwNode::GetTextNode(), SwTableBox::GetUpper(), SwFrame::GetUpper(), SvxSizeItem::GetWidth(), i, o3tl::sorted_vector< Value, Compare, Find, class >::insert(), SwLayoutFrame::IsAnLower(), SwFrame::IsCellFrame(), IsEmptyBox(), SwFlowFrame::IsFollow(), SwRect::IsOver(), SwFrame::IsRowFrame(), lcl_FindNextCellFrame(), lcl_InsTableBox(), SwRect::Left(), SwContentNode::Len(), SwLayoutFrame::Lower(), MakeSelUnions(), SwUndoTableMerge::MoveBoxContent(), IDocumentContentOperations::MoveNodeRange(), SwPosition::nContent, SwPosition::nNode, CmpLPt::pSelBox, RES_BOX, SwRect::Right(), sal_False, sal_True, SwUndoTableMerge::SaveCollection(), SwFormat::SetFormatAttr(), SvxBoxItem::SetLine(), o3tl::sorted_vector< Value, Compare, Find, class >::size(), SwRect::Top(), SwRect::Width(), CmpLPt::X(), Y, and CmpLPt::Y().

Referenced by SwTable::PrepareMerge().

void GetTableSel ( const SwCursorShell rShell,
SwSelBoxes rBoxes,
const SwTableSearchType  eSearchType 
)
void GetTableSel ( const SwCursor rCursor,
SwSelBoxes rBoxes,
const SwTableSearchType  eSearchType 
)
void GetTableSel ( const SwLayoutFrame pStart,
const SwLayoutFrame pEnd,
SwSelBoxes rBoxes,
SwCellFrames pCells,
const SwTableSearchType  eSearchType 
)
void GetTableSelCrs ( const SwCursorShell rShell,
SwSelBoxes rBoxes 
)
void GetTableSelCrs ( const SwTableCursor rTableCursor,
SwSelBoxes rBoxes 
)
bool HasProtectedCells ( const SwSelBoxes rBoxes)
bool IsEmptyBox ( const SwTableBox rBox,
SwPaM rPam 
)
bool IsFrameInTableSel ( const SwRect rUnion,
const SwFrame pCell 
)
static SwTwips lcl_CalcWish ( const SwLayoutFrame pCell,
long  nWish,
const long  nAct 
)
static
static bool lcl_CheckCol ( FndBox_ const &  rFndBox,
bool *  pPara 
)
static
static bool lcl_CheckRow ( const FndLine_ rFndLine,
bool *  pPara 
)
static

Definition at line 1408 of file tblsel.cxx.

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

Referenced by CheckMergeSel(), and lcl_CheckCol().

static const SwLayoutFrame* lcl_FindCellFrame ( const SwLayoutFrame pLay)
static

Definition at line 99 of file tblsel.cxx.

References SwFrame::GetUpper(), and SwFrame::IsCellFrame().

Referenced by MakeSelUnions().

static const SwLayoutFrame* lcl_FindNextCellFrame ( const SwLayoutFrame pLay)
static
static void lcl_FindStartEndCol ( const SwLayoutFrame *&  rpStart,
const SwLayoutFrame *&  rpEnd,
const bool  bChkProtected 
)
static
static void lcl_FindStartEndRow ( const SwLayoutFrame *&  rpStart,
const SwLayoutFrame *&  rpEnd,
const bool  bChkProtected 
)
static
static void lcl_InsertRow ( SwTableLine const &  rLine,
SwLayoutFrame pUpper,
SwFrame pSibling 
)
static
static void lcl_InsTableBox ( SwTableNode pTableNd,
SwDoc pDoc,
SwTableBox pBox,
sal_uInt16  nInsPos,
sal_uInt16  nCnt = 1 
)
static
static bool lcl_IsLineOfTableFrame ( const SwTabFrame rTable,
const SwFrame rChk 
)
static
static void lcl_UpdateRepeatedHeadlines ( SwTabFrame rTabFrame,
bool  bCalcLowers 
)
static
void MakeSelUnions ( SwSelUnions rUnions,
const SwLayoutFrame pStart,
const SwLayoutFrame pEnd,
const SwTableSearchType  eSearchType 
)
void UnsetFollow ( SwFlowFrame pTab)
inline

Definition at line 2155 of file tblsel.cxx.

References SwFlowFrame::m_pPrecede.

Referenced by FndBox_::DelFrames().