xref: /AOO41X/main/editeng/inc/editeng/editeng.hxx (revision 4d7c9de063a797b8b4f3d45e3561e82ad1f8ef1f)
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 // MyEDITENG, wegen exportiertem EditEng
24 #ifndef _MyEDITENG_HXX
25 #define _MyEDITENG_HXX
26 
27 class ImpEditEngine;
28 class EditView;
29 class OutputDevice;
30 class EditUndo;
31 class SvxFont;
32 class SfxItemPool;
33 class SfxStyleSheet;
34 class String;
35 class SfxStyleSheetPool;
36 class SvxSearchItem;
37 class SvxFieldItem;
38 class SvxCharSetColorItem;
39 class SfxUndoAction;
40 class MapMode;
41 class Color;
42 class Font;
43 class KeyEvent;
44 class PolyPolygon;
45 class Size;
46 class Point;
47 class Rectangle;
48 class SvStream;
49 class Link;
50 class OutputDevice;
51 class SvUShorts;
52 class SfxPoolItem;
53 class SvxNumBulletItem;
54 class SvxBulletItem;
55 class SvxLRSpaceItem;
56 class SvKeyValueIterator;
57 class SvxForbiddenCharactersTable;
58 class SvxNumberFormat;
59 class FontList;
60 
61 #include <vos/ref.hxx>
62 #include <vector>
63 #include <com/sun/star/uno/Reference.h>
64 
65 namespace com { namespace sun { namespace star {
66   namespace linguistic2 {
67     class XSpellChecker1;
68     class XHyphenator;
69   }
70   namespace datatransfer {
71     class XTransferable;
72   }
73   namespace lang {
74     struct Locale;
75   }
76 }}}
77 namespace svx{
78 struct SpellPortion;
79 typedef std::vector<SpellPortion> SpellPortions;
80 }
81 namespace svl{
82 class IUndoManager;
83 }
84 
85 namespace basegfx { class B2DPolyPolygon; }
86 #include <rsc/rscsfx.hxx>
87 #ifndef _EDITDATA_HXX
88 #include <editeng/editdata.hxx>
89 #endif
90 #include <i18npool/lang.h>
91 #include "editeng/editengdllapi.h"
92 
93 #include <tools/rtti.hxx>   // wegen typedef TypeId
94 
95 #include <editeng/eedata.hxx>
96 class SvxFieldData;
97 
98 //////////////////////////////////////////////////////////////////////////////
99 
100 /** values for GetAttribs
101 */
102 const sal_uInt8 EditEngineAttribs_All   = 0;        /// returns all attributes even when theire not set
103 const sal_uInt8 EditEngineAttribs_HardAndPara = 1;  /// returns all attributes set on paragraph and on portions
104 const sal_uInt8 EditEngineAttribs_OnlyHard = 2;     /// returns only attributes hard set on portions
105 
106 #define GETATTRIBS_STYLESHEET   (sal_uInt8)0x01
107 #define GETATTRIBS_PARAATTRIBS  (sal_uInt8)0x02
108 #define GETATTRIBS_CHARATTRIBS  (sal_uInt8)0x04
109 #define GETATTRIBS_ALL          (sal_uInt8)0xFF
110 
111 class SdrObject;
112 class EDITENG_DLLPUBLIC EditEngine
113 {
114     friend class EditView;
115     friend class ImpEditView;
116     friend class EditDbg;
117     friend class Outliner;
118 
119 private:
120     ImpEditEngine*  pImpEditEngine;
121 
122                     EDITENG_DLLPRIVATE EditEngine( const EditEngine& );
123     EDITENG_DLLPRIVATE EditEngine&      operator=( const EditEngine& );
124 
125 //#if 0 // _SOLAR__PRIVATE
126     EDITENG_DLLPRIVATE sal_Bool PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pView );
127 //#endif
128 
129 protected:
130 
131 
132 public:
133                     EditEngine( SfxItemPool* pItemPool );
134     virtual         ~EditEngine();
135 
136     const SfxItemSet&   GetEmptyItemSet();
137 
138     void            SetDefTab( sal_uInt16 nDefTab );
139     sal_uInt16          GetDefTab() const;
140 
141     void            SetRefDevice( OutputDevice* pRefDef );
142     OutputDevice*   GetRefDevice() const;
143 
144     void            SetRefMapMode( const MapMode& rMapMode );
145     MapMode         GetRefMapMode();
146 
147     void            SetUpdateMode( sal_Bool bUpdate );
148     sal_Bool            GetUpdateMode() const;
149     //IAccessible2 migration fix
150     void                    SetUpdateModeForAcc( sal_Bool bUp);
151     sal_Bool                GetUpdateModeForAcc( ) const;
152 
153     void            SetBackgroundColor( const Color& rColor );
154     Color           GetBackgroundColor() const;
155     Color           GetAutoColor() const;
156     void            EnableAutoColor( sal_Bool b );
157     sal_Bool            IsAutoColorEnabled() const;
158     void            ForceAutoColor( sal_Bool b );
159     sal_Bool            IsForceAutoColor() const;
160 
161     void            InsertView( EditView* pEditView, sal_uInt16 nIndex = EE_APPEND );
162     EditView*       RemoveView( EditView* pEditView );
163     EditView*       RemoveView( sal_uInt16 nIndex = EE_APPEND );
164     EditView*       GetView( sal_uInt16 nIndex = 0 ) const;
165     sal_uInt16          GetViewCount() const;
166     sal_Bool            HasView( EditView* pView ) const;
167     EditView*       GetActiveView() const;
168     void            SetActiveView( EditView* pView );
169 
170     void            SetPaperSize( const Size& rSize );
171     const Size&     GetPaperSize() const;
172 
173     void            SetVertical( sal_Bool bVertical );
174     sal_Bool            IsVertical() const;
175 
176     void            SetFixedCellHeight( sal_Bool bUseFixedCellHeight );
177     sal_Bool            IsFixedCellHeight() const;
178 
179     void                        SetDefaultHorizontalTextDirection( EEHorizontalTextDirection eHTextDir );
180     EEHorizontalTextDirection   GetDefaultHorizontalTextDirection() const;
181 
182     sal_uInt16          GetScriptType( const ESelection& rSelection ) const;
183     LanguageType    GetLanguage( sal_uInt16 nPara, sal_uInt16 nPos ) const;
184 
185     void            TransliterateText( const ESelection& rSelection, sal_Int32 nTransliterationMode );
186 
187     void            SetAsianCompressionMode( sal_uInt16 nCompression );
188     sal_uInt16          GetAsianCompressionMode() const;
189 
190     void            SetKernAsianPunctuation( sal_Bool bEnabled );
191     sal_Bool            IsKernAsianPunctuation() const;
192 
193     void            SetAddExtLeading( sal_Bool b );
194     sal_Bool            IsAddExtLeading() const;
195 
196     void                SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon );
197     void                SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::B2DPolyPolygon* pLinePolyPolygon);
198     void                ClearPolygon();
199     const PolyPolygon*  GetPolygon();
200 
201     const Size&     GetMinAutoPaperSize() const;
202     void            SetMinAutoPaperSize( const Size& rSz );
203 
204     const Size&     GetMaxAutoPaperSize() const;
205     void            SetMaxAutoPaperSize( const Size& rSz );
206 
207     String          GetText( LineEnd eEnd = LINEEND_LF ) const;
208     String          GetText( const ESelection& rSelection, const LineEnd eEnd = LINEEND_LF ) const;
209     sal_uInt32      GetTextLen() const;
210     sal_uInt32      GetTextHeight() const;
211     sal_uInt32      CalcTextWidth();
212 
213     String          GetText( sal_uInt16 nParagraph ) const;
214     xub_StrLen      GetTextLen( sal_uInt16 nParagraph ) const;
215     sal_uInt32      GetTextHeight( sal_uInt16 nParagraph ) const;
216 
217     sal_uInt16          GetParagraphCount() const;
218 
219     sal_uInt16          GetLineCount( sal_uInt16 nParagraph ) const;
220     xub_StrLen      GetLineLen( sal_uInt16 nParagraph, sal_uInt16 nLine ) const;
221     void            GetLineBoundaries( /*out*/sal_uInt16 &rStart, /*out*/sal_uInt16 &rEnd, sal_uInt16 nParagraph, sal_uInt16 nLine ) const;
222     sal_uInt16          GetLineNumberAtIndex( sal_uInt16 nPara, sal_uInt16 nIndex ) const;
223     sal_uInt32      GetLineHeight( sal_uInt16 nParagraph, sal_uInt16 nLine = 0 );
224     sal_uInt16          GetFirstLineOffset( sal_uInt16 nParagraph );
225     ParagraphInfos  GetParagraphInfos( sal_uInt16 nPara );
226     sal_uInt16          FindParagraph( long nDocPosY );
227     EPosition       FindDocPosition( const Point& rDocPos ) const;
228     Rectangle       GetCharacterBounds( const EPosition& rPos ) const;
229 
230     String          GetWord( sal_uInt16 nPara, xub_StrLen nIndex );
231 
232     ESelection      GetWord( const ESelection& rSelection, sal_uInt16 nWordType ) const;
233     ESelection      WordLeft( const ESelection& rSelection, sal_uInt16 nWordType  ) const;
234     ESelection      WordRight( const ESelection& rSelection, sal_uInt16 nWordType  ) const;
235     ESelection      CursorLeft( const ESelection& rSelection, sal_uInt16 nCharacterIteratorMode ) const;
236     ESelection      CursorRight( const ESelection& rSelection, sal_uInt16 nCharacterIteratorMode ) const;
237     ESelection      SelectSentence( const ESelection& rCurSel ) const;
238 
239     void            Clear();
240     void            SetText( const String& rStr );
241 
242     EditTextObject* CreateTextObject();
243     EditTextObject* CreateTextObject( sal_uInt16 nPara, sal_uInt16 nParas = 1 );
244     EditTextObject* CreateTextObject( const ESelection& rESelection );
245     void            SetText( const EditTextObject& rTextObject );
246 
247     void            RemoveParagraph( sal_uInt16 nPara );
248     void            InsertParagraph( sal_uInt16 nPara, const EditTextObject& rTxtObj );
249     void            InsertParagraph( sal_uInt16 nPara, const String& rText);
250 
251     void            SetText( sal_uInt16 nPara, const EditTextObject& rTxtObj );
252     void            SetText( sal_uInt16 nPara, const String& rText);
253 
254     virtual void                SetParaAttribs( sal_uInt16 nPara, const SfxItemSet& rSet );
255     virtual const SfxItemSet&   GetParaAttribs( sal_uInt16 nPara ) const;
256 
257     void                GetCharAttribs( sal_uInt16 nPara, EECharAttribArray& rLst ) const;
258 
259     SfxItemSet          GetAttribs( sal_uInt16 nPara, sal_uInt16 nStart, sal_uInt16 nEnd, sal_uInt8 nFlags = 0xFF ) const;
260     SfxItemSet          GetAttribs( const ESelection& rSel, sal_Bool bOnlyHardAttrib = EditEngineAttribs_All );
261 
262     sal_Bool                HasParaAttrib( sal_uInt16 nPara, sal_uInt16 nWhich ) const;
263     const SfxPoolItem&  GetParaAttrib( sal_uInt16 nPara, sal_uInt16 nWhich );
264 
265     Font            GetStandardFont( sal_uInt16 nPara );
266     SvxFont         GetStandardSvxFont( sal_uInt16 nPara );
267 
268     void            RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
269 
270     void            ShowParagraph( sal_uInt16 nParagraph, sal_Bool bShow = sal_True );
271     sal_Bool            IsParagraphVisible( sal_uInt16 nParagraph );
272 
273     ::svl::IUndoManager& GetUndoManager();
274     ::svl::IUndoManager* SetUndoManager(::svl::IUndoManager* pNew);
275     void            UndoActionStart( sal_uInt16 nId );
276     void            UndoActionEnd( sal_uInt16 nId );
277     sal_Bool        IsInUndo();
278 
279     void            EnableUndo( sal_Bool bEnable );
280     sal_Bool            IsUndoEnabled();
281 
282     /** returns the value last used for bTryMerge while calling ImpEditEngine::InsertUndo
283         This is currently used in a bad but needed hack to get undo actions merged in the
284         OutlineView in impress. Do not use it unless you want to sell your soul too! */
285     sal_Bool            HasTriedMergeOnLastAddUndo() const;
286 
287     void            ClearModifyFlag();
288     void            SetModified();
289     sal_Bool            IsModified() const;
290 
291     void            SetModifyHdl( const Link& rLink );
292     Link            GetModifyHdl() const;
293 
294     sal_Bool            IsInSelectionMode() const;
295     void            StopSelectionMode();
296 
297     void            StripPortions();
298     void            GetPortions( sal_uInt16 nPara, SvUShorts& rList );
299 
300     long            GetFirstLineStartX( sal_uInt16 nParagraph );
301     Point           GetDocPosTopLeft( sal_uInt16 nParagraph );
302     Point           GetDocPos( const Point& rPaperPos ) const;
303     sal_Bool            IsTextPos( const Point& rPaperPos, sal_uInt16 nBorder = 0 );
304 
305     // StartDocPos entspr. VisArea.TopLeft().
306     void            Draw( OutputDevice* pOutDev, const Rectangle& rOutRect );
307     void            Draw( OutputDevice* pOutDev, const Rectangle& rOutRect, const Point& rStartDocPos );
308     void            Draw( OutputDevice* pOutDev, const Rectangle& rOutRect, const Point& rStartDocPos, sal_Bool bClip );
309     void            Draw( OutputDevice* pOutDev, const Point& rStartPos, short nOrientation = 0 );
310 
311 //  sal_uInt32: Fehlercode des Streams.
312         sal_uLong               Read( SvStream& rInput, const String& rBaseURL, EETextFormat, SvKeyValueIterator* pHTTPHeaderAttrs = NULL );
313     sal_uLong       Write( SvStream& rOutput, EETextFormat );
314 
315     void            SetStatusEventHdl( const Link& rLink );
316     Link            GetStatusEventHdl() const;
317 
318     void            SetNotifyHdl( const Link& rLink );
319     Link            GetNotifyHdl() const;
320 
321     void            SetImportHdl( const Link& rLink );
322     Link            GetImportHdl() const;
323 
324     // Flat-Mode: Keine Zeichenformatierung auswerten => Fuer Outliner
325     sal_Bool            IsFlatMode() const;
326     void            SetFlatMode( sal_Bool bFlat );
327 
328     void            SetControlWord( sal_uInt32 nWord );
329     sal_uInt32      GetControlWord() const;
330 
331     void            QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
332     void            QuickRemoveCharAttribs( sal_uInt16 nPara, sal_uInt16 nWhich = 0 );
333     void            QuickMarkInvalid( const ESelection& rSel );
334     void            QuickFormatDoc( sal_Bool bFull = sal_False );
335     void            QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );
336     void            QuickInsertLineBreak( const ESelection& rSel );
337     void            QuickInsertText( const String& rText, const ESelection& rSel );
338     void            QuickDelete( const ESelection& rSel );
339     void            QuickMarkToBeRepainted( sal_uInt16 nPara );
340 
341     void            SetGlobalCharStretching( sal_uInt16 nX = 100, sal_uInt16 nY = 100 );
342     void            GetGlobalCharStretching( sal_uInt16& rX, sal_uInt16& rY );
343     void            DoStretchChars( sal_uInt16 nX, sal_uInt16 nY );
344 
345     void            SetEditTextObjectPool( SfxItemPool* pPool );
346     SfxItemPool*    GetEditTextObjectPool() const;
347 
348     void                SetStyleSheetPool( SfxStyleSheetPool* pSPool );
349     SfxStyleSheetPool*  GetStyleSheetPool();
350 
351     void                SetStyleSheet( sal_uInt16 nPara, SfxStyleSheet* pStyle );
352     SfxStyleSheet*      GetStyleSheet( sal_uInt16 nPara ) const;
353 
354     void            SetWordDelimiters( const String& rDelimiters );
355     String          GetWordDelimiters() const;
356 
357     void            SetGroupChars( const String& rChars );
358     String          GetGroupChars() const;
359 
360     void            EnablePasteSpecial( sal_Bool bEnable );
361     sal_Bool            IsPasteSpecialEnabled() const;
362 
363     void            EnableIdleFormatter( sal_Bool bEnable );
364     sal_Bool            IsIdleFormatterEnabled() const;
365 
366     void            EraseVirtualDevice();
367 
368     void            SetSpeller( ::com::sun::star::uno::Reference<
369                             ::com::sun::star::linguistic2::XSpellChecker1 > &xSpeller );
370     ::com::sun::star::uno::Reference<
371         ::com::sun::star::linguistic2::XSpellChecker1 >
372                     GetSpeller();
373     ::com::sun::star::uno::Reference<
374         ::com::sun::star::linguistic2::XHyphenator >
375                     GetHyphenator() const;
376     void            SetHyphenator( ::com::sun::star::uno::Reference<
377                             ::com::sun::star::linguistic2::XHyphenator >& xHyph );
378 
379     void            SetForbiddenCharsTable( vos::ORef<SvxForbiddenCharactersTable> xForbiddenChars );
380     vos::ORef<SvxForbiddenCharactersTable>  GetForbiddenCharsTable() const;
381 
382     void            SetDefaultLanguage( LanguageType eLang );
383     LanguageType    GetDefaultLanguage() const;
384 
385     sal_Bool            HasOnlineSpellErrors() const;
386     void            CompleteOnlineSpelling();
387 
388     void            SetBigTextObjectStart( sal_uInt16 nStartAtPortionCount );
389     sal_uInt16          GetBigTextObjectStart() const;
390     sal_Bool            ShouldCreateBigTextObject() const;
391 
392     // Zum schnellen Vorab-Pruefen ohne View:
393     EESpellState    HasSpellErrors();
394     sal_Bool            HasText( const SvxSearchItem& rSearchItem );
395 
396     //initialize sentence spelling
397     void            StartSpelling(EditView& rEditView, sal_Bool bMultipleDoc);
398     //spell and return a sentence
399     bool            SpellSentence(EditView& rEditView, ::svx::SpellPortions& rToFill, bool bIsGrammarChecking );
400     // put spell position to start of current sentence
401     void            PutSpellingToSentenceStart( EditView& rEditView );
402     //applies a changed sentence
403     void            ApplyChangedSentence(EditView& rEditView, const ::svx::SpellPortions& rNewPortions, bool bRecheck );
404     //deinitialize sentence spelling
405     void            EndSpelling();
406 
407     // for text conversion (see also HasSpellErrors)
408     sal_Bool        HasConvertibleTextPortion( LanguageType nLang );
409     virtual sal_Bool    ConvertNextDocument();
410 
411     sal_Bool            UpdateFields();
412     void            RemoveFields( sal_Bool bKeepFieldText, TypeId aType = NULL );
413 
414     sal_uInt16          GetFieldCount( sal_uInt16 nPara ) const;
415     EFieldInfo      GetFieldInfo( sal_uInt16 nPara, sal_uInt16 nField ) const;
416 
417     sal_Bool            IsRightToLeft( sal_uInt16 nPara ) const;
418 
419     ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >
420                     CreateTransferable( const ESelection& rSelection ) const;
421 
422     // MT: Can't create new virtual functions like for ParagraphInserted/Deleted, musst be compatible in SRC638, change later...
423     void            SetBeginMovingParagraphsHdl( const Link& rLink );
424     void            SetEndMovingParagraphsHdl( const Link& rLink );
425     void            SetBeginPasteOrDropHdl( const Link& rLink );
426     void            SetEndPasteOrDropHdl( const Link& rLink );
427 
428     virtual void    PaintingFirstLine( sal_uInt16 nPara, const Point& rStartPos, long nBaseLineY, const Point& rOrigin, short nOrientation, OutputDevice* pOutDev );
429     virtual void    ParagraphInserted( sal_uInt16 nNewParagraph );
430     virtual void    ParagraphDeleted( sal_uInt16 nDeletedParagraph );
431     virtual void    ParagraphConnected( sal_uInt16 nLeftParagraph, sal_uInt16 nRightParagraph );
432     virtual void    ParaAttribsChanged( sal_uInt16 nParagraph );
433     virtual void    StyleSheetChanged( SfxStyleSheet* pStyle );
434     virtual void    ParagraphHeightChanged( sal_uInt16 nPara );
435 
436     // #101498#
437     virtual void DrawingText(
438         const Point& rStartPos, const String& rText, sal_uInt16 nTextStart, sal_uInt16 nTextLen, const sal_Int32* pDXArray,
439         const SvxFont& rFont, sal_uInt16 nPara, xub_StrLen nIndex, sal_uInt8 nRightToLeft,
440         const EEngineData::WrongSpellVector* pWrongSpellVector,
441         const SvxFieldData* pFieldData,
442         bool bEndOfLine,
443         bool bEndOfParagraph,
444         bool bEndOfBullet,
445         const ::com::sun::star::lang::Locale* pLocale,
446         const Color& rOverlineColor,
447         const Color& rTextLineColor);
448 
449     virtual String  GetUndoComment( sal_uInt16 nUndoId ) const;
450     virtual sal_Bool    FormattingParagraph( sal_uInt16 nPara );
451     virtual sal_Bool    SpellNextDocument();
452     virtual void    FieldClicked( const SvxFieldItem& rField, sal_uInt16 nPara, xub_StrLen nPos );
453     virtual void    FieldSelected( const SvxFieldItem& rField, sal_uInt16 nPara, xub_StrLen nPos );
454     virtual String  CalcFieldValue( const SvxFieldItem& rField, sal_uInt16 nPara, xub_StrLen nPos, Color*& rTxtColor, Color*& rFldColor );
455 
456     // to be overloaded if access to bullet information needs to be provided
457     virtual const SvxNumberFormat * GetNumberFormat( sal_uInt16 nPara ) const;
458 
459     virtual Rectangle GetBulletArea( sal_uInt16 nPara );
460 
461     static SfxItemPool* CreatePool( sal_Bool bLoadRefCounts = sal_True );
462     static SfxItemPool& GetGlobalItemPool();
463     static sal_uInt32   RegisterClipboardFormatName();
464     static sal_Bool     DoesKeyChangeText( const KeyEvent& rKeyEvent );
465     static sal_Bool     DoesKeyMoveCursor( const KeyEvent& rKeyEvent );
466     static sal_Bool     IsSimpleCharInput( const KeyEvent& rKeyEvent );
467     static sal_uInt16   GetAvailableSearchOptions();
468     static void     SetFontInfoInItemSet( SfxItemSet& rItemSet, const Font& rFont );
469     static void     SetFontInfoInItemSet( SfxItemSet& rItemSet, const SvxFont& rFont );
470     static Font     CreateFontFromItemSet( const SfxItemSet& rItemSet );
471     static Font     CreateFontFromItemSet( const SfxItemSet& rItemSet, sal_uInt16 nScriptType );
472     static SvxFont  CreateSvxFontFromItemSet( const SfxItemSet& rItemSet );
473     static void     ImportBulletItem( SvxNumBulletItem& rNumBullet, sal_uInt16 nLevel, const SvxBulletItem* pOldBullet, const SvxLRSpaceItem* pOldLRSpace );
IsPrintable(sal_Unicode c)474     static sal_Bool     IsPrintable( sal_Unicode c ) { return ( ( c >= 32 ) && ( c != 127 ) ); }
475     static sal_Bool     HasValidData( const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& rTransferable );
GetCurTextObj()476     virtual SdrObject* GetCurTextObj() { return NULL; }
477     /** sets a link that is called at the beginning of a drag operation at an edit view */
478     void            SetBeginDropHdl( const Link& rLink );
479     Link            GetBeginDropHdl() const;
480 
481     /** sets a link that is called at the end of a drag operation at an edit view */
482     void            SetEndDropHdl( const Link& rLink );
483     Link            GetEndDropHdl() const;
484 
485     /// specifies if auto-correction should capitalize the first word or not (default is on)
486     void            SetFirstWordCapitalization( sal_Bool bCapitalize );
487     sal_Bool            IsFirstWordCapitalization() const;
488 };
489 
490 #endif // _MyEDITENG_HXX
491