1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: futext.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef SD_FU_TEXT_HXX
32 #define SD_FU_TEXT_HXX
35 #include <svx/editdata.hxx>
37 #include "fuconstr.hxx"
38 #include <svx/svdotext.hxx>
40 struct StyleRequestData
;
42 class OutlinerParaObject
;
48 /*************************************************************************
50 |* Basisklasse fuer Textfunktionen
52 \************************************************************************/
60 static FunctionReference
Create( ViewShell
* pViewSh
, ::sd::Window
* pWin
, ::sd::View
* pView
, SdDrawDocument
* pDoc
, SfxRequest
& rReq
);
61 virtual void DoExecute( SfxRequest
& rReq
);
63 virtual BOOL
KeyInput(const KeyEvent
& rKEvt
);
64 virtual BOOL
MouseMove(const MouseEvent
& rMEvt
);
65 virtual BOOL
MouseButtonUp(const MouseEvent
& rMEvt
);
66 virtual BOOL
MouseButtonDown(const MouseEvent
& rMEvt
);
67 virtual BOOL
Command(const CommandEvent
& rCEvt
);
68 virtual BOOL
RequestHelp(const HelpEvent
& rHEvt
);
69 virtual void ReceiveRequest(SfxRequest
& rReq
);
70 virtual void DoubleClick(const MouseEvent
& rMEvt
);
72 virtual void Activate(); // Function aktivieren
73 virtual void Deactivate(); // Function deaktivieren
75 void SetInEditMode(const MouseEvent
& rMEvt
, BOOL bQuickDrag
);
76 BOOL
DeleteDefaultText();
77 SdrTextObj
* GetTextObj() { return static_cast< SdrTextObj
* >( mxTextObj
.get() ); }
79 DECL_LINK(SpellError
, void* );
82 virtual SdrObject
* CreateDefaultObject(const sal_uInt16 nID
, const Rectangle
& rRectangle
);
84 /** is called when the currenct function should be aborted. <p>
85 This is used when a function gets a KEY_ESCAPE but can also
88 @returns true if a active function was aborted
90 virtual bool cancel();
92 static void ChangeFontSize( bool, OutlinerView
*, const FontList
*, ::sd::View
* );
95 FuText (ViewShell
* pViewSh
,
101 virtual void disposing();
103 SdrObjectWeakRef mxTextObj
;
105 BOOL bFirstObjCreated
;
107 SfxRequest
& rRequest
;
111 void ImpSetAttributesForNewTextObject(SdrTextObj
* pTxtObj
);
112 void ImpSetAttributesFitToSize(SdrTextObj
* pTxtObj
);
113 void ImpSetAttributesFitToSizeVertical(SdrTextObj
* pTxtObj
);
114 void ImpSetAttributesFitCommon(SdrTextObj
* pTxtObj
);
117 } // end of namespace sd