1*c45d927aSAndrew Rist /************************************************************** 2*c45d927aSAndrew Rist * 3*c45d927aSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*c45d927aSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*c45d927aSAndrew Rist * distributed with this work for additional information 6*c45d927aSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*c45d927aSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*c45d927aSAndrew Rist * "License"); you may not use this file except in compliance 9*c45d927aSAndrew Rist * with the License. You may obtain a copy of the License at 10*c45d927aSAndrew Rist * 11*c45d927aSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*c45d927aSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*c45d927aSAndrew Rist * software distributed under the License is distributed on an 15*c45d927aSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*c45d927aSAndrew Rist * KIND, either express or implied. See the License for the 17*c45d927aSAndrew Rist * specific language governing permissions and limitations 18*c45d927aSAndrew Rist * under the License. 19*c45d927aSAndrew Rist * 20*c45d927aSAndrew Rist *************************************************************/ 21*c45d927aSAndrew Rist 22*c45d927aSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef SD_FU_TEXT_HXX 25cdf0e10cSrcweir #define SD_FU_TEXT_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #ifndef _EDITDATA_HXX 28cdf0e10cSrcweir #include <editeng/editdata.hxx> 29cdf0e10cSrcweir #endif 30cdf0e10cSrcweir #include "fuconstr.hxx" 31cdf0e10cSrcweir #include <svx/svdotext.hxx> 32cdf0e10cSrcweir 33cdf0e10cSrcweir struct StyleRequestData; 34cdf0e10cSrcweir class SdrTextObj; 35cdf0e10cSrcweir class OutlinerParaObject; 36cdf0e10cSrcweir class FontList; 37cdf0e10cSrcweir class OutlinerView; 38cdf0e10cSrcweir 39cdf0e10cSrcweir namespace sd { 40cdf0e10cSrcweir 41cdf0e10cSrcweir /************************************************************************* 42cdf0e10cSrcweir |* 43cdf0e10cSrcweir |* Basisklasse fuer Textfunktionen 44cdf0e10cSrcweir |* 45cdf0e10cSrcweir \************************************************************************/ 46cdf0e10cSrcweir 47cdf0e10cSrcweir class FuText 48cdf0e10cSrcweir : public FuConstruct 49cdf0e10cSrcweir { 50cdf0e10cSrcweir public: 51cdf0e10cSrcweir TYPEINFO(); 52cdf0e10cSrcweir 53cdf0e10cSrcweir static FunctionReference Create( ViewShell* pViewSh, ::sd::Window* pWin, ::sd::View* pView, SdDrawDocument* pDoc, SfxRequest& rReq ); 54cdf0e10cSrcweir virtual void DoExecute( SfxRequest& rReq ); 55cdf0e10cSrcweir 56cdf0e10cSrcweir virtual sal_Bool KeyInput(const KeyEvent& rKEvt); 57cdf0e10cSrcweir virtual sal_Bool MouseMove(const MouseEvent& rMEvt); 58cdf0e10cSrcweir virtual sal_Bool MouseButtonUp(const MouseEvent& rMEvt); 59cdf0e10cSrcweir virtual sal_Bool MouseButtonDown(const MouseEvent& rMEvt); 60cdf0e10cSrcweir virtual sal_Bool Command(const CommandEvent& rCEvt); 61cdf0e10cSrcweir virtual sal_Bool RequestHelp(const HelpEvent& rHEvt); 62cdf0e10cSrcweir virtual void ReceiveRequest(SfxRequest& rReq); 63cdf0e10cSrcweir virtual void DoubleClick(const MouseEvent& rMEvt); 64cdf0e10cSrcweir 65cdf0e10cSrcweir virtual void Activate(); // Function aktivieren 66cdf0e10cSrcweir virtual void Deactivate(); // Function deaktivieren 67cdf0e10cSrcweir 68cdf0e10cSrcweir void SetInEditMode(const MouseEvent& rMEvt, sal_Bool bQuickDrag); 69cdf0e10cSrcweir sal_Bool DeleteDefaultText(); 70cdf0e10cSrcweir SdrTextObj* GetTextObj() { return static_cast< SdrTextObj* >( mxTextObj.get() ); } 71cdf0e10cSrcweir 72cdf0e10cSrcweir DECL_LINK(SpellError, void* ); 73cdf0e10cSrcweir 74cdf0e10cSrcweir // #97016# 75cdf0e10cSrcweir virtual SdrObject* CreateDefaultObject(const sal_uInt16 nID, const Rectangle& rRectangle); 76cdf0e10cSrcweir 77cdf0e10cSrcweir /** is called when the currenct function should be aborted. <p> 78cdf0e10cSrcweir This is used when a function gets a KEY_ESCAPE but can also 79cdf0e10cSrcweir be called directly. 80cdf0e10cSrcweir 81cdf0e10cSrcweir @returns true if a active function was aborted 82cdf0e10cSrcweir */ 83cdf0e10cSrcweir virtual bool cancel(); 84cdf0e10cSrcweir 85cdf0e10cSrcweir static void ChangeFontSize( bool, OutlinerView*, const FontList*, ::sd::View* ); 86cdf0e10cSrcweir 87cdf0e10cSrcweir protected: 88cdf0e10cSrcweir FuText (ViewShell* pViewSh, 89cdf0e10cSrcweir ::sd::Window* pWin, 90cdf0e10cSrcweir ::sd::View* pView, 91cdf0e10cSrcweir SdDrawDocument* pDoc, 92cdf0e10cSrcweir SfxRequest& rReq); 93cdf0e10cSrcweir 94cdf0e10cSrcweir virtual void disposing(); 95cdf0e10cSrcweir 96cdf0e10cSrcweir SdrObjectWeakRef mxTextObj; 97cdf0e10cSrcweir Link aOldLink; 98cdf0e10cSrcweir sal_Bool bFirstObjCreated; 99cdf0e10cSrcweir 100cdf0e10cSrcweir SfxRequest& rRequest; 101cdf0e10cSrcweir 102cdf0e10cSrcweir private: 103cdf0e10cSrcweir // #97016# 104cdf0e10cSrcweir void ImpSetAttributesForNewTextObject(SdrTextObj* pTxtObj); 105cdf0e10cSrcweir void ImpSetAttributesFitToSize(SdrTextObj* pTxtObj); 106cdf0e10cSrcweir void ImpSetAttributesFitToSizeVertical(SdrTextObj* pTxtObj); 107cdf0e10cSrcweir void ImpSetAttributesFitCommon(SdrTextObj* pTxtObj); 108cdf0e10cSrcweir }; 109cdf0e10cSrcweir 110cdf0e10cSrcweir } // end of namespace sd 111cdf0e10cSrcweir 112cdf0e10cSrcweir #endif 113