merge the formfield patch from ooo-build
[ooovba.git] / sd / source / ui / inc / futext.hxx
blob0a75614de6554a60d9b9ae085c31b2a9816ef5e5
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: futext.hxx,v $
10 * $Revision: 1.9 $
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
34 #ifndef _EDITDATA_HXX
35 #include <svx/editdata.hxx>
36 #endif
37 #include "fuconstr.hxx"
38 #include <svx/svdotext.hxx>
40 struct StyleRequestData;
41 class SdrTextObj;
42 class OutlinerParaObject;
43 class FontList;
44 class OutlinerView;
46 namespace sd {
48 /*************************************************************************
50 |* Basisklasse fuer Textfunktionen
52 \************************************************************************/
54 class FuText
55 : public FuConstruct
57 public:
58 TYPEINFO();
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* );
81 // #97016#
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
86 be called directly.
88 @returns true if a active function was aborted
90 virtual bool cancel();
92 static void ChangeFontSize( bool, OutlinerView*, const FontList*, ::sd::View* );
94 protected:
95 FuText (ViewShell* pViewSh,
96 ::sd::Window* pWin,
97 ::sd::View* pView,
98 SdDrawDocument* pDoc,
99 SfxRequest& rReq);
101 virtual void disposing();
103 SdrObjectWeakRef mxTextObj;
104 Link aOldLink;
105 BOOL bFirstObjCreated;
107 SfxRequest& rRequest;
109 private:
110 // #97016#
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
119 #endif