61 #include <viewimp.hxx>
82 SwNodeIndex aEndNdIdx( *aSttIdx.GetNode().EndOfSectionNode() );
84 if (!pTextNd || !pTextNd->GetText().isEmpty() ||
100 ((RndStdIds::FLY_AT_PARA == pAnchor->
GetAnchorId()) ||
101 (RndStdIds::FLY_AT_CHAR == pAnchor->
GetAnchorId())) &&
102 aSttIdx <= pAPos->
nNode && pAPos->
nNode <= aEndNdIdx )
115 pTextNd->InsertText( *pNewClpText,
SwIndex( pTextNd ) );
130 if ((RndStdIds::FLY_AT_PARA == aAnchor.GetAnchorId()) ||
131 (RndStdIds::FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
132 (RndStdIds::FLY_AT_FLY == aAnchor.GetAnchorId()) ||
133 (RndStdIds::FLY_AS_CHAR == aAnchor.GetAnchorId()))
136 if ( RndStdIds::FLY_AS_CHAR == aAnchor.GetAnchorId() )
140 aAnchor.SetAnchor( &aPos );
147 if( rSpzFrameFormats[ 0 ] != pFlyFormat )
153 assert( !inserted &&
"Fly not contained in Spz-Array" );
156 if ( RndStdIds::FLY_AS_CHAR == aAnchor.GetAnchorId() )
164 pTextNd->GetTextAttrForCharAt(
169 pTextNd->EraseText( rIdx, 1 );
187 aAnchor.SetAnchor( &aPos );
201 if ((RndStdIds::FLY_AT_PARA == aAnchor.GetAnchorId()) ||
202 (RndStdIds::FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
203 (RndStdIds::FLY_AT_FLY == aAnchor.GetAnchorId()) ||
204 (RndStdIds::FLY_AS_CHAR == aAnchor.GetAnchorId()))
228 pF = static_cast<const SwContentFrame*>(pF)->GetFollow();
240 Point& rNewPos,
bool bCheckFlyRecur )
244 std::pair<Point, bool>
const tmp(rInsPt,
false);
248 if( pTmpFly && bCheckFlyRecur && pFly->
IsUpperOf( *pTmpFly ) )
252 else if ( RndStdIds::FLY_AT_FLY == rAnchor.
GetAnchorId() )
263 rAnchor.
SetType( RndStdIds::FLY_AT_PAGE );
275 const Point& rInsPt,
bool bIsMove,
bool bSelectInsert )
285 else if( bSelectInsert )
294 Size aSiz( rInsPt.X() - rSttPt.X(), rInsPt.Y() - rSttPt.Y() );
295 for(
size_t i = 0;
i < nMarkCount; ++
i )
303 bool bInsWithFormat =
true;
309 if( pSrcDrwView->IsGroupEntered() ||
310 (RndStdIds::FLY_AS_CHAR != rAnchor.
GetAnchorId()) )
314 GetDoc() == pDestDoc,
false );
317 bInsWithFormat =
false;
326 if ((RndStdIds::FLY_AT_PARA == aAnchor.
GetAnchorId()) ||
327 (RndStdIds::FLY_AT_CHAR == aAnchor.
GetAnchorId()) ||
328 (RndStdIds::FLY_AT_FLY == aAnchor.
GetAnchorId()) ||
331 if (
this == &rDestShell )
345 rDestShell, aAnchor, aNewAnch,
false );
354 pCursor->
GetNode(),
nullptr, rInsPt,
359 else if ( RndStdIds::FLY_AT_PAGE == aAnchor.
GetAnchorId() )
370 if( pSrcDrwView->IsGroupEntered() ||
388 if ( RndStdIds::FLY_AS_CHAR != aAnchor.
GetAnchorId() )
390 Point aPos( rInsPt );
400 pDrawFormat->PosAttrSet();
408 pDestDrwView->
MarkObj( pNew, pDestPgView );
414 if ( bIsMove && bRet )
416 if( &rDestShell ==
this )
418 const SdrMarkList aList( pSrcDrwView->GetMarkedObjectList() );
419 pSrcDrwView->UnmarkAll();
421 for (
size_t i = 0, nMrkCnt = aMrkList.
GetMarkCount();
i < nMrkCnt; ++
i )
424 pSrcDrwView->MarkObj( pObj, pSrcPgView );
427 for (
size_t i = 0, nMrkCnt = aList.GetMarkCount();
i < nMrkCnt; ++
i )
429 SdrObject *pObj = aList.GetMark(
i )->GetMarkedSdrObj();
430 pSrcDrwView->MarkObj( pObj, pSrcPgView );
441 const Point& rInsPt,
bool bIsMove,
bool bSelectInsert )
445 OSL_ENSURE(
this == &rDestShell || !rDestShell.
IsObjSelected(),
446 "Dest-Shell cannot be in Obj-Mode" );
454 bool bCopyIsMove =
mxDoc->IsCopyIsMove();
457 mxDoc->SetCopyIsMove(
true );
475 if ((RndStdIds::FLY_AT_PARA == aAnchor.GetAnchorId()) ||
476 (RndStdIds::FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
477 (RndStdIds::FLY_AT_FLY == aAnchor.GetAnchorId()) ||
478 (RndStdIds::FLY_AS_CHAR == aAnchor.GetAnchorId()))
480 if (
this == &rDestShell )
503 rDestShell, aAnchor, aNewAnch,
true );
513 pFly, rInsPt, rDestShell, aAnchor,
514 aNewAnch,
GetDoc() == rDestShell.GetDoc());
517 else if ( RndStdIds::FLY_AT_PAGE == aAnchor.GetAnchorId() )
526 OSL_ENSURE(
false,
"what anchor is it?" );
534 if ( RndStdIds::FLY_AS_CHAR != aAnchor.GetAnchorId() )
536 Point aPos( rInsPt );
565 bRet =
CopyDrawSel( rDestShell, rSttPt, rInsPt, bIsMove, bSelectInsert );
576 aBoxes.
empty() ?
nullptr : aBoxes[0]->GetSttNd()->FindTableNode());
577 if (
nullptr != pTableNd)
579 std::unique_ptr<SwPosition> pDstPos;
580 if(
this == &rDestShell )
587 if( !pDstPos->nNode.GetNode().IsNoTextNode() )
602 bIsMove &&
this == &rDestShell &&
603 aBoxes.
size() == pTableNd->GetTable().
604 GetTabSortBoxes().size(),
605 this != &rDestShell );
607 if(
this != &rDestShell )
616 if(
this == &rDestShell )
624 if(
this == &rDestShell )
641 mxDoc->SetCopyIsMove( bCopyIsMove );
649 for( nActCnt = 0; rDestShell.
ActionPend(); ++nActCnt )
652 for( ; nActCnt; --nActCnt )
665 typedef std::shared_ptr<SwPaM> PaMPtr;
666 typedef std::shared_ptr<SwPosition> PositionPtr;
667 typedef std::pair< PaMPtr, PositionPtr > Insertion;
669 bool PamHasSelection(
const SwPaM& rPaM)
697 const SwNodeIndex* pIdx = pSpzFormat->GetContent().GetContentIdx();
698 if (!pIdx || pFlyNode != &pIdx->
GetNode())
715 SwPaM aCpyPam( aIdx );
727 aCpyPam.GetPoint()->nContent.Assign( pCNd, 0 );
750 std::vector< Insertion > aCopyVector;
752 const sal_uInt32 nSelCount = aCpyPam.GetPoint()->nNode.GetIndex()
753 - aCpyPam.GetMark()->nNode.GetIndex();
754 sal_uInt32
nCount = nSelCount;
757 SwPaM* pCurrCursor = pStartCursor;
762 while( nCursorCount > 1 && *pCurrCursor->
GetPoint() ==
766 pCurrCursor = pCurrCursor->
GetNext();
767 pStartCursor = pCurrCursor;
771 bool bCompletePara =
false;
772 sal_uInt16 nMove = 0;
776 OSL_ENSURE( aIdx.GetNode().GetContentNode(),
"Who filled the clipboard?!" );
777 if( aIdx.GetNode().GetContentNode() )
779 Insertion aInsertion( std::make_shared<SwPaM>( aIdx ),
780 std::make_shared<SwPosition>( aInsertPos ) );
782 aInsertion.first->SetMark();
783 if( pStartCursor == pCurrCursor->
GetNext() )
786 aStartPos = aInsertPos;
787 SwCursor aCursor( aStartPos,
nullptr);
793 bCompletePara = nCount > 0;
798 pCurrCursor = pCurrCursor->
GetNext();
799 aInsertPos = *pCurrCursor->
GetPoint();
805 aInsertion.first->GetPoint()->
nNode = aIdx;
807 aInsertion.first->GetPoint()->nContent =
808 aInsertion.first->GetContentNode()->Len();
809 aCopyVector.push_back( aInsertion );
814 if( !nCount && nCursorCount )
816 nCount = std::min( nSelCount, nCursorCount );
820 for (
auto const& item : aCopyVector)
823 SwPaM& rCopy = *item.first;
848 bool bDelTable =
true;
854 if (pSrcNd &&
nullptr != pDestNd &&
865 bool bParkTableCursor =
false;
875 bParkTableCursor =
true;
877 else if( !PamHasSelection(rPaM) && rPaM.
GetNext() == &rPaM &&
884 OSL_ENSURE( pBox,
"Box is not in this table" );
889 if( !bParkTableCursor )
902 if( bParkTableCursor )
913 SwPaM const tmpPam(rNode, 0,
914 rNode, pContentNode ? pContentNode->Len() : 0);
920 else if( *aCpyPam.GetPoint() == *aCpyPam.GetMark() &&
929 bool bInsWithFormat =
true;
933 (RndStdIds::FLY_AS_CHAR != pCpyFormat->GetAnchor().GetAnchorId()) )
935 const SdrObject* pSdrObj = pCpyFormat->FindSdrObject();
948 const Point aPoint( 0, 0 );
957 Point aGrpAnchor( 0, 0 );
963 if(
nullptr != pOwner)
974 bInsWithFormat =
false;
981 if ((RndStdIds::FLY_AT_PARA == aAnchor.GetAnchorId()) ||
982 (RndStdIds::FLY_AT_CHAR == aAnchor.GetAnchorId()) ||
983 (RndStdIds::FLY_AS_CHAR == aAnchor.GetAnchorId()))
990 const SdrObject *pCpyObj = pCpyFormat->FindSdrObject();
994 else if (pCpyFormat->Which() ==
RES_FLYFRMFMT && IsInTextBox(pCpyFormat))
1006 aAnchor.SetAnchor( pPos );
1008 else if ( RndStdIds::FLY_AT_PAGE == aAnchor.GetAnchorId() )
1012 else if( RndStdIds::FLY_AT_FLY == aAnchor.GetAnchorId() )
1016 nullptr, aPt, *
this, aAnchor, aPt, false );
1045 pDrawFormat->PosAttrSet();
1061 FindTableBoxStartNode();
1064 aCpyPam.GetPoint()->nNode != aCpyPam.GetMark()->nNode )
1093 nIdx <= nEndIdx; ++nIdx)
1095 SwTextNode *
const pTextNode = rDestNodes[nIdx]->GetTextNode();
1119 for( ; nActCnt; --nActCnt )
1159 SwPaM aTmp(aBefore);
1183 SwPaM aPara( aIdx );
1188 if( !
GetDoc()->GetSpzFrameFormats()->empty() )
1194 for (
auto pCpyFormat : *
GetDoc()->GetSpzFrameFormats() )
1197 if ((RndStdIds::FLY_AT_PAGE == aAnchor.GetAnchorId()) &&
1198 aAnchor.GetPageNum() >= nStartPage && aAnchor.GetPageNum() <= nEndPage)
1200 aAnchor.
SetPageNum( aAnchor.GetPageNum() - nStartPage + 1);
1217 OSL_ENSURE(
Imp()->
HasDrawView(),
"GetDrawObjGraphic without DrawView?" );
1219 bool bConvert =
true;
1232 if( SotClipboardFormatId::GDIMETAFILE == nFormat )
1234 if( GraphicType::Bitmap != aGrf.
GetType() )
1246 pVirtDev->EnableOutput(
false );
1250 pVirtDev->SetMapMode( aTmp );
1254 aGrf.
Draw( pVirtDev, aPt, aSz );
1261 else if( GraphicType::Bitmap == aGrf.
GetType() )
1274 MapMode aTmp( MapUnit::MapTwip );
1275 pVirtDev->SetMapMode( aTmp );
1276 if( pVirtDev->SetOutputSize( aSz ) )
1279 rGrf = pVirtDev->GetBitmapEx(
Point(), aSz );
1290 else if( SotClipboardFormatId::GDIMETAFILE == nFormat )
1292 else if( SotClipboardFormatId::BITMAP == nFormat || SotClipboardFormatId::PNG == nFormat )
1307 while( aIter.IsMore() )
1320 aGraphic = *pGraphic;
1345 std::unique_ptr< FmFormModel > pModel(
1348 GetDoc()->GetDocShell()));
1350 pModel->GetItemPool().FreezeIdRanges();
1364 if( pModel->GetPageCount() > 0 &&
1365 1 == pModel->GetPage(0)->GetObjCount() &&
1372 SdrObject* pClpObj = pModel->GetPage(0)->GetObj(0);
1375 if(
SwPasteSdr::SetAttr == nAction && dynamic_cast<const SwVirtFlyDrawObj*>( pOldObj) !=
nullptr )
1383 const SwFrame* pAnchor(
nullptr);
1384 if( dynamic_cast<const SwVirtFlyDrawObj*>( pOldObj) !=
nullptr )
1403 Size aOldObjSize( aOldObjRect.GetSize() );
1405 Size aNewSize( aNewRect.GetSize() );
1407 Fraction aScaleWidth( aOldObjSize.Width(), aNewSize.Width() );
1408 Fraction aScaleHeight( aOldObjSize.Height(), aNewSize.Height());
1409 pNewObj->
NbcResize( aNewRect.TopLeft(), aScaleWidth, aScaleHeight);
1411 Point aVec = aOldObjRect.TopLeft() - aNewRect.TopLeft();
1414 if( dynamic_cast<const SdrUnoObj*>( pNewObj) != nullptr )
1416 else if( dynamic_cast<const SdrUnoObj*>( pOldObj) !=
nullptr )
1421 if( dynamic_cast<const SwVirtFlyDrawObj*>( pOldObj) != nullptr )
1434 OSL_ENSURE( pTmp,
"Where's my Master?" );
1438 if(
auto pCaptionObj = dynamic_cast<SdrCaptionObj*>( pOldObj))
1439 aNullPt = pCaptionObj->GetTailPos();
1441 aNullPt = aOldObjRect.TopLeft();
1494 if(GraphicType::NONE != rGraphic.
GetType() && GraphicType::Default != rGraphic.
GetType())
1528 pView->
Paste(*pModel, aPos,
nullptr, SdrInsertFlags::NONE);
1533 const Point aNull( 0, 0 );
1534 for(
size_t i=0;
i < nCnt; ++
i )
1544 if( dynamic_cast<const SdrUnoObj*>( pObj) !=
nullptr )
1582 if(dynamic_cast< SdrGrafObj* >(pObj))
1594 pNewGrafObj->SetGraphicLink(rURL);
1596 pResult = pNewGrafObj;
1600 pView->
AddUndo(std::make_unique<SdrUndoAttrObj>(*pObj));
bool IsTableComplex() const
Instances of SwFields and those derived from it occur 0 to n times.
SwFrame * FindFooterOrHeader()
const SwEndNode * EndOfSectionNode() const
Starts a section of nodes in the document model.
bool GotoPage(sal_uInt16 nPage)
bool Paste(SwDoc &rClpDoc, bool bNestedTable=false)
Base class of the Writer layout elements.
Represents the visualization of a paragraph.
sal_uLong GetIndex() const
SwNode & GetNode(bool bPoint=true) const
virtual const SwFlyFrameFormat * GetFormat() const override
size_t GetMarkCount() const
Marks a position in the document model.
virtual const tools::Rectangle & GetCurrentBoundRect() const
const SwPageFrame * GetPageAtPos(const Point &rPt, const Size *pSize=nullptr, bool bExtend=false) const
Point rPt: The point that should be used to find the page Size pSize: If given, we return the (first)...
void SetDesignMode(bool bOn=true)
SwPaM * GetCursor(bool bMakeTableCursor=true) const
Return pointer to the current shell cursor.
const SwTableBox * GetTableBox(const OUString &rName, const bool bPerformValidCheck=false) const
bool UpdateParRsid(SwTextNode *pTextNode, sal_uInt32 nVal=0)
void SaveTableBoxContent(const SwPosition *pPos=nullptr)
bool Set(const SfxItemSet &, bool bDeep=true)
void PastePages(SwFEShell &rToFill, sal_uInt16 nStartPage, sal_uInt16 nEndPage)
Paste some pages into another doc - used in mailmerge.
void ReplaceObjectAtView(SdrObject *pOldObj, SdrPageView &rPV, SdrObject *pNewObj, bool bMark=true)
virtual void NbcResize(const Point &rRef, const Fraction &xFact, const Fraction &yFact)
virtual void SetRedlineFlags_intern(RedlineFlags eMode)=0
Set a new redline mode.
static bool lcl_SetAnchor(const SwPosition &rPos, const SwNode &rNd, SwFlyFrame const *pFly, const Point &rInsPt, SwFEShell const &rDestShell, SwFormatAnchor &rAnchor, Point &rNewPos, bool bCheckFlyRecur)
virtual bool Paste(const SdrModel &rMod, const Point &rPos, SdrObjList *pLst, SdrInsertFlags nOptions)
SdrObject * CloneSdrObj(const SdrObject &, bool bMoveWithinDoc=false, bool bInsInPage=true)
const SwPosition * GetMark() const
bool IsDesignMode() const
SwContentFrame * getLayoutFrame(const SwRootFrame *, const SwPosition *pPos=nullptr, std::pair< Point, bool > const *pViewPosAndCalcFrame=nullptr) const
virtual SwUndoId EndUndo(SwUndoId const eUndoId, SwRewriter const *const pRewriter)=0
Closes undo block.
virtual SwFrameFormat * CopyLayoutFormat(const SwFrameFormat &rSrc, const SwFormatAnchor &rNewAnchor, bool bSetTextFlyAtt, bool bMakeFrames)=0
comphelper::OInterfaceContainerHelper2 & GetPasteListeners()
constexpr TypedWhichId< SwFormatFlyCnt > RES_TXTATR_FLYCNT(57)
sal_uInt64 Seek(sal_uInt64 nPos)
bool IsColumnSelection() const
SwUndoId EndUndo(SwUndoId eUndoId=SwUndoId::EMPTY, const SwRewriter *pRewriter=nullptr)
Closes parenthesis of nUndoId, not used by UI.
SdrMark * GetMark(size_t nNum) const
void Pos(const Point &rNew)
bool GetGrfSize(Size &) const
IDocumentUndoRedo & GetIDocumentUndoRedo()
bool HasShellFocus() const
static void Free(SdrObject *&_rpObject)
SwFlyFrame * GetSelectedFlyFrame() const
IDocumentContentOperations const & getIDocumentContentOperations() const
SwLayoutFrame * GetThisFrame(const SwLayoutFrame *pFrame)
bool HasWriterListeners() const
The root element of a Writer document layout.
SAL_DLLPRIVATE bool CopyDrawSel(SwFEShell &rDestShell, const Point &rSttPt, const Point &rInsPt, bool bIsMove, bool bSelectInsert)
Methods for copying of draw objects.
static SwFrameFormat * getOtherTextBoxFormat(const SwFrameFormat *pFormat, sal_uInt16 nType)
If we have an associated TextFrame, then return that.
const SwFrameFormats * GetSpzFrameFormats() const
void ClearBoxNumAttrs(const SwNodeIndex &rNode)
bool InsertObjectAtView(SdrObject *pObj, SdrPageView &rPV, SdrInsertFlags nOptions=SdrInsertFlags::NONE)
bool IsInHeaderFooter(const SwNodeIndex &rIdx) const
const OUString & GetName() const
void ImpSetAnchorPos(const Point &rPnt)
virtual const tools::Rectangle & GetSnapRect() const
void SelectFlyFrame(SwFlyFrame &rFrame)
virtual void LockExpFields()=0
IDocumentContentOperations & getIDocumentContentOperations()
Provides access to the content operations interface.
virtual void UpdateExpFields(SwTextField *pField, bool bUpdateRefFields)=0
IDocumentFieldsAccess const & getIDocumentFieldsAccess() const
void Delete(const SwNodeIndex &rPos, sal_uLong nNodes=1)
delete nodes
virtual bool GetModelPositionForViewPoint(SwPosition *, Point &, SwCursorMoveState *=nullptr, bool bTestBackground=false) const override
Primary passes the call to the first page.
SwTableNode * GetTableNode()
BitmapEx GetMarkedObjBitmapEx(bool bNoVDevIfOneBmpMarked=false) const
rtl::Reference< SwDoc > mxDoc
The document; never 0.
const SwRect & getFrameArea() const
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
const SwTextFormatColl * GetDfltTextFormatColl() const
check if target position is in fly anchored at source range
void SetGraphic(const Graphic &rGrf)
sal_uLong GetIndex() const
virtual void DelLayoutFormat(SwFrameFormat *pFormat)=0
static bool isTextBox(const SwFrameFormat *pFormat, sal_uInt16 nType)
Is the frame format a text box?
virtual bool IsExpFieldsLocked() const =0
virtual void DoUndo(bool const bDoUndo)=0
Enable/Disable Undo.
const SwTable & GetTable() const
comphelper::OInterfaceContainerHelper2 m_aPasteListeners
SwFlyFrame * FindFlyFrame()
const IDocumentDrawModelAccess & getIDocumentDrawModelAccess() const
Provides access to the document draw model interface.
bool IsUpperOf(const SwFlyFrame &_rLower) const
bool MovePage(SwWhichPage, SwPosPage)
GDIMetaFile GetMarkedObjMetaFile(bool bNoVDevIfOneMtfMarked=false) const
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
SdrObject * GetMarkedSdrObj() const
PaM is Point and Mark: a selection of the document model.
const SfxItemPool & GetAttrPool() const
void AddUndo(std::unique_ptr< SdrUndoAction > pUndo)
virtual void SetLayer(SdrLayerID nLayer)
bool ParkTableCursor()
Invalidate cursors.
virtual SwUndoId StartUndo(SwUndoId const eUndoId, SwRewriter const *const pRewriter)=0
Opens undo block.
bool IsContentFrame() const
void Draw(OutputDevice *pOutDev, const Point &rDestPt) const
void MakeUniqueNumRules(const SwPaM &rPaM)
void Copy(SwDoc &rClpDoc, const OUString *pNewClpText=nullptr)
Copy and Paste methods for internal clipboard.
bool GoInNode(SwPaM &rPam, SwMoveFnCollection const &fnMove)
void GetTableSel(const SwCursorShell &rShell, SwSelBoxes &rBoxes, const SwTableSearchType eSearchType)
SwContentFrame * GetLastSub(const SwLayoutFrame *pLayout)
const SwPosition * GetPoint() const
virtual bool CopyRange(SwPaM &rPam, SwPosition &rPos, SwCopyFlags flags) const =0
Copy a selected content range to a position.
GraphicType GetType() const
SwIndex & Assign(SwIndexReg *, sal_Int32)
const Graphic & GetGraphic() const
SwPageFrame * FindPageFrame()
void Push()
store a copy of the current cursor on the cursor stack
sal_uInt16 GetPhyPageNum() const
Phy: real page count.
bool CopySelToDoc(SwDoc &rInsDoc)
For copying via ClipBoard: If table is copied into table, move all cursors away from it...
SwContentNode * GetContentNode()
const SdrMarkList & GetMarkedObjectList() const
void SetOrigin(const Point &rOrigin)
const SwPageDesc & GetPageDesc(size_t i) const
DECL_LISTENERMULTIPLEXER_END void SAL_CALL inserted(::sal_Int32 ID) override
bool HasMark() const
A PaM marks a selection if Point and Mark are distinct positions.
bool SetAttributes(const SfxItemSet &rSet, bool bReplaceAll=false)
const SdrPage * GetPage(sal_uInt16 nPgNum) const
SwUndoId StartUndo(SwUndoId eUndoId=SwUndoId::EMPTY, const SwRewriter *pRewriter=nullptr)
Undo: set up Undo parenthesis, return nUndoId of this parenthesis.
void SetMergedItemSetAndBroadcast(const SfxItemSet &rSet, bool bClearAllItems=false)
Marks a character position inside a document model node.
void SetSelection(const SwPaM &rCursor)
SdrModel & getSdrModelFromSdrObject() const
void SetCurrentObj(SdrObjKind nIdent, SdrInventor nInvent=SdrInventor::Default)
sal_uInt32 GetOrdNum() const
static void lcl_ConvertSdrOle2ObjsToSdrGrafObjs(SdrModel &_rModel)
bool IsNoTextNode() const
Marks a node in the document model.
bool UpDown(bool bUp, sal_uInt16 nCnt, Point const *pPt, tools::Long nUpDownX, SwRootFrame &rLayout)
bool GoInDoc(SwPaM &rPam, SwMoveFnCollection const &fnMove)
ring_container GetRingContainer()
const Graphic * GetGraphic(bool bWait=true) const
stay with the cursor inside text
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
SwContentFrame * GetFirstSub(const SwLayoutFrame *pLayout)
const SwPosition * Start() const
virtual SdrLayerID GetLayer() const
const SwNodeIndex * GetContentIdx() const
SAL_DLLPRIVATE bool ImpEndCreate()
bool Delete()
Delete content of all ranges.
sal_uInt16 const aFrameFormatSetRange[]
IDocumentUndoRedo const & GetIDocumentUndoRedo() const
Provides access to the document undo/redo interface.
sal_uLong EndOfSectionIndex() const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
SwTextNode is a paragraph in the document model.
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
virtual SwDrawFrameFormat * InsertDrawObj(const SwPaM &rRg, SdrObject &rDrawObj, const SfxItemSet &rFlyAttrSet)=0
Insert a DrawObject.
static void ReplaceMarkedDrawVirtObjs(SdrMarkView &_rMarkView)
replace marked -objects by its reference object for delete marked objects.
virtual SdrObject * ReplaceObject(SdrObject *pNewObj, size_t nObjNum)
SwDrawView * GetDrawView()
general base class for all free-flowing frames
virtual void NbcSetSnapRect(const tools::Rectangle &rRect)
SwTextFrame * FindMaster() const
bool GetDrawObjGraphic(SotClipboardFormatId nFormat, Graphic &rGrf) const
Get selected DrawObj as graphics (MetaFile/Bitmap).
vcl::Window * GetWin() const
sal_uInt16 GetCntType() const
Determine form of content. Return Type at CurrentCursor->SPoint.
SwMoveFnCollection const & fnMoveForward
SwPam::Move()/Find() default argument.
virtual void NbcMove(const Size &rSiz)
virtual bool DelFullPara(SwPaM &)=0
Delete full paragraphs.
sal_Int32 GetIndex() const
const SfxItemSet & GetMergedItemSet() const
bool IsInside(const Point &rPOINT) const
const SwPosition * End() const
virtual SdrObject * CloneSdrObject(SdrModel &rTargetModel) const
const SwRect & GetCharRect() const
SwTableBox is one table cell in the document model.
void PaMCorrAbs(const SwPaM &rRange, const SwPosition &rNewPos)
Function declarations so that everything below the CursorShell can move the Cursor once in a while...
size_t IsObjSelected() const
static const Point & lcl_FindBasePos(const SwFrame *pFrame, const Point &rPt)
bool HasDrawView() const
New Interface for StarView Drawing.
constexpr TypedWhichId< SwDrawFrameFormat > RES_DRAWFRMFMT(157)
const Point & GetAnchorPos() const
const SwStartNode * FindTableBoxStartNode() const
constexpr TypedWhichId< SwFlyFrameFormat > RES_FLYFRMFMT(154)
SdrObject * getParentSdrObjectFromSdrObject() const
virtual void CallSwClientNotify(const SfxHint &rHint) const override
SwMoveFnCollection const & fnMoveBackward
SwTableNode * FindTableNode()
Search table node, in which it is.
SdrPageView * GetSdrPageView() const
bool Copy(SwEditShell &rDestShell)
Copy content of all ranges at current position of cursor to given Shell.
SwPageDesc * FindPageDescByName(const OUString &rName, bool bGetFromPool=false, size_t *pPos=nullptr)
const SwStartNode * FindFlyStartNode() const
virtual void SetSnapRect(const tools::Rectangle &rRect)
SVXCORE_DLLPUBLIC bool SvxDrawingLayerImport(SdrModel *pModel, const css::uno::Reference< css::io::XInputStream > &xInputStream)
static void syncFlyFrameAttr(SwFrameFormat &rShape, SfxItemSet const &rSet)
Similar to syncProperty(), but used by the internal API (e.g. for UI purposes).
reference_type * get() const
bool InsCopyOfTable(SwPosition &rInsPos, const SwSelBoxes &rBoxes, const SwTable *pCpyTable, bool bCpyName=false, bool bCorrPos=false)
Copies a Table from the same or another Doc into itself We create a new Table or an existing one is f...
virtual RedlineFlags GetRedlineFlags() const =0
Query the currently set redline mode.
const SfxItemPool & GetItemPool() const
virtual void NbcSetAnchorPos(const Point &rPnt)
bool MarkObj(const Point &rPnt, short nTol=-2, bool bToggle=false, bool bDeep=false)
virtual SwFieldType * GetSysFieldType(const SwFieldIds eWhich) const =0
sal_uInt16 GetPageNumber(const Point &rPoint) const
Page number of the page containing Point, O if no page.
virtual void SetMark()
Unless this is called, the getter method of Mark will return Point.
const SwFrame * GetAnchorFrame() const
bool Pop(PopMode)
delete cursor
SdrObjList * getParentSdrObjListFromSdrObject() const
virtual void UnlockExpFields()=0
virtual void UpdateFields(bool bCloseDB)=0
std::pair< const_iterator, bool > insert(Value &&x)
void ChgCurPageDesc(const SwPageDesc &)
PageDescriptor-interface.
SwNode & GetEndOfExtras() const
This is the last EndNode of a special section.
::sw::DocumentFieldsManager & GetDocumentFieldsManager()
void StartAllAction()
For all views of this document.
SwRootFrame * GetLayout() const
void GCFieldTypes()
Remove all unreferenced field types of a document.
size_t GetCurPageDesc(const bool bCalcFrame=true) const
Point GetFrameAnchorPos(bool bIgnoreFlysAnchoredAtThisFrame) const
returns the position for anchors based on frame direction
SdrModel * GetModel() const
virtual void NbcSetRelativePos(const Point &rPnt)
SdrObjUserCall * GetUserCall() const
virtual SdrObject * getSdrObjectFromSdrObjList() const
Point & GetCursorDocPos() const
bool IsGroupEntered() const
void Undo(sal_uInt16 const nCount=1)
SwContentNode * GoNext(SwNodeIndex *) const
bool IsFrameSelected() const
sal_uInt16 GetPageCount() const
const SwAttrPool & GetAttrPool() const
SdrPageView * GetPageView()
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
const Graphic * GetGraphic() const
SwTextNode * MakeTextNode(const SwNodeIndex &rWhere, SwTextFormatColl *pColl, bool bNewFrames=true)
Implementations of "Make...Node" are in the given .cxx-files.
void MoveMarkedObj(const Size &rSiz, bool bCopy=false)
const SwFormatFlyCnt & GetFlyCnt() const
Base class of the Writer document model elements.