LibreOffice Module sd (master) 1
fudraw.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include "fupoor.hxx"
23
24struct SdrViewEvent;
25class SdrObject;
26
27namespace sd {
28
32class FuDraw
33 : public FuPoor
34{
35public:
36
37 virtual bool KeyInput(const KeyEvent& rKEvt) override;
38 virtual bool MouseMove(const MouseEvent& rMEvt) override;
39 virtual bool MouseButtonUp(const MouseEvent& rMEvt) override;
40 virtual bool MouseButtonDown(const MouseEvent& rMEvt) override;
41 virtual bool RequestHelp(const HelpEvent& rHEvt) override;
42
43 virtual void Activate() override;
44
45 virtual void ForcePointer(const MouseEvent* pMEvt = nullptr);
46
47 virtual void DoubleClick(const MouseEvent& rMEvt);
48
49 bool SetPointer(const SdrObject* pObj, const Point& rPos);
50 bool SetHelpText(const SdrObject* pObj, const Point& rPos, const SdrViewEvent& rVEvt);
51
52 void SetPermanent(bool bSet) { bPermanent = bSet; }
53
60 virtual bool cancel() override;
61
62protected:
63 FuDraw (ViewShell* pViewSh,
64 ::sd::Window* pWin,
65 ::sd::View* pView,
66 SdDrawDocument* pDoc,
67 SfxRequest& rReq);
68
69 virtual ~FuDraw() override;
70
73 bool bMBDown;
75 sal_uInt16 nHelpLine;
77
78private:
79 void DoModifiers(const MouseEvent& rMEvt, bool bSnapModPressed);
80
81};
82
83} // end of namespace sd
84
85/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Base class for all Draw specific functions.
Definition: fudraw.hxx:34
virtual bool KeyInput(const KeyEvent &rKEvt) override
Process keyboard input.
Definition: fudraw.cxx:317
sal_uInt16 nHelpLine
Definition: fudraw.hxx:75
bool SetPointer(const SdrObject *pObj, const Point &rPos)
Set cursor to pointer when in clickable area of an ImageMap.
Definition: fudraw.cxx:583
virtual ~FuDraw() override
Definition: fudraw.cxx:77
void DoModifiers(const MouseEvent &rMEvt, bool bSnapModPressed)
Code shared by MouseButtonDown and MouseMove.
Definition: fudraw.cxx:86
PointerStyle aNewPointer
Definition: fudraw.hxx:71
bool bPermanent
Definition: fudraw.hxx:76
bool SetHelpText(const SdrObject *pObj, const Point &rPos, const SdrViewEvent &rVEvt)
Definition: fudraw.cxx:726
virtual bool cancel() override
is called when the current function should be aborted.
Definition: fudraw.cxx:773
virtual bool RequestHelp(const HelpEvent &rHEvt) override
Definition: fudraw.cxx:681
virtual void Activate() override
activates the function
Definition: fudraw.cxx:441
void SetPermanent(bool bSet)
Definition: fudraw.hxx:52
bool bMBDown
Definition: fudraw.hxx:73
virtual bool MouseMove(const MouseEvent &rMEvt) override
Definition: fudraw.cxx:214
PointerStyle aOldPointer
Definition: fudraw.hxx:72
FuDraw(ViewShell *pViewSh, ::sd::Window *pWin, ::sd::View *pView, SdDrawDocument *pDoc, SfxRequest &rReq)
Base-class for all drawmodul-specific functions.
Definition: fudraw.cxx:65
virtual void DoubleClick(const MouseEvent &rMEvt)
Response of doubleclick.
Definition: fudraw.cxx:627
virtual void ForcePointer(const MouseEvent *pMEvt=nullptr)
Toggle mouse-pointer.
Definition: fudraw.cxx:450
virtual bool MouseButtonUp(const MouseEvent &rMEvt) override
Definition: fudraw.cxx:274
bool bDragHelpLine
Definition: fudraw.hxx:74
virtual bool MouseButtonDown(const MouseEvent &rMEvt) override
Definition: fudraw.cxx:141
Base class for all functions.
Definition: fupoor.hxx:48
Base class of the stacked shell hierarchy.
Definition: ViewShell.hxx:92
An SdWindow contains the actual working area of ViewShell.
Definition: Window.hxx:45
PointerStyle