20#include <editeng/editeng.hxx>
38#include <drawview.hxx>
40#include <com/sun/star/embed/EmbedVerbs.hpp>
45void collectUIInformation(
const OUString& aevent )
48 aDescription.
aID =
"grid_window";
50 aDescription.
aAction =
"COMMENT";
51 aDescription.
aParent =
"MainWindow";
52 aDescription.
aKeyWord =
"ScGridWinUIObject";
61 :
FuPoor(rViewSh, pWin, pViewP, pDoc, rReq)
78 bool bAlt = rMEvt.
IsMod2();
81 bool bAngleSnap = bShift;
159 bool bReturn =
false;
167 sal_uInt16 nTextSlotId = bVertical ? SID_DRAW_TEXT_VERTICAL : SID_DRAW_TEXT;
171 if ( !pPoor || pPoor->
GetSlotID() != nTextSlotId )
174 Execute(nTextSlotId, SfxCallMode::SYNCHRON | SfxCallMode::RECORD);
179 if ( pPoor && pPoor->
GetSlotID() == nTextSlotId )
192 bool bReturn =
false;
200 collectUIInformation(
"CLOSE");
244 auto pOleObj =
dynamic_cast<SdrOle2Obj*
>(pObj);
245 if( pOleObj && !bOle )
322 const_cast<SdrHdlList&
>(rHdlList).TravelFocusHdl(bForward);
446 nX *= aLogicSizeOnePixel.
Width();
447 nY *= aLogicSizeOnePixel.
Height();
462 if(0 != nX || 0 != nY)
479 aMarkRect.
Move(nX, nY);
483 if(aMarkRect.
Left() < rWorkArea.
Left())
485 nX += rWorkArea.
Left() - aMarkRect.
Left();
493 if(aMarkRect.
Top() < rWorkArea.
Top())
495 nY += rWorkArea.
Top() - aMarkRect.
Top();
529 bool bWasNoSnap = rDragStat.
IsNoSnap();
543 const_cast<SdrDragStat&
>(rDragStat).SetNoSnap(bWasNoSnap);
571 if(pHdl->
GetKind() == SdrHdlKind::Poly)
597 SdrHdl* pNewOne =
nullptr;
604 && pAct->
GetKind() == SdrHdlKind::Poly
614 const_cast<SdrHdlList&
>(rHdlList).SetFocusHdl(pNewOne);
656 if (eHit != SdrHitKind::NONE && aVEvt.
mpObj !=
nullptr)
662 if (aVEvt.
meEvent == SdrEventKind::ExecuteUrl)
675 bool bAlt = pMEvt && pMEvt->
IsMod2();
707 else if ( !bAlt && ( !pMEvt || !pMEvt->
GetButtons() )
711 pWindow->SetPointer( PointerStyle::RefHand );
720 pWindow->SetPointer( PointerStyle::RefHand );
734 for (
size_t nlv1=0; nlv1<backval; ++nlv1)
747 bool bIsSizingOrMoving =
false;
763 return bIsSizingOrMoving;
virtual bool BegDragObj(const Point &rPnt, OutputDevice *pOut, SdrHdl *pHdl, short nMinMov=-3, SdrDragMethod *pForcedMeth=nullptr) override
virtual void MovAction(const Point &rPnt) override
static bool IsSimpleCharInput(const KeyEvent &rKeyEvent)
virtual bool KeyInput(const KeyEvent &rKEvt) override
bool IsEditingANote() const
void DoModifiers(const MouseEvent &rMEvt)
virtual ~FuDraw() override
virtual void ForcePointer(const MouseEvent *pMEvt)
virtual bool MouseMove(const MouseEvent &rMEvt) override
bool IsSizingOrMovingNote(const MouseEvent &rMEvt) const
virtual bool MouseButtonUp(const MouseEvent &rMEvt) override
FuDraw(ScTabViewShell &rViewSh, vcl::Window *pWin, ScDrawView *pView, SdrModel *pDoc, const SfxRequest &rReq)
virtual bool MouseButtonDown(const MouseEvent &rMEvt) override
Base class for all functions.
virtual bool doConstructOrthogonal() const
bool IsDetectiveHit(const Point &rLogicPos)
virtual bool KeyInput(const KeyEvent &rKEvt)
sal_uInt16 GetSlotID() const
void SetMouseButtonCode(sal_uInt16 nNew)
ScTabViewShell & rViewShell
VclPtr< vcl::Window > pWindow
Base class for Text functions.
void SetInEditMode(SdrObject *pObj=nullptr, const Point *pMousePixel=nullptr, bool bCursorToEnd=false, const KeyEvent *pInitialKey=nullptr)
const vcl::KeyCode & GetKeyCode() const
sal_uInt16 GetButtons() const
const Point & GetPosPixel() const
bool IsEffectivelyVertical() const
static bool IsChart(const SdrObject *pObject)
static bool IsNoteCaption(SdrObject *pObj)
Returns true, if the passed object is the caption of a cell note.
static ScMacroInfo * GetMacroInfo(SdrObject *pObj, bool bCreate=false)
virtual void DeleteMarked() override
virtual void MakeVisible(const tools::Rectangle &rRect, vcl::Window &rWin) override
const OUString & GetMacro() const
bool IsDrawTextShell() const
void ActivateObject(SdrOle2Obj *pObj, sal_Int32 nVerb)
void SetDrawShell(bool bActive)
FuPoor * GetDrawFuncPtr()
ScViewData & GetViewData()
bool IsDrawSelMode() const
void SetActivePointer(PointerStyle nPointer)
SfxDispatcher & GetDispatcher()
const ScViewOptions & GetOptions() const
ScDocShell * GetDocShell() const
ScDBFunc * GetView() const
bool IsThemedCursor() const
const ScGridOptions & GetGridOptions() const
void SetCreate1stPointAsCenter(bool bOn)
bool IsCreate1stPointAsCenter() const
virtual bool IsAction() const override
bool EndDragObj(bool bCopy=false)
const tools::Rectangle & GetWorkArea() const
bool IsResizeAtCenter() const
void SetResizeAtCenter(bool bOn)
bool IsMoveAllowed() const
void MoveAllMarked(const Size &rSiz, bool bCopy=false)
size_t GetHdlCount() const
SdrHdl * GetFocusHdl() const
SdrHdl * GetHdl(size_t nNum) const
SdrHdlKind GetKind() const
sal_uInt32 GetPolyNum() const
const Point & GetPos() const
sal_uInt32 GetPointNum() const
size_t GetMarkCount() const
SdrMark * GetMark(size_t nNum) const
SdrHdl * PickHandle(const Point &rPnt) const
bool HasMarkableObj() const
const SdrMarkList & GetMarkedObjectList() const
bool AreObjectsMarked() const
const SdrHdlList & GetHdlList() const
SdrObject * PickObj(const Point &rPnt, short nTol, SdrPageView *&rpPV, SdrSearchOptions nOptions, SdrObject **ppRootObj, bool *pbHitPassDirect=nullptr) const
virtual bool MarkPoint(SdrHdl &rHdl, bool bUnmark=false)
void UnmarkAllObj(SdrPageView const *pPV=nullptr)
bool HasMultipleMarkableObjects() const
const tools::Rectangle & GetMarkedObjRect() const
bool IsMarkedHit(const Point &rPnt, short nTol=-2) const
const tools::Rectangle & GetAllMarkedRect() const
bool MarkNextObj(bool bPrev=false)
bool UnmarkPoint(SdrHdl &rHdl)
bool IsPointMarked(const SdrHdl &rHdl) const
SdrObject * GetMarkedSdrObj() const
bool IsTextEditFrameHit(const Point &rHit) const
virtual bool IsTextEdit() const final override
const OUString & getHyperlink() const
virtual OutlinerParaObject * GetOutlinerParaObject() const
bool IsGroupObject() const
virtual PointerStyle GetMacroPointer(const SdrObjMacroHitRec &rRec) const
const SdrDragStat & GetDragStat() const
sal_uInt16 getHitTolLog() const
void SetGridSnap(bool bOn)
void SetSnapEnabled(bool bOn)
void SetAngleSnapEnabled(bool bOn)
bool IsAngleSnapEnabled() const
bool IsSnapEnabled() const
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
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
sal_uInt16 GetSlot() const
SfxFrame & GetFrame() const
bool isLOKMobilePhone() const
SfxViewFrame & GetViewFrame() const
constexpr tools::Long Height() const
constexpr tools::Long Width() const
static SvxIMapInfo * GetIMapInfo(const SdrObject *pObject)
static IMapObject * GetHitIMapObject(const SdrObject *pObj, const Point &rWinPoint, const OutputDevice *pCmpWnd=nullptr)
bool GetUseGridSnap() const
static UITestLogger & getInstance()
void logEvent(const EventDescription &rDescription)
sal_uInt16 GetCode() const
sal_uInt16 GetModifier() const
::OutputDevice const * GetOutDev() const
Point PixelToLogic(const Point &rDevicePt) const
static bool lcl_KeyEditMode(SdrObject *pObj, ScTabViewShell &rViewShell, const KeyEvent *pInitialKey)
static bool lcl_UrlHit(const SdrView *pView, const Point &rPosPixel, const vcl::Window *pWindow)
constexpr sal_uInt16 KEY_RETURN
constexpr sal_uInt16 KEY_F2
constexpr sal_uInt16 KEY_ESCAPE
constexpr sal_uInt16 KEY_HOME
constexpr sal_uInt16 KEY_LEFT
constexpr sal_uInt16 KEY_TAB
constexpr sal_uInt16 KEY_UP
constexpr sal_uInt16 KEY_RIGHT
constexpr sal_uInt16 KEY_DELETE
constexpr sal_uInt16 KEY_DOWN
constexpr sal_uInt16 KEY_SPACE
constexpr sal_uInt16 KEY_END
std::map< OUString, OUString > aParameters
SVXCORE_DLLPUBLIC SdrTextObj * DynCastSdrTextObj(SdrObject *)