CWS-TOOLING: integrate CWS os150
[LibreOffice.git] / sd / source / ui / inc / fusel.hxx
blobe0d4c72ef28cbc3311cd74b6c6334fb5d55b8c84
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef SD_FU_SELECTION_HXX
29 #define SD_FU_SELECTION_HXX
31 #include "fudraw.hxx"
33 #include <com/sun/star/media/XPlayer.hpp>
35 class SdrHdl;
36 class SdrObject;
37 class Sound;
40 namespace sd {
42 class FuSelection
43 : public FuDraw
45 public:
46 TYPEINFO();
48 static FunctionReference Create( ViewShell* pViewSh, ::sd::Window* pWin, ::sd::View* pView, SdDrawDocument* pDoc, SfxRequest& rReq );
49 virtual void DoExecute( SfxRequest& rReq );
51 // Mouse- & Key-Events
52 virtual sal_Bool KeyInput(const KeyEvent& rKEvt);
53 virtual sal_Bool MouseMove(const MouseEvent& rMEvt);
54 virtual sal_Bool MouseButtonUp(const MouseEvent& rMEvt);
55 virtual sal_Bool MouseButtonDown(const MouseEvent& rMEvt);
57 virtual void Activate(); // Function aktivieren
58 virtual void Deactivate(); // Function deaktivieren
60 virtual void SelectionHasChanged();
62 void SetEditMode(sal_uInt16 nMode);
63 sal_uInt16 GetEditMode() { return nEditMode; }
65 sal_Bool AnimateObj(SdrObject* pObj, const Point& rPos);
67 /** is called when the currenct function should be aborted. <p>
68 This is used when a function gets a KEY_ESCAPE but can also
69 be called directly.
71 @returns true if a active function was aborted
73 virtual bool cancel();
75 protected:
76 FuSelection (ViewShell* pViewSh,
77 ::sd::Window* pWin,
78 ::sd::View* pView,
79 SdDrawDocument* pDoc,
80 SfxRequest& rReq);
82 virtual ~FuSelection();
84 sal_Bool bTempRotation;
85 sal_Bool bSelectionChanged;
86 sal_Bool bHideAndAnimate;
87 SdrHdl* pHdl;
88 sal_Bool bSuppressChangesOfSelection;
89 sal_Bool bMirrorSide0;
90 sal_uInt16 nEditMode;
91 ::com::sun::star::uno::Reference< ::com::sun::star::media::XPlayer > mxPlayer;
93 private:
94 /** This pointer stores a canidate for assigning a style in the water
95 can mode between mouse button down and mouse button up.
97 SdrObject* pWaterCanCandidate;
99 /** Find the object under the given test point without selecting it.
100 @param rTestPoint
101 The coordinates at which to search for a shape.
102 @return
103 The shape at the test point. When there is no shape at this
104 position then NULL is returned.
106 SdrObject* pickObject (const Point& rTestPoint);
109 } // end of namespace sd
111 #endif // _SD_FUSEL_HXX