36#include <svx/svxids.hrc>
67 :
FuPoor(pViewSh, pWin, pView, pDoc, rReq)
71 , bDragHelpLine(false)
90 bGridSnap = (bSnapModPressed != bGridSnap);
96 bBordSnap = (bSnapModPressed != bBordSnap);
102 bHlplSnap = (bSnapModPressed != bHlplSnap);
108 bOFrmSnap = (bSnapModPressed != bOFrmSnap);
114 bOPntSnap = (bSnapModPressed != bOPntSnap);
120 bOConSnap = (bSnapModPressed != bOConSnap);
130 bool bCenter = rMEvt.
IsMod2();
146 bool bReturn =
false;
156 bool bRestricted =
true;
184 bool bSnapModPressed = rMEvt.
IsMod1();
194 bool bHelpLine(
false);
220 bool bRestricted =
true;
248 bool bSnapModPressed = rMEvt.
IsMod2();
319 bool bReturn =
false;
337 VclMessageType::Info, VclButtonsType::Ok,
338 SdResId(STR_ACTION_NOTPOSSIBLE)));
366 SfxCallMode::ASYNCHRON | SfxCallMode::RECORD);
453 sal_uInt16 nModifier = 0;
454 bool bLeftDown =
false;
455 bool bDefPointer =
true;
461 bLeftDown = pMEvt->
IsLeft();
474 mpWindow->SetPointer(PointerStyle::Fill);
481 if (
SD_MOD()->GetWaterCan() && !pHdl)
485 mpWindow->SetPointer(PointerStyle::Fill);
496 mpWindow->SetPointer(PointerStyle::RefHand);
512 if ((eDragMode == SdrDragMode::Rotate) && (eHit == SdrHitKind::MarkedObject))
522 mpWindow->SetPointer(PointerStyle::Rotate);
527 if (eHit == SdrHitKind::NONE)
532 else if (eHit == SdrHitKind::UnmarkedObject)
536 else if (eHit == SdrHitKind::TextEditObj &&
dynamic_cast< const FuSelection *
>(
this ) !=
nullptr)
540 if ( nSdrObjKind != SdrObjKind::Text &&
541 nSdrObjKind != SdrObjKind::TitleText &&
542 nSdrObjKind != SdrObjKind::OutlineText &&
547 mpWindow->SetPointer(PointerStyle::Arrow);
551 if (pObj && pMEvt && !pMEvt->
IsMod2()
552 &&
dynamic_cast<const FuSelection*
>(
this) !=
nullptr)
558 && (
dynamic_cast<const SdrObjGroup*
>(pObj) !=
nullptr
563 SdrSearchOptions::ALSOONMASTER | SdrSearchOptions::DEEP);
574 aPnt,
mpWindow->GetOutDev(), nModifier, bLeftDown));
593 Point aHitPosR(rPos);
594 Point aHitPosL(rPos);
595 Point aHitPosT(rPos);
596 Point aHitPosB(rPos);
616 mpWindow->SetPointer(PointerStyle::RefHand);
643 if (nInv == SdrInventor::Default && nSdrObjKind == SdrObjKind::OLE2)
649 SfxCallMode::ASYNCHRON | SfxCallMode::RECORD,
652 else if (nInv == SdrInventor::Default && nSdrObjKind == SdrObjKind::Graphic && pObj->
IsEmptyPresObj() )
656 SfxCallMode::ASYNCHRON | SfxCallMode::RECORD );
659 !
SD_MOD()->GetWaterCan() &&
666 SfxCallMode::ASYNCHRON | SfxCallMode::RECORD,
669 else if (nInv == SdrInventor::Default && nSdrObjKind == SdrObjKind::Group)
683 bool bReturn =
false;
695 if (eHit != SdrHitKind::NONE && pObj !=
nullptr)
752 if (aHelpText.isEmpty())
775 bool bReturn =
false;
790 rBindings.
Invalidate( SID_PARASPACE_INCREASE );
791 rBindings.
Invalidate( SID_PARASPACE_DECREASE );
800 const_cast<SdrHdlList&
>(rHdlList).ResetFocusHdl();
810 SfxCallMode::ASYNCHRON | SfxCallMode::RECORD);
static weld::MessageDialog * CreateMessageDialog(weld::Widget *pParent, VclMessageType eMessageType, VclButtonsType eButtonType, const OUString &rPrimaryMessage, const ILibreOfficeKitNotifier *pNotifier=nullptr)
const Point & GetMousePosPixel() const
static bool IsQuickHelpEnabled()
static bool IsBalloonHelpEnabled()
static void ShowQuickHelp(vcl::Window *pParent, const tools::Rectangle &rScreenRect, const OUString &rHelpText, QuickHelpFlags nStyle=QuickHelpFlags::NONE)
static void ShowBalloon(vcl::Window *pParent, const Point &rScreenPos, const tools::Rectangle &, const OUString &rHelpText)
const OUString & GetAltText() const
const OUString & GetURL() const
static OUString decode(std::u16string_view rText, DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
const vcl::KeyCode & GetKeyCode() const
sal_uInt16 GetModifier() const
sal_uInt16 GetButtons() const
const Point & GetPosPixel() const
tools::Long AdjustY(tools::Long nVertMove)
tools::Long AdjustX(tools::Long nHorzMove)
void SetCreate1stPointAsCenter(bool bOn)
virtual void BrkAction() override
bool IsCreate1stPointAsCenter() const
virtual bool IsAction() const override
const SdrHdl * GetHdl() const
bool IsDragWithCopy() const
void SetDragWithCopy(bool bOn)
bool IsResizeAtCenter() const
void SetResizeAtCenter(bool bOn)
SdrHdl * GetFocusHdl() const
size_t GetMarkCount() const
SdrMark * GetMark(size_t nNum) const
SdrHdl * PickHandle(const Point &rPnt) const
const SdrMarkList & GetMarkedObjectList() const
bool AreObjectsMarked() const
const SdrHdlList & GetHdlList() const
void UnMarkAll(SdrPageView const *pPV=nullptr)
SdrObject * PickObj(const Point &rPnt, short nTol, SdrPageView *&rpPV, SdrSearchOptions nOptions, SdrObject **ppRootObj, bool *pbHitPassDirect=nullptr) const
SdrViewEditMode GetEditMode() const
SdrDragMode GetDragMode() const
void UnmarkAllObj(SdrPageView const *pPV=nullptr)
bool HasMultipleMarkableObjects() const
virtual bool RequestHelp(const HelpEvent &rHEvt) override
const tools::Rectangle & GetAllMarkedRect() const
bool MarkNextObj(bool bPrev=false)
bool MarkObj(const Point &rPnt, short nTol=-2, bool bToggle=false, bool bDeep=false)
SdrObject * GetMarkedSdrObj() const
virtual bool IsTextEdit() const final override
virtual SdrInventor GetObjInventor() const
bool IsEmptyPresObj() const
virtual SdrObjKind GetObjIdentifier() const
virtual const tools::Rectangle & GetLogicRect() const
const SdrLayerIDSet & GetVisibleLayers() const
void DeleteHelpLine(sal_uInt16 nNum)
virtual void MakeVisible(const tools::Rectangle &rRect, vcl::Window &rWin)
bool IsHlplVisible() const
const SdrDragStat & GetDragStat() const
SdrPageView * GetSdrPageView() const
sal_uInt16 getHitTolLog() const
void MovDragHelpLine(const Point &rPnt)
void SetOFrmSnap(bool bOn)
void SetOPntSnap(bool bOn)
void SetHlplSnap(bool bOn)
void SetBordSnap(bool bOn)
void SetGridSnap(bool bOn)
void SetSnapEnabled(bool bOn)
void SetAngleSnapEnabled(bool bOn)
bool IsAngleSnapEnabled() const
bool IsSnapEnabled() const
bool PickHelpLine(const Point &rPnt, short nTol, const OutputDevice &rOut, sal_uInt16 &rnHelpLineNum, SdrPageView *&rpPV) const
bool BegDragHelpLine(sal_uInt16 nHelpLineNum, SdrPageView *pPV)
bool IsDragHelpLine() const
void SetOConSnap(bool bOn)
virtual void DeleteMarked()
SdrHitKind PickAnything(const MouseEvent &rMEvt, SdrMouseEventKind nMouseDownOrMoveOrUp, SdrViewEvent &rVEvt) const
PointerStyle GetPreferredPointer(const Point &rMousePos, const OutputDevice *pOut, sal_uInt16 nModifier=0, bool bLeftDown=false) const
virtual bool MouseMove(const MouseEvent &rMEvt, OutputDevice *pWin) override
void Invalidate(sal_uInt16 nId)
vcl::Window * GetWindow() const
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
const SfxPoolItem * ExecuteList(sal_uInt16 nSlot, SfxCallMode nCall, std::initializer_list< SfxPoolItem const * > args, std::initializer_list< SfxPoolItem const * > internalargs=std::initializer_list< SfxPoolItem const * >())
static OUString GetURLHelpText(std::u16string_view)
SfxBindings & GetBindings()
bool HasChildWindow(sal_uInt16)
SfxDispatcher * GetDispatcher()
SfxChildWindow * GetChildWindow(sal_uInt16)
bool IsEyedropping() const
static SvxIMapInfo * GetIMapInfo(const SdrObject *pObject)
static IMapObject * GetHitIMapObject(const SdrObject *pObj, const Point &rWinPoint, const OutputDevice *pCmpWnd=nullptr)
const OUString & GetURL() const
bool IsDoubleClickTextEdit() const
virtual bool KeyInput(const KeyEvent &rKEvt) override
Process keyboard input.
bool SetPointer(const SdrObject *pObj, const Point &rPos)
Set cursor to pointer when in clickable area of an ImageMap.
virtual ~FuDraw() override
void DoModifiers(const MouseEvent &rMEvt, bool bSnapModPressed)
Code shared by MouseButtonDown and MouseMove.
bool SetHelpText(const SdrObject *pObj, const Point &rPos, const SdrViewEvent &rVEvt)
virtual bool cancel() override
is called when the current function should be aborted.
virtual bool RequestHelp(const HelpEvent &rHEvt) override
virtual void Activate() override
activates the function
virtual bool MouseMove(const MouseEvent &rMEvt) override
FuDraw(ViewShell *pViewSh, ::sd::Window *pWin, ::sd::View *pView, SdDrawDocument *pDoc, SfxRequest &rReq)
Base-class for all drawmodul-specific functions.
virtual void DoubleClick(const MouseEvent &rMEvt)
Response of doubleclick.
virtual void ForcePointer(const MouseEvent *pMEvt=nullptr)
Toggle mouse-pointer.
virtual bool MouseButtonUp(const MouseEvent &rMEvt) override
virtual bool MouseButtonDown(const MouseEvent &rMEvt) override
Base class for all functions.
virtual bool doConstructOrthogonal() const
Decide if the object to be created should be created orthogonal.
virtual bool MouseButtonUp(const MouseEvent &rMEvt)
virtual bool RequestHelp(const HelpEvent &rHEvt)
virtual bool KeyInput(const KeyEvent &rKEvt)
handle keyboard events
virtual void Activate()
activates the function
VclPtr< ::sd::Window > mpWindow
Point aMDPos
position of MouseButtonDown
void SetMouseButtonCode(sal_uInt16 nNew)
Base class of the stacked shell hierarchy.
FrameView * GetFrameView()
SD_DLLPUBLIC weld::Window * GetFrameWeld() 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 SdrEndTextEditKind SdrEndTextEdit(bool bDontDeleteReally=false) override
ends current text editing
An SdWindow contains the actual working area of ViewShell.
sal_uInt16 GetCode() const
EmbeddedObjectRef * pObject
constexpr sal_uInt16 KEY_ESCAPE
constexpr sal_uInt16 KEY_HOME
constexpr sal_uInt16 KEY_TAB
constexpr sal_uInt16 KEY_DELETE
constexpr sal_uInt16 KEY_BACKSPACE
constexpr sal_uInt16 KEY_END
SfxDispatcher * GetDispatcher()
OUString SdResId(TranslateId aId)
SVXCORE_DLLPUBLIC SdrObject * SdrObjectPrimitiveHit(const SdrObject &rObject, const Point &rPnt, const basegfx::B2DVector &rHitTolerance, const SdrPageView &rSdrPageView, const SdrLayerIDSet *pVisiLayer, bool bTextOnly, drawinglayer::primitive2d::Primitive2DContainer *pHitContainer=nullptr)
const SvxURLField * mpURLField
SVXCORE_DLLPUBLIC SdrTextObj * DynCastSdrTextObj(SdrObject *)
SVXCORE_DLLPUBLIC E3dObject * DynCastE3dObject(SdrObject *)
SVXCORE_DLLPUBLIC E3dScene * DynCastE3dScene(SdrObject *)