20#include <config_features.h>
22#include <com/sun/star/embed/NoVisualAreaSizeException.hpp>
23#include <com/sun/star/embed/XEmbeddedObject.hpp>
24#include <com/sun/star/linguistic2/XSpellChecker1.hpp>
40#include <officecfg/Office/Common.hxx>
86#include <LibreOfficeKit/LibreOfficeKitEnums.h>
104 mpDocSh(rDrawDoc.GetDocSh()),
105 mpViewSh(pViewShell),
106 mpDropMarkerObj(nullptr),
109 maDropErrorIdle(
"sd View DropError"),
110 maDropInsertFileIdle(
"sd View DropInsertFile"),
112 mbIsDropAllowed(true),
148#if HAVE_FEATURE_AVMEDIA
177 virtual void createRedirectedPrimitive2DSequence(
185ViewRedirector::ViewRedirector()
189void ViewRedirector::createRedirectedPrimitive2DSequence(
196 if(!pObject || !pSdrPage)
203 const bool bDoCreateGeometry(pSdrPage->
checkVisibility( rOriginal, rDisplayInfo,
true ));
205 if(!bDoCreateGeometry &&
206 ((
pObject->GetObjInventor() != SdrInventor::Default ) || (
pObject->GetObjIdentifier() != SdrObjKind::Page )) )
211 const bool bIsMasterPageObject(pSdrPage->
IsMasterPage());
215 const SdPage* pObjectsSdPage =
dynamic_cast< SdPage*
>(pSdrPage);
216 const bool bIsInsidePageObj(pPageView && pPageView->
GetPage() != pVisualizedPage);
220 if(!bIsInsidePageObj && !bIsPrinting)
222 bool bCreateOutline(
false);
226 if( !bSubContentProcessing || !
pObject->IsNotVisibleAsMaster() )
229 bCreateOutline =
true;
232 else if( (
pObject->GetObjInventor() == SdrInventor::Default ) && (
pObject->GetObjIdentifier() == SdrObjKind::Text ) )
240 if( !bSubContentProcessing )
243 bCreateOutline =
true;
248 else if( (
pObject->GetObjInventor() == SdrInventor::Default ) && (
pObject->GetObjIdentifier() == SdrObjKind::Page ) )
254 bCreateOutline =
true;
264 if( aColor.bIsVisible )
270 pObject->TRGetBaseGeometry(aObjectMatrix, aObjectPolyPolygon);
276 aPolygon.transform(aObjectMatrix);
279 ::std::vector< double > aDotDashArray { 160.0, 80.0 };
281 const double fFullDotDashLen(::std::accumulate(aDotDashArray.begin(), aDotDashArray.end(), 0.0));
289 std::move(aStroke)));
290 rVisitor.
visit(xRef);
295 if(!bSubContentProcessing && bIsMasterPageObject)
297 OUString aObjectString;
305 static OUString aTitleAreaStr(
SdResId(STR_PLACEHOLDER_DESCRIPTION_TITLE));
306 aObjectString = aTitleAreaStr;
313 static OUString aOutlineAreaStr(
SdResId(STR_PLACEHOLDER_DESCRIPTION_OUTLINE));
314 aObjectString = aOutlineAreaStr;
319 static OUString aFooterAreaStr(
SdResId(STR_PLACEHOLDER_DESCRIPTION_FOOTER));
320 aObjectString = aFooterAreaStr;
325 static OUString aHeaderAreaStr(
SdResId(STR_PLACEHOLDER_DESCRIPTION_HEADER));
326 aObjectString = aHeaderAreaStr;
331 static OUString aDateTimeStr(
SdResId(STR_PLACEHOLDER_DESCRIPTION_DATETIME));
332 aObjectString = aDateTimeStr;
337 static OUString aDateTimeStr(
SdResId(STR_PLACEHOLDER_DESCRIPTION_NOTES));
338 aObjectString = aDateTimeStr;
345 static OUString aSlideAreaStr(
SdResId(STR_PLACEHOLDER_DESCRIPTION_SLIDE));
346 aObjectString = aSlideAreaStr;
350 static OUString aNumberAreaStr(
SdResId(STR_PLACEHOLDER_DESCRIPTION_NUMBER));
351 aObjectString = aNumberAreaStr;
361 if( !aObjectString.isEmpty() )
366 double fRotate, fShearX;
367 aObjectMatrix.
decompose(aScale, aTranslate, fRotate, fShearX);
376 static const sal_uInt32 nTextSizeFactor(100);
383 aTextLayouter.
setFont(aScaledVclFont);
384 const sal_Int32 nTextLength(aObjectString.getLength());
387 const double fTextWidth(aTextLayouter.
getTextWidth(aObjectString, 0, nTextLength) * (1.0 / nTextSizeFactor));
388 const double fTextHeight(aTextLayouter.
getTextHeight() * (1.0 / nTextSizeFactor));
392 const double fHorDist(125);
393 const double fVerDist(125);
394 const double fPosX((aTranslate.
getX() + aScale.
getX()) - fTextWidth - fHorDist);
395 const double fPosY((SDRTEXTVERTADJUST_BOTTOM == eTVA)
396 ? aTranslate.
getY() - fVerDist + fTextHeight
397 : (aTranslate.
getY() + aScale.
getY()) - fVerDist);
414 aTextSizeAttribute.
getX(), aTextSizeAttribute.
getY(),
420 ::std::vector< double > aDXArray{};
423 css::lang::Locale aLocale;
434 std::move(aFontAttribute),
437 rVisitor.
visit(xRef);
444 if(bDoCreateGeometry)
448 rDisplayInfo, rVisitor);
483 bool bScreenDisplay(
true);
491 bScreenDisplay =
false;
493 setOutlinerBgFromPage(rOutl, *pPgView, bScreenDisplay);
497 ViewRedirector aViewRedirector;
544 bool bSelected =
false;
545 bool bMasterPage =
false;
547 for (
size_t nMark = pMarkList->
GetMarkCount(); nMark && !bSelected; )
551 pMark = pMarkList->
GetMark(nMark);
559 if ( (bMasterPage && bOnMasterPage) || (!bMasterPage && bOnPage) )
563 if( bCheckLayoutOnly )
593 pOLV->
SelectRange( 0, pOutliner->GetParagraphCount() );
616 rCntrl |= EEControlBits::ONLINESPELLING;
653 pUndoManager->SetDocShell(
mpDocSh);
661 bool bDontDeleteOutliner,
bool bOnlyOneView,
bool bGrabFocus )
669 if( pOutl==
nullptr && pObj )
678 nCntrl |= EEControlBits::ALLOWBIGOBJS;
679 nCntrl |= EEControlBits::MARKFIELDS;
680 nCntrl |= EEControlBits::AUTOCORRECT;
684 nCntrl |= EEControlBits::ULSPACESUMMATION;
688 pOutl->SetControlWord(nCntrl);
691 if ( xSpellChecker.is() )
692 pOutl->SetSpeller( xSpellChecker );
695 if( xHyphenator.is() )
696 pOutl->SetHyphenator( xHyphenator );
702 pObj, pPV, pWin, bIsNewObj, pOutl,
703 pGivenOutlinerView, bDontDeleteOutliner,
704 bOnlyOneView, bGrabFocus);
722 OString sRectangle = aRectangle.
toString();
735 pOL->SetBackgroundColor( aBackground );
743 setOutlinerBgFromPage(*pOL, *pPV,
true);
747 pOL->SetParaInsertedHdl(
LINK(
this,
View, OnParagraphInsertedHdl));
748 pOL->SetParaRemovingHdl(
LINK(
this,
View, OnParagraphRemovingHdl));
751 if (bMasterPage && bReturn && pOutl)
782 if( bDefaultTextRestored )
790 eKind = SdrEndTextEditKind::Unchanged;
805 static_cast<void*
>(xObj) );
830 bool bRestored =
false;
847 pOutliner->SetText(*pParaObj);
873 uno::Reference < embed::XEmbeddedObject > xObj =
static_cast<SdrOle2Obj*
>(pObj)->GetObjRef();
878 sal_Int64 nAspect =
static_cast<SdrOle2Obj*
>(pObj)->GetAspect();
881 if ( nAspect == embed::Aspects::MSOLE_ICON )
883 MapMode aMap100( MapUnit::Map100thMM );
884 aOleSize =
static_cast<SdrOle2Obj*
>(pObj)->GetOrigObjSize( &aMap100 );
892 awt::Size aSz = xObj->getVisualAreaSize( nAspect );
896 catch( embed::NoVisualAreaSizeException& )
925 pUndoGroup->SetComment(
SdResId(STR_UNDO_ORIGINALSIZE));
938 uno::Reference < embed::XEmbeddedObject > xObj( pObj->
GetObjRef() );
981 if ( ( nKind1 != SdrObjKind::Text && nKind2 != SdrObjKind::Text ) &&
982 ( nKind1 != SdrObjKind::TitleText && nKind2 != SdrObjKind::TitleText ) &&
983 ( nKind1 != SdrObjKind::OutlineText && nKind2 != SdrObjKind::OutlineText ) &&
984 ( nKind1 != SdrObjKind::Group && nKind2 != SdrObjKind::Group ) &&
985 ( nKind1 != SdrObjKind::Line && nKind2 != SdrObjKind::Line ) &&
986 ( nKind1 != SdrObjKind::PolyLine && nKind2 != SdrObjKind::PolyLine ) &&
987 ( nKind1 != SdrObjKind::PathLine && nKind2 != SdrObjKind::PathLine ) &&
988 ( nKind1 != SdrObjKind::FreehandLine && nKind2 != SdrObjKind::FreehandLine ) &&
989 ( nKind1 != SdrObjKind::PathPolyLine && nKind2 != SdrObjKind::PathPolyLine ) &&
990 ( nKind1 != SdrObjKind::Measure && nKind2 != SdrObjKind::Measure ) &&
991 ( nKind1 != SdrObjKind::Edge && nKind2 != SdrObjKind::Edge ) &&
992 ( nKind1 != SdrObjKind::Graphic && nKind2 != SdrObjKind::Graphic ) &&
993 ( nKind1 != SdrObjKind::OLE2 && nKind2 != SdrObjKind::OLE2 ) &&
994 ( nKind1 != SdrObjKind::Caption && nKind2 != SdrObjKind::Caption ) &&
1006 if( ( eFillStyle1 == drawing::FillStyle_NONE || eFillStyle1 == drawing::FillStyle_SOLID ) &&
1007 ( eFillStyle2 == drawing::FillStyle_NONE || eFillStyle2 == drawing::FillStyle_SOLID ) )
1049 sal_uInt16 nOutputSlot, nPreviewSlot;
1053 nOutputSlot = SID_OUTPUT_QUALITY_CONTRAST;
1057 nOutputSlot = SID_OUTPUT_QUALITY_COLOR;
1061 && officecfg::Office::Common::Accessibility::IsForPagePreviews::get() )
1063 nPreviewSlot = SID_PREVIEW_QUALITY_CONTRAST;
1067 nPreviewSlot = SID_PREVIEW_QUALITY_COLOR;
1081 if( aParam.pPara && pObj )
1096 if( aParam.pPara && pObj )
1109 return pUndoManager && pUndoManager->IsInListAction();
1191 pOutliner->SetCharAttribs(pInfo->
nStartPara, aSet);
1217 for ( sal_Int32 nPara = pInfo->
nStartPara; nPara <= pInfo->nEndPara; nPara++ )
1219 pOutliner->SetStyleSheet( nPara, pStyleSheet );
1224 const bool bBulletOnOffMode,
1225 const bool bNormalBullet)
1228 if (!bBulletOnOffMode)
1232 bool bToggleOn =
false;
1233 std::unique_ptr<SdrOutliner> pOutliner(
SdrMakeOutliner(OutlinerMode::TextObject, rSdrModel));
1240 if(
dynamic_cast< const SdrTableObj *
>( pTextObj ) !=
nullptr)
1247 if (pTableController)
1253 aStart = SdrTableObj::getFirstCell();
1257 for (sal_Int32 nRow = aStart.
mnRow; nRow <= aEnd.
mnRow && !bToggleOn; nRow++)
1259 for (sal_Int32 nCol = aStart.
mnCol; nCol <= aEnd.
mnCol && !bToggleOn; nCol++)
1261 sal_Int32 nCellIndex = nRow * nColCount + nCol;
1266 sal_Int16 nStatus = pOutliner->GetBulletsNumberingStatus();
1267 bToggleOn = (bNormalBullet && nStatus != 0) || (!bNormalBullet && nStatus != 1);
1277 pOutliner->SetText(*pParaObj);
1278 sal_Int16 nStatus = pOutliner->GetBulletsNumberingStatus();
1279 bToggleOn = (bNormalBullet && nStatus != 0) || (!bNormalBullet && nStatus != 1);
1288 const bool bHandleBullets,
1298 std::unique_ptr<SdrUndoGroup> pUndoGroup(bUndoEnabled ?
new SdrUndoGroup(rSdrModel) :
nullptr);
1300 const bool bToggleOn =
ShouldToggleOn( bToggle, bHandleBullets );
1302 std::unique_ptr<SdrOutliner> pOutliner(
SdrMakeOutliner(OutlinerMode::TextObject, rSdrModel));
1311 if(
dynamic_cast< SdrTableObj *
>( pTextObj ) !=
nullptr)
1318 if (pTableController)
1324 aStart = SdrTableObj::getFirstCell();
1328 for (sal_Int32 nRow = aStart.
mnRow; nRow <= aEnd.
mnRow; nRow++)
1330 for (sal_Int32 nCol = aStart.
mnCol; nCol <= aEnd.
mnCol; nCol++)
1332 sal_Int32 nCellIndex = nRow * nColCount + nCol;
1350 sal_uInt32 nParaCount = pOutliner->GetParagraphCount();
1367 pOutliner->SetText(*pParaObj);
1370 pUndoGroup->AddAction(
1381 sal_uInt32 nParaCount = pOutliner->GetParagraphCount();
1382 pTextObj->
SetOutlinerParaObject(pOutliner->CreateParaObject(0,
static_cast<sal_uInt16
>(nParaCount)));
1387 if ( bUndoEnabled && pUndoGroup->GetActionCount() > 0 )
1390 rSdrModel.
AddUndo(std::move(pUndoGroup));
@ BeginTextEdit
Text editing in one of the shapes in the MainViewShell has started.
@ EndTextEdit
Text editing in one of the shapes in the MainViewShell has ended.
const StyleSettings & GetStyleSettings() const
static const AllSettings & GetSettings()
virtual void CheckPossibilities() override
void ReduceInaccurate(unsigned nSignificantBits)
static css::uno::Reference< css::linguistic2::XSpellChecker1 > GetSpellChecker()
static css::uno::Reference< css::linguistic2::XHyphenator > GetHyphenator()
MapUnit GetMapUnit() const
void ApplyBulletsNumbering(const bool bHandleBullets, const SvxNumRule *pNewNumRule, const bool bCheckCurrentNumRuleBeforeApplyingNewNumRule, const bool bAtSelection=false)
void SetReadOnly(bool bReadOnly)
void SwitchOffBulletsNumbering(const bool bAtSelection=false)
void SelectRange(sal_Int32 nFirst, sal_Int32 nCount)
void SetBackgroundColor(const Color &rColor)
SAL_WARN_UNUSED_RESULT Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
OutDevType GetOutDevType() const
sd::UndoManager * GetUndoManager() const
SAL_DLLPRIVATE SfxItemPool & GetPool()
SAL_DLLPRIVATE bool GetOnlineSpell() const
SAL_DLLPRIVATE bool IsSummationOfParagraphs() const
bool IsPresObj(const SdrObject *pObj)
void onParagraphRemoving(const ::Outliner *pOutliner, Paragraph const *pPara, SdrObject *pObj)
callback from the sd::View when a paragraph from one object on this page is removed
PageKind GetPageKind() const
SfxStyleSheet * GetStyleSheetForPresObj(PresObjKind eObjKind) const
PresObjKind GetPresObjKind(SdrObject *pObj) const
void onEndTextEdit(SdrObject *pObj)
callback from the sd::View when an object just left text edit mode
bool RestoreDefaultText(SdrObject *pObj)
void onParagraphInserted(const ::Outliner *pOutliner, Paragraph const *pPara, SdrObject *pObj)
callback from the sd::View when a new paragraph for one object on this page is created
void SetStyleSheet(SfxStyleSheet *pStyleSheet, bool bDontRemoveHardAttr)
void SetUseIncompatiblePathCreateInterface(bool bOn)
void SetMeasureLayer(const OUString &rName)
GraphicType GetGraphicType() const
bool isEmbeddedVectorGraphicData() const
Size getOriginalSize() const
size_t GetMarkCount() const
SdrMark * GetMark(size_t nNum) const
virtual sal_Int32 GetMarkablePointCount() const
const SdrMarkList & GetMarkedObjectList() const
SdrObject * GetMarkedObjectByIndex(size_t nNum) const
virtual bool HasMarkedPoints() const
size_t GetMarkedObjectCount() const
virtual bool MarkPoint(SdrHdl &rHdl, bool bUnmark=false)
virtual bool HasMarkablePoints() const
void AdjustMarkHdl(SfxViewShell *pOtherShell=nullptr)
virtual bool MarkPoints(const tools::Rectangle *pRect, bool bUnmark)
SdrObject * GetMarkedSdrObj() const
MapUnit GetScaleUnit() const
void AddUndo(std::unique_ptr< SdrUndoAction > pUndo)
SdrOutliner & GetDrawOutliner(const SdrTextObj *pObj=nullptr) const
SfxStyleSheetBasePool * GetStyleSheetPool() const
SdrUndoFactory & GetSdrUndoFactory() const
bool IsUndoEnabled() const
SdrTextObj * GetTextEditObject() const
virtual SdrEndTextEditKind SdrEndTextEdit(bool bDontDeleteReally=false)
const OutlinerView * GetTextEditOutlinerView() const
const rtl::Reference< sdr::SelectionController > & getSelectionController() const
virtual bool IsTextEdit() const final override
virtual bool SdrBeginTextEdit(SdrObject *pObj, SdrPageView *pPV=nullptr, vcl::Window *pWin=nullptr, bool bIsNewObj=false, SdrOutliner *pGivenOutliner=nullptr, OutlinerView *pGivenOutlinerView=nullptr, bool bDontDeleteOutliner=false, bool bOnlyOneView=false, bool bGrabFocus=true)
const SdrOutliner * GetTextEditOutliner() const
SdrObjUserCall * GetUserCall() const
bool setSuitableOutlinerBg(Outliner &rOutliner) const
void SetOutlinerParaObject(std::optional< OutlinerParaObject > pTextObject)
void BroadcastObjectChange() const
void SetEmptyPresObj(bool bEpt)
virtual SdrInventor GetObjInventor() const
bool IsEmptyPresObj() const
SdrModel & getSdrModelFromSdrObject() const
virtual void SetLogicRect(const tools::Rectangle &rRect)
SfxStyleSheet * GetStyleSheet() const
virtual void SetChanged()
virtual SdrObjKind GetObjIdentifier() const
SdrPage * getSdrPageFromSdrObject() const
const SfxItemSet & GetMergedItemSet() const
virtual const tools::Rectangle & GetLogicRect() const
virtual void Resize(const Point &rRef, const Fraction &xFact, const Fraction &yFact, bool bUnsetRelative=true)
css::uno::Reference< css::embed::XEmbeddedObject > const & GetObjRef() const
Size GetOrigObjSize(MapMode const *pTargetMapMode=nullptr) const
const SdrTextObj * GetTextObj() const
SdrPage * GetPage() const
bool IsMasterPage() const
virtual bool checkVisibility(const sdr::contact::ViewObjectContact &rOriginal, const sdr::contact::DisplayInfo &rDisplayInfo, bool bEdit)
Color GetPageBackgroundColor() const
virtual void CompleteRedraw(OutputDevice *pOut, const vcl::Region &rReg, sdr::contact::ViewObjectContactRedirector *pRedirector=nullptr)
OutputDevice * GetFirstOutputDevice() const
void SetBufferedOverlayAllowed(bool bNew)
void SetHitTolerancePixel(sal_uInt16 nVal)
sal_uInt32 PaintWindowCount() const
SdrPageView * GetSdrPageView() const
SdrModel & GetModel() const
void SetMinMoveDistancePixel(sal_uInt16 nVal)
void SetBufferedOutputAllowed(bool bNew)
void SetTextEditOutliner(SdrOutliner *pOutl)
bool IsTextEditActive() const
virtual bool AdjustTextFrameWidthAndHeight(tools::Rectangle &rR, bool bHgt=true, bool bWdt=true) const
virtual OutlinerParaObject * GetOutlinerParaObject() const override
virtual const tools::Rectangle & GetLogicRect() const override
virtual bool HasText() const override
SdrTextVertAdjust GetTextVerticalAdjust(const SfxItemSet &rSet) const
OutlinerParaObject * GetOutlinerParaObject()
virtual void SetOutlinerParaObject(std::optional< OutlinerParaObject > pTextObject)
virtual std::unique_ptr< SdrUndoAction > CreateUndoObjectSetText(SdrObject &rNewObj, sal_Int32 nText)
virtual std::unique_ptr< SdrUndoAction > CreateUndoGeoObject(SdrObject &rObject)
virtual SdrViewContext GetContext() const
void EnableExtendedMouseEventDispatcher(bool bOn)
bool SetAttributes(const SfxItemSet &rSet, bool bReplaceAll=false)
void EnableExtendedKeyInputDispatcher(bool bOn)
void GetAttributes(SfxItemSet &rTargetSet, bool bOnlyHardAttr=false) const
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
bool SetObjArea(const tools::Rectangle &)
void SetSizeScale(const Fraction &rScaleWidth, const Fraction &rScaleHeight)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
static void notifyOtherViews(const SfxViewShell *pThisView, int nType, std::string_view rKey, const OString &rPayload)
virtual void Invalidate(sal_uInt16 nId=0)
virtual void AddUndoAction(std::unique_ptr< SfxUndoAction > pAction, bool bTryMerg=false)
SfxDispatcher * GetDispatcher()
constexpr tools::Long Height() const
constexpr tools::Long Width() const
bool GetHighContrastMode() const
void SetInvokeHandler(const Link< Timer *, void > &rLink)
static MapUnit UnoEmbed2VCLMapUnit(sal_Int32 nUnoEmbedMapUnit)
bool decompose(B2DTuple &rScale, B2DTuple &rTranslate, double &rRotate, double &rShearX) const
virtual void visit(const Primitive2DReference &)=0
double getTextWidth(const OUString &rText, sal_uInt32 nIndex, sal_uInt32 nLength) const
void setFont(const vcl::Font &rFont)
double getTextHeight() const
void FireSelectionChangeListener() noexcept
Call this method when the selection has changed.
virtual SfxUndoManager * GetUndoManager() override
void Start(SdrOutliner *pOutl)
Handle clipboard related tasks for the draw view.
DrawController * GetDrawController() const
std::shared_ptr< tools::EventMultiplexer > const & GetEventMultiplexer() const
Return an event multiplexer.
Base class of the stacked shell hierarchy.
virtual void UpdateScrollBars()
Set internal values of all scroll bars that determine thumb size and position.
::sd::Window * GetActiveWindow() const
The active window is usually the mpContentWindow.
SD_DLLPUBLIC ViewShellBase & GetViewShellBase() const
SD_DLLPUBLIC SfxViewFrame * GetViewFrame() const
bool IsPresObjSelected(bool bOnPage=true, bool bOnMasterPage=true, bool bCheckPresObjListOnly=false, bool bCheckLayoutOnly=false) const
Is a presentation object selected?
virtual bool HasMarkedPoints() const override
rtl::Reference< avmedia::PlayerListener > mxDropMediaSizeListener
void SetMarkedOriginalSize()
Sets the original size of the marked objects.
virtual bool SetStyleSheet(SfxStyleSheet *pStyleSheet, bool bDontRemoveHardAttr=false)
virtual bool SetAttributes(const SfxItemSet &rSet, bool bReplaceAll=false, bool bSlide=false, bool bMaster=false)
bool ShouldToggleOn(const bool bBulletOnOffMode, const bool bNormalBullet)
virtual void GetAttributes(SfxItemSet &rTargetSet, bool bOnlyHardAttr=false) const
std::unique_ptr< SdrUndoManager > createLocalTextUndoManager() override
bool isRecordingUndo() const
returns true if we have an undo manager and there is an open list undo action
virtual bool HasMarkablePoints() const override
virtual void DoConnect(SdrOle2Obj *pOleObj) override
Connect OLE object to client.
ViewShell * GetViewShell() const
virtual bool SdrBeginTextEdit(SdrObject *pObj, SdrPageView *pPV=nullptr, vcl::Window *pWin=nullptr, bool bIsNewObj=false, SdrOutliner *pGivenOutliner=nullptr, OutlinerView *pGivenOutlinerView=nullptr, bool bDontDeleteOutliner=false, bool bOnlyOneView=false, bool bGrabFocus=true) override
void ChangeMarkedObjectsBulletsNumbering(const bool bToggle, const bool bHandleBullets, const SvxNumRule *pNumRule)
change the bullets/numbering of the marked objects
View(SdDrawDocument &rDrawDoc, OutputDevice *pOutDev, ViewShell *pViewSh=nullptr)
virtual void OnBeginPasteOrDrop(PasteOrDropInfos *pInfo) override
sal_uInt16 mnLockRedrawSmph
virtual void OnEndPasteOrDrop(PasteOrDropInfos *pInfo) override
this is called after a paste or drop operation, make sure that the newly inserted paragraphs get the ...
virtual void onAccessibilityOptionsChanged() override
void ClearSelectionClipboard()
std::unique_ptr< SdrMarkList > mpDragSrcMarkList
void CompleteRedraw(OutputDevice *pOutDev, const vcl::Region &rReg, sdr::contact::ViewObjectContactRedirector *pRedirector=nullptr) override
The event will be forwarded to the View.
bool IsMorphingAllowed() const
virtual bool MarkPoints(const ::tools::Rectangle *pRect, bool bUnmark) override
virtual SdrEndTextEditKind SdrEndTextEdit(bool bDontDeleteReally=false) override
ends current text editing
bool RestoreDefaultText(SdrTextObj *pTextObj)
restores the default text if the given text object is currently in edit mode and no text has been ent...
virtual bool MarkPoint(SdrHdl &rHdl, bool bUnmark=false) override
SfxViewShell * GetSfxViewShell() const override
virtual void CheckPossibilities() override
virtual sal_Int32 GetMarkablePointCount() const override
virtual void AddCustomHdl() override
void ImplClearDrawDropMarker()
std::unique_ptr< SdrDropMarkerOverlay > mpDropMarker
sal_uInt16 mnDragSrcPgNum
bool IsVectorizeAllowed() const
OutlinerMasterViewFilter maMasterViewFilter
virtual SdrViewContext GetContext() const override
virtual void MarkListHasChanged() override
Idle maDropInsertFileIdle
An SdWindow contains the actual working area of ViewShell.
CellPos getLastCell() const
sal_Int32 getColumnCount() const
virtual SdrText * getText(sal_Int32 nIndex) const override
void getSelectedCells(CellPos &rFirstPos, CellPos &rLastPos) override
void SetFontHeight(tools::Long nHeight)
const AllSettings & GetSettings() const
const MapMode & GetMapMode() const
#define suppress_fun_call_w_exception(expr)
EmbeddedObjectRef * pObject
#define LINK(Instance, Class, Member)
bool IsOverlayBuffer_DrawImpress()
bool IsPaintBuffer_DrawImpress()
B2DHomMatrix createScaleShearXRotateTranslateB2DHomMatrix(double fScaleX, double fScaleY, double fShearX, double fRadiant, double fTranslateX, double fTranslateY)
B2DPolygon const & createUnitPolygon()
attribute::FontAttribute getFontAttributeFromVclFont(basegfx::B2DVector &o_rSize, const vcl::Font &rFont, bool bRTL, bool bBiDiStrong)
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
static void SetSpellOptions(const SdDrawDocument &rDoc, EEControlBits &rCntrl)
Start text input.
IMPL_LINK(SdCharHeightPropertyBox, implMenuSelectHdl, const OUString &, rIdent, void)
OUString SdResId(TranslateId aId)
SVXCORE_DLLPUBLIC Color GetTextEditBackgroundColor(const SdrObjEditView &rView)
SVXCORE_DLLPUBLIC std::unique_ptr< SdrOutliner > SdrMakeOutliner(OutlinerMode nOutlinerMode, SdrModel &rMod)
SVXCORE_DLLPUBLIC SdrTextObj * DynCastSdrTextObj(SdrObject *)
SVXCORE_DLLPUBLIC E3dObject * DynCastE3dObject(SdrObject *)
SVXCORE_DLLPUBLIC SdrPage * GetSdrPageFromXDrawPage(const css::uno::Reference< css::drawing::XDrawPage > &xDrawPage) noexcept
constexpr OUStringLiteral sUNO_LayerName_measurelines
constexpr TypedWhichId< XFillStyleItem > XATTR_FILLSTYLE(XATTR_FILL_FIRST)