1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 #ifndef _OUTLEENG_HXX 24 #define _OUTLEENG_HXX 25 26 #include <editeng/outliner.hxx> 27 #ifndef _EDITENG_HXX 28 #include <editeng/editeng.hxx> 29 #endif 30 31 typedef EENotify* EENotifyPtr; 32 SV_DECL_PTRARR_DEL( NotifyList, EENotifyPtr, 1, 1 ) 33 34 class OutlinerEditEng : public EditEngine 35 { 36 Outliner* pOwner; 37 38 protected: 39 40 // derived from EditEngine. Allows Outliner objetcs to provide 41 // bullet access to the EditEngine. 42 virtual const SvxNumberFormat* GetNumberFormat( sal_uInt16 nPara ) const; 43 44 public: 45 OutlinerEditEng( Outliner* pOwner, SfxItemPool* pPool ); 46 ~OutlinerEditEng(); 47 48 virtual void PaintingFirstLine( sal_uInt16 nPara, const Point& rStartPos, long nBaseLineY, const Point& rOrigin, short nOrientation, OutputDevice* pOutDev ); 49 50 virtual void ParagraphInserted( sal_uInt16 nNewParagraph ); 51 virtual void ParagraphDeleted( sal_uInt16 nDeletedParagraph ); 52 virtual void ParagraphConnected( sal_uInt16 nLeftParagraph, sal_uInt16 nRightParagraph ); 53 54 // #101498# 55 virtual void DrawingText( 56 const Point& rStartPos, const XubString& rText, sal_uInt16 nTextStart, sal_uInt16 nTextLen, const sal_Int32* pDXArray, const SvxFont& rFont, 57 sal_uInt16 nPara, sal_uInt16 nIndex, sal_uInt8 nRightToLeft, 58 const EEngineData::WrongSpellVector* pWrongSpellVector, 59 const SvxFieldData* pFieldData, 60 bool bEndOfLine, 61 bool bEndOfParagraph, 62 bool bEndOfBullet, 63 const ::com::sun::star::lang::Locale* pLocale, 64 const Color& rOverlineColor, 65 const Color& rTextLineColor); 66 67 virtual void StyleSheetChanged( SfxStyleSheet* pStyle ); 68 virtual void ParaAttribsChanged( sal_uInt16 nPara ); 69 virtual sal_Bool SpellNextDocument(); 70 virtual XubString GetUndoComment( sal_uInt16 nUndoId ) const; 71 72 // for text conversion 73 virtual sal_Bool ConvertNextDocument(); 74 75 virtual void FieldClicked( const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos ); 76 virtual void FieldSelected( const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos ); 77 virtual XubString CalcFieldValue( const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos, Color*& rTxtColor, Color*& rFldColor ); 78 79 virtual Rectangle GetBulletArea( sal_uInt16 nPara ); 80 81 virtual void SetParaAttribs( sal_uInt16 nPara, const SfxItemSet& rSet ); 82 83 // belongs into class Outliner, move there before incompatible update! 84 Link aOutlinerNotifyHdl; 85 NotifyList aNotifyCache; 86 }; 87 88 #endif 89 90