xref: /trunk/main/editeng/inc/editeng/editeng.hxx (revision 8dc46c98)
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_uInt32 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_uInt32 nParagraph ) const;
214 	xub_StrLen		GetTextLen( sal_uInt32 nParagraph ) const;
215 	sal_uInt32		GetTextHeight( sal_uInt32 nParagraph ) const;
216 
217 	sal_uInt32 			GetParagraphCount() const;
218 
219 	sal_uInt16			GetLineCount( sal_uInt32 nParagraph ) const;
220 	xub_StrLen		GetLineLen( sal_uInt32 nParagraph, sal_uInt16 nLine ) const;
221     void            GetLineBoundaries( /*out*/sal_uInt16 &rStart, /*out*/sal_uInt16 &rEnd, sal_uInt32 nParagraph, sal_uInt16 nLine ) const;
222     sal_uInt16          GetLineNumberAtIndex( sal_uInt32 nPara, sal_uInt16 nIndex ) const;
223 	sal_uInt32		GetLineHeight( sal_uInt32 nParagraph, sal_uInt16 nLine = 0 );
224 	sal_uInt16			GetFirstLineOffset( sal_uInt32 nParagraph );
225 	ParagraphInfos 	GetParagraphInfos( sal_uInt32 nPara );
226 	sal_uInt32			FindParagraph( long nDocPosY );
227     EPosition       FindDocPosition( const Point& rDocPos ) const;
228     Rectangle       GetCharacterBounds( const EPosition& rPos ) const;
229 
230 	String			GetWord( sal_uInt32 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_uInt32 nPara, sal_uInt32 nParas = 1 );
244 	EditTextObject*	CreateTextObject( const ESelection& rESelection );
245 	void			SetText( const EditTextObject& rTextObject );
246 
247 	void			RemoveParagraph( sal_uInt32 nPara );
248 	void			InsertParagraph( sal_uInt32 nPara, const EditTextObject& rTxtObj );
249 	void			InsertParagraph( sal_uInt32 nPara, const String& rText);
250 
251 	void			SetText( sal_uInt32 nPara, const EditTextObject& rTxtObj );
252 	void			SetText( sal_uInt32 nPara, const String& rText);
253 
254 	virtual void                SetParaAttribs( sal_uInt32 nPara, const SfxItemSet& rSet );
255 	virtual const SfxItemSet&	GetParaAttribs( sal_uInt32 nPara ) const;
256 
257 	void				GetCharAttribs( sal_uInt32 nPara, EECharAttribArray& rLst ) const;
258 
259 	SfxItemSet          GetAttribs( sal_uInt32 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_uInt32 nPara, sal_uInt16 nWhich ) const;
263 	const SfxPoolItem&	GetParaAttrib( sal_uInt32 nPara, sal_uInt16 nWhich );
264 
265 	Font			GetStandardFont( sal_uInt32 nPara );
266 	SvxFont			GetStandardSvxFont( sal_uInt32 nPara );
267 
268     void            RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich );
269 
270 	void			ShowParagraph( sal_uInt32 nParagraph, sal_Bool bShow = sal_True );
271 	sal_Bool			IsParagraphVisible( sal_uInt32 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_uInt32 nPara, SvUShorts& rList );
299 
300 	long 			GetFirstLineStartX( sal_uInt32 nParagraph );
301 	Point			GetDocPosTopLeft( sal_uInt32 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_uInt32 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_uInt32 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_uInt32 nPara, SfxStyleSheet* pStyle );
352 	SfxStyleSheet*		GetStyleSheet( sal_uInt32 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_uInt32 nPara ) const;
415     EFieldInfo      GetFieldInfo( sal_uInt32 nPara, sal_uInt16 nField ) const;
416 
417     sal_Bool            IsRightToLeft( sal_uInt32 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_uInt32 nPara, const Point& rStartPos, long nBaseLineY, const Point& rOrigin, short nOrientation, OutputDevice* pOutDev );
429 	virtual	void	ParagraphInserted( sal_uInt32 nNewParagraph );
430 	virtual	void	ParagraphDeleted( sal_uInt32 nDeletedParagraph );
431     virtual void    ParagraphConnected( sal_uInt32 nLeftParagraph, sal_uInt32 nRightParagraph );
432 	virtual	void	ParaAttribsChanged( sal_uInt32 nParagraph );
433 	virtual	void	StyleSheetChanged( SfxStyleSheet* pStyle );
434 	virtual	void	ParagraphHeightChanged( sal_uInt32 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_uInt32 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_uInt32 nPara );
451 	virtual sal_Bool	SpellNextDocument();
452 	virtual void 	FieldClicked( const SvxFieldItem& rField, sal_uInt32 nPara, xub_StrLen nPos );
453 	virtual void	FieldSelected( const SvxFieldItem& rField, sal_uInt32 nPara, xub_StrLen nPos );
454 	virtual String	CalcFieldValue( const SvxFieldItem& rField, sal_uInt32 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_uInt32 nPara ) const;
458 
459     virtual Rectangle GetBulletArea( sal_uInt32 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