24#include <svx/svxids.hrc>
35#include <editeng/editeng.hxx>
44#include <com/sun/star/frame/XFrame.hpp>
61#include <stlsheet.hxx>
70#define PROCESS_WITH_PROGRESS_THRESHOLD 5
73: ::
sd::
View(*rDocSh.GetDoc(), pWindow->GetOutDev(), &rOutlineViewShell)
74, mrOutlineViewShell(rOutlineViewShell)
75, mrOutliner(*mrDoc.GetOutliner())
82 bool bInitOutliner =
false;
122 if (pDocUndoMgr !=
nullptr)
132 "sd::OutlineView::~OutlineView(), prior drag operation not finished correctly!");
156 mrOutliner.SetControlWord(nCntrl & ~EEControlBits::NOCOLORS);
188 pOlView->
Paint(rRect);
199 bool bValidArea =
false;
202 sal_uInt16 nView = 0;
218 else if (!bValidArea)
235 bool bRemoved =
false;
236 sal_uInt16 nView = 0;
267 if (pView !=
nullptr)
271 pOlView = pView.get();
292 return const_cast< Paragraph*
>( pPara );
327 if (maDragAndDropModelGuard !=
nullptr)
332 sal_Int32 nAbsPos = mrOutliner.GetAbsPos( aParam.pPara );
334 UpdateParagraph( nAbsPos );
336 if( (nAbsPos == 0) ||
340 InsertSlideForParagraph( aParam.pPara );
351 mrOutliner.SetParaFlag( pPara, ParaFlag::ISPAGE );
377 nExample = nTarget - 1;
380 if( nExample >= nPageCount )
381 nExample = nPageCount - 1;
397 mrDoc.
InsertPage(pPage.get(),
static_cast<sal_uInt16
>(nTarget) * 2 + 1);
405 pPage->SetSize(pExample->
GetSize());
436 mrDoc.
InsertPage(pNotesPage.get(),
static_cast<sal_uInt16
>(nTarget) * 2 + 2);
444 pNotesPage->SetSize(pExample->
GetSize());
463 DBG_ASSERT( isRecordingUndo(),
"sd::OutlineView::ParagraphRemovingHdl(), model change without undo?!" );
475 pPara = GetPrevTitle(pPara);
480 sal_uInt16 nAbsPos =
static_cast<sal_uInt16
>(
nPos) * 2 + 1;
481 SdrPage* pPage = mrDoc.GetPage(nAbsPos);
482 if( isRecordingUndo() )
483 AddUndo(mrDoc.GetSdrUndoFactory().CreateUndoDeletePage(*pPage));
484 mrDoc.RemovePage(nAbsPos);
486 nAbsPos =
static_cast<sal_uInt16
>(
nPos) * 2 + 1;
487 pPage = mrDoc.GetPage(nAbsPos);
488 if( isRecordingUndo() )
489 AddUndo(mrDoc.GetSdrUndoFactory().CreateUndoDeletePage(*pPage));
490 mrDoc.RemovePage(nAbsPos);
493 if (mnPagesToProcess)
498 mpProgress->SetState(mnPagesProcessed);
500 if (mnPagesProcessed == mnPagesToProcess)
503 mnPagesToProcess = 0;
504 mnPagesProcessed = 0;
507 aParam.pOutliner->UpdateFields();
516 DBG_ASSERT( isRecordingUndo(),
"sd::OutlineView::DepthChangedHdl(), no undo for model change?!" );
522 if(
::Outliner::HasParaFlag( pPara, ParaFlag::ISPAGE ) && ((aParam.nPrevFlags & ParaFlag::ISPAGE) == ParaFlag::NONE) )
530 if (mnPagesToProcess == 0)
532 Window* pActWin = mrOutlineViewShell.GetActiveWindow();
535 std::vector<Paragraph*> aSelList;
538 mnPagesToProcess = std::count_if(aSelList.begin(), aSelList.end(),
539 [&pOutliner](
const Paragraph *pParagraph) {
540 return !Outliner::HasParaFlag(pParagraph, ParaFlag::ISPAGE) &&
541 (pOutliner->GetDepth(pOutliner->GetAbsPos(pParagraph)) <= 0);
546 mnPagesProcessed = 0;
550 mpProgress.reset(
new SfxProgress( GetDocSh(),
SdResId(STR_CREATE_PAGES), mnPagesToProcess ) );
554 mpDocSh->SetWaitCursor(
true );
558 ParagraphInsertedHdl( { aParam.pOutliner, aParam.pPara } );
566 mpProgress->SetState(mnPagesProcessed);
570 if (mnPagesProcessed == mnPagesToProcess)
577 mpDocSh->SetWaitCursor(
false );
579 mnPagesToProcess = 0;
580 mnPagesProcessed = 0;
584 else if( !
::Outliner::HasParaFlag( pPara, ParaFlag::ISPAGE ) && ((aParam.nPrevFlags & ParaFlag::ISPAGE) != ParaFlag::NONE) )
593 pParagraph = GetPrevTitle(pParagraph);
599 sal_uInt16 nAbsPos =
static_cast<sal_uInt16
>(
nPos) * 2 + 1;
600 SdrPage* pPage = mrDoc.GetPage(nAbsPos);
601 if( isRecordingUndo() )
602 AddUndo(mrDoc.GetSdrUndoFactory().CreateUndoDeletePage(*pPage));
603 mrDoc.RemovePage(nAbsPos);
605 nAbsPos =
static_cast<sal_uInt16
>(
nPos) * 2 + 1;
606 pPage = mrDoc.GetPage(nAbsPos);
607 if( isRecordingUndo() )
608 AddUndo(mrDoc.GetSdrUndoFactory().CreateUndoDeletePage(*pPage));
609 mrDoc.RemovePage(nAbsPos);
611 pPage = GetPageForParagraph( pPara );
613 mrOutliner.SetDepth( pPara, (pPage && (
static_cast<SdPage*
>(pPage)->GetAutoLayout() ==
AUTOLAYOUT_TITLE)) ? -1 : 0 );
616 if (mnPagesToProcess)
620 mpProgress->SetState(mnPagesProcessed);
622 if (mnPagesProcessed == mnPagesToProcess)
625 mnPagesToProcess = 0;
626 mnPagesProcessed = 0;
639 pParagraph = GetPrevTitle(pParagraph);
659 pTempPara = GetPrevTitle(pTempPara);
673 sal_Int32 nPara = pOutliner->
GetAbsPos( pPara );
674 sal_Int16 nDepth = pOutliner->
GetDepth( nPara );
691 OUString aNewStyleSheetName = pStyleSheet->
GetName();
692 if (!aNewStyleSheetName.isEmpty())
693 aNewStyleSheetName = aNewStyleSheetName.copy(0, aNewStyleSheetName.getLength() - 1);
694 aNewStyleSheetName += OUString::number( nDepth+1 );
721 ::sd::Window* pWin = mrOutlineViewShell.GetActiveWindow();
726 mrOutliner.GetTextHeight()));
736 mrOutlineViewShell.UpdateScrollBars();
742 DBG_ASSERT(maDragAndDropModelGuard ==
nullptr,
743 "sd::OutlineView::BeginDropHdl(), prior drag operation not finished correctly!");
750 maDragAndDropModelGuard.reset();
761 mpOutlinerViews[0]->CreateSelectionList(maSelectedParas);
763 maSelectedParas.erase(std::remove_if(maSelectedParas.begin(), maSelectedParas.end(),
764 [](
const Paragraph* pPara) { return !Outliner::HasParaFlag(pPara, ParaFlag::ISPAGE); }),
765 maSelectedParas.end());
769 sal_Int32 nParaPos = 0;
770 Paragraph* pPara = pOutliner->GetParagraph( 0 );
771 std::vector<Paragraph*>::const_iterator fiter;
777 maOldParaOrder.push_back(pPara);
780 fiter = std::find(maSelectedParas.begin(),maSelectedParas.end(),pPara);
782 pPage->
SetSelected(fiter != maSelectedParas.end());
786 pPara = pOutliner->GetParagraph( ++nParaPos );
797 DBG_ASSERT( isRecordingUndo(),
"sd::OutlineView::EndMovingHdl(), model change without undo?!" );
800 Paragraph* pSearchIt = maSelectedParas.empty() ? nullptr : *(maSelectedParas.begin());
803 sal_uInt16 nPosNewOrder = 0;
804 sal_Int32 nParaPos = 0;
805 Paragraph* pPara = pOutliner->GetParagraph( 0 );
807 while (pPara && pPara != pSearchIt)
814 pPara = pOutliner->GetParagraph( ++nParaPos );
817 sal_uInt16
nPos = nPosNewOrder;
820 nPos = sal_uInt16(-1);
825 std::vector<Paragraph*>::const_iterator it = std::find(maOldParaOrder.begin(),
826 maOldParaOrder.end(),
829 if (it != maOldParaOrder.end())
830 nPos =
static_cast<sal_uInt16
>(it-maOldParaOrder.begin());
837 mrDoc.MovePages(
nPos);
840 sal_uInt16 nPageCount =
static_cast<sal_uInt16
>(maSelectedParas.size());
849 pOutliner->UpdateFields();
851 maSelectedParas.clear();
852 maOldParaOrder.clear();
863 for (
size_t nObject = 0; nObject < nObjectCount; ++nObject)
866 if (
pObject->GetObjInventor() == SdrInventor::Default &&
867 pObject->GetObjIdentifier() == SdrObjKind::TitleText)
884 for (
size_t nObject = 0; nObject < nObjectCount; ++nObject)
887 if (
pObject->GetObjInventor() == SdrInventor::Default &&
888 pObject->GetObjIdentifier() == SdrObjKind::OutlineText)
956 if (pDocUndoMgr !=
nullptr)
994 assert(pOlView &&
"No OutlinerView found");
1005 const bool bPrevUpdateLayout =
mrOutliner.SetUpdateLayout(
false);
1011 for (sal_uInt16 nPage = 0; nPage < nPageCount; nPage++)
1031 if( pPara ==
nullptr )
1043 mrOutliner.SetParaFlag( pPara, ParaFlag::ISPAGE );
1045 sal_Int32 nPara =
mrOutliner.GetAbsPos( pPara );
1051 pTitleToSelect = pPara;
1055 const bool bSubTitle = pTO !=
nullptr;
1065 sal_Int32 nParaCount1 =
mrOutliner.GetParagraphCount();
1071 sal_Int32 nParaCount2 =
mrOutliner.GetParagraphCount();
1072 for (sal_Int32
n = nParaCount1;
n < nParaCount2;
n++)
1100 mrOutliner.SetUpdateLayout(bPrevUpdateLayout);
1108 sal_Int32 nNumOfPages = mrOutliner.GetSelPageCount();
1112 mnPagesToProcess = nNumOfPages;
1113 mnPagesProcessed = 0;
1116 if (mnPagesToProcess)
1118 mpProgress.reset(
new SfxProgress( GetDocSh(),
SdResId(STR_DELETE_PAGES), mnPagesToProcess ) );
1120 mrOutliner.UpdateFields();
1130 return RemovingPagesHdl(pOutlinerView);
1140 std::vector<Paragraph*> aSelList;
1143 Paragraph *pPar = aSelList.empty() ? nullptr : *(aSelList.begin());
1149 "sd::OutlineView::GetActualPage(), no current page?" );
1162 sal_uInt32 nPageToSelect = 0;
1180 sal_uInt32 nPagesToSkip = (pPage->
GetPageNum() - 1) >> 1;
1182 sal_Int32 nParaPos = 0;
1190 if( 0 == nPagesToSkip )
1198 pPara =
mrOutliner.GetParagraph( ++nParaPos );
1233 std::vector<Paragraph*> aSelParas;
1236 aSelParas.erase(std::remove_if(aSelParas.begin(), aSelParas.end(),
1237 [](
const Paragraph* pPara) { return !Outliner::HasParaFlag(pPara, ParaFlag::ISPAGE); }),
1241 sal_uInt16
nPos = 0;
1242 sal_Int32 nParaPos = 0;
1244 std::vector<Paragraph*>::const_iterator fiter;
1252 "Trying to select non-existing page OutlineView::SetSelectedPages()");
1256 fiter = std::find(aSelParas.begin(),aSelParas.end(),pPara);
1263 pPara =
mrOutliner.GetParagraph( ++nParaPos );
1334 if( !(bForceUpdate || (
maDocColor != aDocColor)) )
1359 onUpdateStyleSettings(
false);
1364 switch (rEvent.meEventId)
1367 SetActualPage(mrOutlineViewShell.GetActualPage());
1371 if (
dynamic_cast<SdOutliner&
>(mrOutliner).GetIgnoreCurrentPageChangesLevel()==0)
1373 if (((mrDoc.GetPageCount()-1)%2) == 0)
1377 ::sd::Window* pWindow = mrOutlineViewShell.GetActiveWindow();
1378 if (pWindow !=
nullptr)
1416 DBG_ASSERT( bHasUndoActions == (
mrOutliner.GetUndoManager().GetUndoActionCount() != 0),
"sd::OutlineView::EndModelChange(), undo actions not in sync!" );
1418 mrOutliner.GetUndoManager().LeaveListAction();
1420 if( bHasUndoActions &&
mrOutliner.GetEditEngine().HasTriedMergeOnLastAddUndo() )
1435 for (nPage = 0; nPage < nPageCount; nPage++)
1447 DBG_ASSERT( pPara ==
nullptr,
"sd::OutlineView::UpdateDocument(), slides are out of sync, creating missing ones" );
1469 if( !(pListAction && pPrevListAction) )
1475 while( !pEditUndo && nAction )
1480 sal_uInt16 nEditPos = nAction;
1483 while( pEditUndo && nAction )
1486 pEditUndo =
nullptr;
1497 while( !pPrevEditUndo && nAction )
1500 if( !(pPrevEditUndo && pPrevEditUndo->Merge( pEditUndo )) )
1507 assert( pListAction->
GetUndoAction(nEditPos) == pEditUndo &&
1508 "sd::OutlineView::TryToMergeUndoActions(), wrong edit pos!" );
1509 pListAction->
Remove(nEditPos);
1520 std::unique_ptr<SfxUndoAction> pTemp = pListAction->
Remove(0);
1521 pPrevListAction->
Insert( std::move(pTemp), nDestAction++ );
1534 Paragraph* pPara = mrOutliner.GetParagraph( pInfo->mnPara );
1537 Size aImageSize( pInfo->mpOutDev->PixelToLogic( maSlideImage.GetSizePixel() ) );
1538 Size aOffset( 100, 100 );
1545 for ( sal_Int32
n = 0;
n <= pInfo->mnPara;
n++ )
1556 nFontHeight = nBulletHeight / 5;
1560 nFontHeight = (nBulletHeight * 10) / 25;
1563 Size aFontSz( 0, nFontHeight );
1565 Size aOutSize( 2000, nBulletHeight );
1567 const float fImageHeight = (
static_cast<float>(aOutSize.
Height()) *
float(4)) /
float(7);
1568 if (aImageSize.
Width() != 0)
1570 const float fImageRatio =
static_cast<float>(aImageSize.
Height()) /
static_cast<float>(aImageSize.
Width());
1575 Point aImagePos( pInfo->mrStartPos );
1579 pInfo->mpOutDev->DrawImage( aImagePos, aImageSize, maSlideImage );
1581 const bool bVertical = mrOutliner.IsVertical();
1582 const bool bRightToLeftPara = rEditEngine.
IsRightToLeft( pInfo->mnPara );
1586 Point aTextPos( aImagePos.
X() - aOffset.
Width(), pInfo->mrStartPos.Y() );
1592 pInfo->mpOutDev->SetFont( aNewFont );
1593 OUString
aPageText = OUString::number( nPage );
1596 aTextSz.
setHeight( pInfo->mpOutDev->GetTextHeight() );
1600 if ( !bRightToLeftPara )
1612 aTextPos.
AdjustX(nBulletHeight / 2 );
1614 pInfo->mpOutDev->DrawText( aTextPos,
aPageText );
1621 mrOutliner.SetParaAttribs( nPara, aNewAttrs2 );
1635 for( sal_Int32 nPara = pInfo->
nStartPara; nPara <= pInfo->nEndPara; nPara++ )
1671 const sal_Int16 nDepth =
mrOutliner.GetDepth( nPara );
1674 OUString aStyleSheetName = pStyle->
GetName();
1675 if (!aStyleSheetName.isEmpty())
1676 aStyleSheetName = aStyleSheetName.copy(0, aStyleSheetName.getLength() - 1);
1677 aStyleSheetName += OUString::number( nDepth );
1679 DBG_ASSERT( pStyle,
"sd::OutlineView::OnEndPasteOrDrop(), Style not found!" );
@ PageOrder
One or more pages have been inserted into or deleted from the model.
@ CurrentPageChanged
The current page has changed.
static void AddEventListener(const Link< VclSimpleEvent &, void > &rEventListener)
static void RemoveEventListener(const Link< VclSimpleEvent &, void > &rEventListener)
bool IsRightToLeft(sal_Int32 nPara) const
LanguageType GetDefaultLanguage() const
virtual SvtScriptType GetScriptType() const=0
const EditTextObject & GetTextObject() const
void SetVertical(bool bNew)
bool IsEffectivelyVertical() const
void Paint(const tools::Rectangle &rRect, OutputDevice *pTargetDevice=nullptr)
const SfxStyleSheet * GetStyleSheet() const
void CreateSelectionList(std::vector< Paragraph * > &aSelList)
tools::Rectangle GetVisArea() const
void HideCursor(bool bDeactivate=false)
void SetAttribs(const SfxItemSet &)
void ShowCursor(bool bGotoCursor=true, bool bActivate=false)
static bool HasParaFlag(const Paragraph *pPara, ParaFlag nFlag)
Paragraph * GetParagraph(sal_Int32 nAbsPos) const
sal_Int16 GetDepth(sal_Int32 nPara) const
void SetStyleSheet(sal_Int32 nPara, SfxStyleSheet *pStyle)
sal_Int16 GetPrevDepth() const
void SetDepth(Paragraph *pParagraph, sal_Int16 nNewDepth)
void SetParaAttribs(sal_Int32 nPara, const SfxItemSet &)
sal_Int32 GetAbsPos(Paragraph const *pPara) const
SfxItemSet const & GetParaAttribs(sal_Int32 nPara) const
static vcl::Font GetDefaultFont(DefaultFontType nType, LanguageType eLang, GetDefaultFontFlags nFlags, const OutputDevice *pOutDev=nullptr)
virtual vcl::Window * GetOwnerWindow() const
tools::Long AdjustY(tools::Long nVertMove)
tools::Long AdjustX(tools::Long nHorzMove)
constexpr tools::Long X() const
SdPage * GetSdPage(sal_uInt16 nPgNum, PageKind ePgKind) const
SAL_DLLPRIVATE void InsertPage(SdrPage *pPage, sal_uInt16 nPos=0xFFFF) override
SAL_DLLPRIVATE void SetSelected(SdPage *pPage, bool bSelect)
SAL_DLLPRIVATE rtl::Reference< SdPage > AllocSdPage(bool bMasterPage)
sal_uInt16 GetSdPageCount(PageKind ePgKind) const
The main purpose of this class is searching and replacing as well as spelling of impress documents.
SdrObject * GetPresObj(PresObjKind eObjKind, int nIndex=1, bool bFuzzySearch=false)
returns the nIndex'th object from the given PresObjKind, index starts with 1
SfxStyleSheet * GetStyleSheetForPresObj(PresObjKind eObjKind) const
::tools::Rectangle GetLayoutRect() const
void SetAutoLayout(AutoLayout eLayout, bool bInit=false, bool bCreate=false)
void SetSelected(bool bSel)
virtual OUString GetLayoutName() const override
SdrObject * InsertAutoLayoutShape(SdrObject *pObj, PresObjKind eObjKind, bool bVertical, const ::tools::Rectangle &rRect, bool bInit)
reuses or creates a presentation shape for an auto layout that fits the given parameter
::tools::Rectangle GetTitleRect() const
AutoLayout GetAutoLayout() const
OUString const & GetApiName() const
void AddUndo(std::unique_ptr< SdrUndoAction > pUndo)
SfxStyleSheetBasePool * GetStyleSheetPool() const
SdrUndoFactory & GetSdrUndoFactory() const
virtual SvtScriptType GetScriptType() const
SdrObject * GetObj(size_t nNum) const
size_t GetObjCount() const
bool IsEmptyPresObj() const
SdrPage & TRG_GetMasterPage() const
sal_uInt16 GetPageNum() const
sal_Int32 GetUpperBorder() const
sal_Int32 GetRightBorder() const
sal_Int32 GetLeftBorder() const
sal_Int32 GetLowerBorder() const
virtual OutlinerParaObject * GetOutlinerParaObject() const override
virtual std::unique_ptr< SdrUndoAction > CreateUndoNewPage(SdrPage &rPage)
const css::uno::Reference< css::frame::XFrame > & GetFrameInterface() const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
SfxViewFrame * GetFrame() const
virtual void Invalidate(sal_uInt16 nId=0)
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
const OUString & GetName() const
SfxStyleFamily GetFamily() const
void RemoveLastUndoAction()
virtual size_t GetUndoActionCount(bool const i_currentLevel=CurrentLevel) const
SfxUndoAction * GetUndoAction(size_t nNo=0) const
SfxFrame & GetFrame() const
ViewShellId GetViewShellId() const override
constexpr tools::Long Height() const
void setWidth(tools::Long nWidth)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
static bool GetIsAutomaticFontColor()
virtual SfxUndoManager * GetUndoManager() override
OutlineViewModelChangeGuard(OutlineView &rView)
~OutlineViewModelChangeGuard() COVERITY_NOEXCEPT_FALSE
~OutlineViewPageChangesGuard()
OutlineViewPageChangesGuard(OutlineView *pView)
Show a textual overview of the text contents of all slides.
void UpdateTitleObject(SdPage *pPage, Paragraph const *pPara)
void UpdateOutlineObject(SdPage *pPage, Paragraph *pPara)
Derivative of sd::View for the outline mode |* .
void FillOutliner()
creates outliner model from draw model
SvxLRSpaceItem maLRSpaceItem
void ConnectToApplication()
This method is called by the view shell that owns the view to tell the view that it can safely connec...
OutlineViewShell & mrOutlineViewShell
void BeginModelChange()
call this method before you do anything that can modify the outliner and or the drawing document mode...
static SdrTextObj * CreateTitleTextObject(SdPage *pPage)
SdPage * GetPageForParagraph(Paragraph *pPara)
void ResetLinks() const
Restore old links.
void SetSelectedPages()
Mark pages as selected / not selected.
virtual ~OutlineView() override
Destructor, restore Links, clear Outliner.
SdPage * InsertSlideForParagraph(Paragraph *pPara)
creates and inserts an empty slide for the given paragraph.
void EndModelChange()
call this method after BeginModelChange(), when all possible model changes are done.
void IgnoreCurrentPageChanges(bool bIgnore)
After this method has been called with <TRUE> following changes of the current page are ignored in th...
virtual void GetAttributes(SfxItemSet &rTargetSet, bool bOnlyHardAttr=false) const override
Get attributes of the selected text.
Paragraph * GetParagraphForPage(::Outliner const &rOutl, SdPage const *pPage)
Paragraph * GetPrevTitle(const Paragraph *pPara)
Return the title before a random paragraph.
Color maDocColor
stores the last used document color.
static SdrTextObj * CreateOutlineTextObject(SdPage *pPage)
OutlinerView * GetViewByWindow(vcl::Window const *pWin) const
Return a pointer to the OutlinerView corresponding to the window.
void PrepareClose()
updates draw model with all changes from outliner model
void SetActualPage(SdPage const *pActual)
selects the paragraph for the given page at the outliner view
Paragraph * GetNextTitle(const Paragraph *pPara)
Return the title after a random paragraph.
virtual void OnBeginPasteOrDrop(PasteOrDropInfos *pInfo) override
virtual void AddDeviceToPaintView(OutputDevice &rDev, vcl::Window *pWindow) override
void Paint(const ::tools::Rectangle &rRect, ::sd::Window const *pWin)
SfxStyleSheet * GetStyleSheet() const override
Get StyleSheet from the selection.
SdPage * GetActualPage()
returns the first slide that is selected in the outliner or where the cursor is located
void UpdateParagraph(sal_Int32 nPara)
virtual void OnEndPasteOrDrop(PasteOrDropInfos *pInfo) override
this is called after a paste or drop operation, make sure that the newly inserted paragraphs get the ...
void onUpdateStyleSettings(bool bForceUpdate)
updates the high contrast settings and document color if they changed.
virtual bool SetAttributes(const SfxItemSet &rSet, bool bReplaceAll=false, bool bSlide=false, bool bMaster=false) override
Set attributes of the selected text.
virtual sal_Int8 AcceptDrop(const AcceptDropEvent &rEvt, DropTargetHelper &rTargetHelper, SdrLayerID nLayer) override
virtual sal_Int8 ExecuteDrop(const ExecuteDropEvent &rEvt, ::sd::Window *pTargetWindow, sal_uInt16 nPage, SdrLayerID nLayer) override
void SetLinks()
Set new links.
OutlineView(DrawDocShell &rDocSh, vcl::Window *pWindow, OutlineViewShell &rOutlineViewSh)
static SdrTextObj * GetOutlineTextObject(SdrPage const *pPage)
Look for the outline text object in one page of the model.
std::unique_ptr< OutlinerView > mpOutlinerViews[MAX_OUTLINERVIEWS]
void TryToMergeUndoActions()
merge edit engine undo actions if possible
virtual void DeleteDeviceFromPaintView(OutputDevice &rDev) override
void DisconnectFromApplication()
void UpdateDocument()
updates all changes in the outliner model to the draw model
virtual SvtScriptType GetScriptType() const override
std::unique_ptr< OutlineViewModelChangeGuard, o3tl::default_delete< OutlineViewModelChangeGuard > > maDragAndDropModelGuard
holds a model guard during drag and drop between BeginMovingHdl and EndMovingHdl
std::unique_ptr< SfxProgress > mpProgress
static SdrTextObj * GetTitleTextObject(SdrPage const *pPage)
Look for the title text object in one page of the model.
void SetLinkedUndoManager(SfxUndoManager *pLinkedUndoManager)
Set or reset the undo manager linked with the called undo manager.
std::shared_ptr< tools::EventMultiplexer > const & GetEventMultiplexer() const
Return an event multiplexer.
std::shared_ptr< ViewShellManager > const & GetViewShellManager() const
::sd::Window * GetActiveWindow() const
The active window is usually the mpContentWindow.
SD_DLLPUBLIC ViewShellBase & GetViewShellBase() const
bool isRecordingUndo() const
returns true if we have an undo manager and there is an open list undo action
SdDrawDocument & GetDoc() const
An SdWindow contains the actual working area of ViewShell.
void GrabFocus()
Activate window.
const Size & GetViewSize() const
void SetFontSize(const Size &)
void SetOrientation(Degree10 nLineOrientation)
void SetVertical(bool bVertical)
void SetColor(const Color &)
vcl::Window * GetWindow(GetWindowType nType) const
::OutputDevice const * GetOutDev() const
Point PixelToLogic(const Point &rDevicePt) const
Size GetOutputSizePixel() const
void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
constexpr ::Color COL_WHITE(0xFF, 0xFF, 0xFF)
constexpr ::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
#define DBG_ASSERT(sCon, aError)
constexpr TypedWhichId< SvxLRSpaceItem > EE_PARA_OUTLLRSPACE(EE_PARA_START+10)
constexpr TypedWhichId< SvxNumBulletItem > EE_PARA_NUMBULLET(EE_PARA_START+5)
EmbeddedObjectRef * pObject
#define LINK(Instance, Class, Member)
const int MAX_OUTLINERVIEWS
IMPL_LINK_NOARG(MainSequence, onTimerHdl, Timer *, void)
IMPL_LINK(SdCharHeightPropertyBox, implMenuSelectHdl, const OUString &, rIdent, void)
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
Image GetImageForCommand(const OUString &rsCommandName, const Reference< frame::XFrame > &rxFrame, vcl::ImageType eImageType)
#define PROCESS_WITH_PROGRESS_THRESHOLD
OUString SdResId(TranslateId aId)
std::vector< MarkedUndoAction > maUndoActions
void Insert(std::unique_ptr< SfxUndoAction > i_action, size_t i_pos)
std::unique_ptr< SfxUndoAction > Remove(int idx)
SfxUndoAction * GetUndoAction(size_t idx)
Reference< XFrame > xFrame