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
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_editeng.hxx"
26
27 #include <svl/intitem.hxx>
28 #include <editeng/editeng.hxx>
29 #include <editeng/editview.hxx>
30 #include <editeng/editdata.hxx>
31 #include <editeng/eerdll.hxx>
32 #include <editeng/lrspitem.hxx>
33 #include <editeng/fhgtitem.hxx>
34 #include <tools/list.hxx>
35 #include <svl/style.hxx>
36 #include <vcl/mapmod.hxx>
37
38 #include <editeng/forbiddencharacterstable.hxx>
39
40 #define _OUTLINER_CXX
41
42 #include <editeng/outliner.hxx>
43 #include <paralist.hxx>
44 #include <editeng/outlobj.hxx>
45 #include <outleeng.hxx>
46 #include <outlundo.hxx>
47 #include <editeng/eeitem.hxx>
48 #include <editeng/editstat.hxx>
49
50 DBG_NAMEEX(Outliner)
51
52 using namespace ::com::sun::star::uno;
53 using namespace ::com::sun::star::linguistic2;
54
55 // =====================================================================
56 // ====================== Einfache Durchreicher =======================
57 // ======================================================================
58
SetUpdateMode(sal_Bool bUpdate)59 void Outliner::SetUpdateMode( sal_Bool bUpdate )
60 {
61 DBG_CHKTHIS(Outliner,0);
62 pEditEngine->SetUpdateMode( bUpdate );
63 }
64
65
GetUpdateMode() const66 sal_Bool Outliner::GetUpdateMode() const
67 {
68 DBG_CHKTHIS(Outliner,0);
69 return pEditEngine->GetUpdateMode();
70 }
71
GetEmptyItemSet() const72 const SfxItemSet& Outliner::GetEmptyItemSet() const
73 {
74 DBG_CHKTHIS(Outliner,0);
75 return pEditEngine->GetEmptyItemSet();
76 }
77
EnableUndo(sal_Bool bEnable)78 void Outliner::EnableUndo( sal_Bool bEnable )
79 {
80 DBG_CHKTHIS(Outliner,0);
81 pEditEngine->EnableUndo( bEnable );
82 }
83
IsUndoEnabled() const84 sal_Bool Outliner::IsUndoEnabled() const
85 {
86 DBG_CHKTHIS(Outliner,0);
87 return pEditEngine->IsUndoEnabled();
88 }
89
GetRefMapMode() const90 MapMode Outliner::GetRefMapMode() const
91 {
92 DBG_CHKTHIS(Outliner,0);
93 return pEditEngine->GetRefMapMode();
94 }
95
SetRefMapMode(const MapMode & rMMode)96 void Outliner::SetRefMapMode( const MapMode& rMMode )
97 {
98 DBG_CHKTHIS(Outliner,0);
99 pEditEngine->SetRefMapMode( rMMode );
100 }
101
SetBackgroundColor(const Color & rColor)102 void Outliner::SetBackgroundColor( const Color& rColor )
103 {
104 DBG_CHKTHIS(Outliner,0);
105 pEditEngine->SetBackgroundColor( rColor );
106 }
107
GetBackgroundColor() const108 Color Outliner::GetBackgroundColor() const
109 {
110 DBG_CHKTHIS(Outliner,0);
111 return pEditEngine->GetBackgroundColor();
112 }
113
114
ClearModifyFlag()115 void Outliner::ClearModifyFlag()
116 {
117 DBG_CHKTHIS(Outliner,0);
118 pEditEngine->ClearModifyFlag();
119 }
120
IsModified() const121 sal_Bool Outliner::IsModified() const
122 {
123 DBG_CHKTHIS(Outliner,0);
124 return pEditEngine->IsModified();
125 }
126
GetTextHeight() const127 sal_uLong Outliner::GetTextHeight() const
128 {
129 DBG_CHKTHIS(Outliner,0);
130 return pEditEngine->GetTextHeight();
131 }
132
SetModifyHdl(const Link & rLink)133 void Outliner::SetModifyHdl( const Link& rLink )
134 {
135 DBG_CHKTHIS(Outliner,0);
136 pEditEngine->SetModifyHdl( rLink );
137 }
138
GetModifyHdl() const139 Link Outliner::GetModifyHdl() const
140 {
141 DBG_CHKTHIS(Outliner,0);
142 return pEditEngine->GetModifyHdl();
143 }
144
SetNotifyHdl(const Link & rLink)145 void Outliner::SetNotifyHdl( const Link& rLink )
146 {
147 DBG_CHKTHIS(Outliner,0);
148 pEditEngine->aOutlinerNotifyHdl = rLink;
149
150 if ( rLink.IsSet() )
151 pEditEngine->SetNotifyHdl( LINK( this, Outliner, EditEngineNotifyHdl ) );
152 else
153 pEditEngine->SetNotifyHdl( Link() );
154
155 }
156
GetNotifyHdl() const157 Link Outliner::GetNotifyHdl() const
158 {
159 DBG_CHKTHIS(Outliner,0);
160 return pEditEngine->aOutlinerNotifyHdl;
161 }
162
SetStatusEventHdl(const Link & rLink)163 void Outliner::SetStatusEventHdl( const Link& rLink )
164 {
165 DBG_CHKTHIS(Outliner,0);
166 pEditEngine->SetStatusEventHdl( rLink );
167 }
168
GetStatusEventHdl() const169 Link Outliner::GetStatusEventHdl() const
170 {
171 DBG_CHKTHIS(Outliner,0);
172 return pEditEngine->GetStatusEventHdl();
173 }
174
SetDefTab(sal_uInt16 nTab)175 void Outliner::SetDefTab( sal_uInt16 nTab )
176 {
177 DBG_CHKTHIS(Outliner,0);
178 pEditEngine->SetDefTab( nTab );
179 }
180
GetDefTab() const181 sal_uInt16 Outliner::GetDefTab() const
182 {
183 DBG_CHKTHIS(Outliner,0);
184 return pEditEngine->GetDefTab();
185 }
186
IsFlatMode() const187 sal_Bool Outliner::IsFlatMode() const
188 {
189 DBG_CHKTHIS(Outliner,0);
190 return pEditEngine->IsFlatMode();
191 }
192
UpdateFields()193 sal_Bool Outliner::UpdateFields()
194 {
195 DBG_CHKTHIS(Outliner,0);
196 return pEditEngine->UpdateFields();
197 }
198
RemoveFields(sal_Bool bKeepFieldText,TypeId aType)199 void Outliner::RemoveFields( sal_Bool bKeepFieldText, TypeId aType )
200 {
201 DBG_CHKTHIS(Outliner,0);
202 pEditEngine->RemoveFields( bKeepFieldText, aType );
203 }
204
SetWordDelimiters(const String & rDelimiters)205 void Outliner::SetWordDelimiters( const String& rDelimiters )
206 {
207 DBG_CHKTHIS(Outliner,0);
208 pEditEngine->SetWordDelimiters( rDelimiters );
209 }
210
GetWordDelimiters() const211 String Outliner::GetWordDelimiters() const
212 {
213 DBG_CHKTHIS(Outliner,0);
214 return pEditEngine->GetWordDelimiters();
215 }
216
GetWord(sal_uInt16 nPara,sal_uInt16 nIndex)217 String Outliner::GetWord( sal_uInt16 nPara, sal_uInt16 nIndex )
218 {
219 DBG_CHKTHIS(Outliner,0);
220 return pEditEngine->GetWord( nPara, nIndex );
221 }
222
Draw(OutputDevice * pOutDev,const Rectangle & rOutRect)223 void Outliner::Draw( OutputDevice* pOutDev, const Rectangle& rOutRect )
224 {
225 DBG_CHKTHIS(Outliner,0);
226 pEditEngine->Draw( pOutDev, rOutRect );
227 }
228
Draw(OutputDevice * pOutDev,const Rectangle & rOutRect,const Point & rStartDocPos)229 void Outliner::Draw( OutputDevice* pOutDev, const Rectangle& rOutRect, const Point& rStartDocPos )
230 {
231 DBG_CHKTHIS(Outliner,0);
232 pEditEngine->Draw( pOutDev, rOutRect, rStartDocPos );
233 }
234
235
Draw(OutputDevice * pOutDev,const Point & rStartPos,short nOrientation)236 void Outliner::Draw( OutputDevice* pOutDev, const Point& rStartPos, short nOrientation )
237 {
238 DBG_CHKTHIS(Outliner,0);
239 pEditEngine->Draw( pOutDev, rStartPos, nOrientation );
240 }
241
SetPaperSize(const Size & rSize)242 void Outliner::SetPaperSize( const Size& rSize )
243 {
244 DBG_CHKTHIS(Outliner,0);
245 pEditEngine->SetPaperSize( rSize );
246 }
247
GetPaperSize() const248 const Size& Outliner::GetPaperSize() const
249 {
250 DBG_CHKTHIS(Outliner,0);
251 return pEditEngine->GetPaperSize();
252 }
253
SetPolygon(const basegfx::B2DPolyPolygon & rPolyPolygon)254 void Outliner::SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon )
255 {
256 DBG_CHKTHIS( Outliner, 0 );
257 pEditEngine->SetPolygon( rPolyPolygon );
258 }
259
SetPolygon(const basegfx::B2DPolyPolygon & rPolyPolygon,const basegfx::B2DPolyPolygon * pLinePolyPolygon)260 void Outliner::SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::B2DPolyPolygon* pLinePolyPolygon)
261 {
262 DBG_CHKTHIS( Outliner, 0 );
263 pEditEngine->SetPolygon( rPolyPolygon, pLinePolyPolygon);
264 }
265
ClearPolygon()266 void Outliner::ClearPolygon()
267 {
268 DBG_CHKTHIS( Outliner, 0 );
269 pEditEngine->ClearPolygon();
270 }
271
GetPolygon()272 const PolyPolygon* Outliner::GetPolygon()
273 {
274 DBG_CHKTHIS( Outliner, 0 );
275 return pEditEngine->GetPolygon();
276 }
277
GetMinAutoPaperSize() const278 const Size& Outliner::GetMinAutoPaperSize() const
279 {
280 DBG_CHKTHIS(Outliner,0);
281 return pEditEngine->GetMinAutoPaperSize();
282 }
283
SetMinAutoPaperSize(const Size & rSz)284 void Outliner::SetMinAutoPaperSize( const Size& rSz )
285 {
286 DBG_CHKTHIS(Outliner,0);
287 pEditEngine->SetMinAutoPaperSize( rSz );
288 }
289
GetMaxAutoPaperSize() const290 const Size& Outliner::GetMaxAutoPaperSize() const
291 {
292 DBG_CHKTHIS(Outliner,0);
293 return pEditEngine->GetMaxAutoPaperSize();
294 }
295
SetMaxAutoPaperSize(const Size & rSz)296 void Outliner::SetMaxAutoPaperSize( const Size& rSz )
297 {
298 DBG_CHKTHIS(Outliner,0);
299 pEditEngine->SetMaxAutoPaperSize( rSz );
300 }
301
IsExpanded(Paragraph * pPara) const302 sal_Bool Outliner::IsExpanded( Paragraph* pPara ) const
303 {
304 DBG_CHKTHIS(Outliner,0);
305 return pParaList->HasVisibleChilds( pPara );
306 }
307
GetParent(Paragraph * pParagraph) const308 Paragraph* Outliner::GetParent( Paragraph* pParagraph ) const
309 {
310 DBG_CHKTHIS(Outliner,0);
311 return pParaList->GetParent( pParagraph );
312 }
313
GetChildCount(Paragraph * pParent) const314 sal_uLong Outliner::GetChildCount( Paragraph* pParent ) const
315 {
316 DBG_CHKTHIS(Outliner,0);
317 return pParaList->GetChildCount( pParent );
318 }
319
CalcTextSize()320 Size Outliner::CalcTextSize()
321 {
322 DBG_CHKTHIS(Outliner,0);
323 return Size(pEditEngine->CalcTextWidth(),pEditEngine->GetTextHeight());
324 }
325
GetDocPos(Paragraph * pPara)326 Point Outliner::GetDocPos( Paragraph* pPara )
327 {
328 DBG_CHKTHIS(Outliner,0);
329 return pEditEngine->GetDocPosTopLeft( (sal_uInt16)pParaList->GetAbsPos( pPara ) );
330 }
331
SetStyleSheetPool(SfxStyleSheetPool * pSPool)332 void Outliner::SetStyleSheetPool( SfxStyleSheetPool* pSPool )
333 {
334 DBG_CHKTHIS(Outliner,0);
335 pEditEngine->SetStyleSheetPool( pSPool );
336 }
337
GetStyleSheetPool()338 SfxStyleSheetPool* Outliner::GetStyleSheetPool()
339 {
340 DBG_CHKTHIS(Outliner,0);
341 return pEditEngine->GetStyleSheetPool();
342 }
343
GetStyleSheet(sal_uLong nPara)344 SfxStyleSheet* Outliner::GetStyleSheet( sal_uLong nPara )
345 {
346 DBG_CHKTHIS(Outliner,0);
347 return pEditEngine->GetStyleSheet( (sal_uInt16)nPara );
348 }
349
IsInSelectionMode() const350 sal_Bool Outliner::IsInSelectionMode() const
351 {
352 DBG_CHKTHIS(Outliner,0);
353 return pEditEngine->IsInSelectionMode();
354 }
355
SetControlWord(sal_uLong nWord)356 void Outliner::SetControlWord( sal_uLong nWord )
357 {
358 DBG_CHKTHIS(Outliner,0);
359 pEditEngine->SetControlWord( nWord );
360 }
361
GetControlWord() const362 sal_uLong Outliner::GetControlWord() const
363 {
364 DBG_CHKTHIS(Outliner,0);
365 return pEditEngine->GetControlWord();
366 }
367
SetAsianCompressionMode(sal_uInt16 n)368 void Outliner::SetAsianCompressionMode( sal_uInt16 n )
369 {
370 DBG_CHKTHIS(Outliner,0);
371 pEditEngine->SetAsianCompressionMode( n );
372 }
373
GetAsianCompressionMode() const374 sal_uInt16 Outliner::GetAsianCompressionMode() const
375 {
376 DBG_CHKTHIS(Outliner,0);
377 return pEditEngine->GetAsianCompressionMode();
378 }
379
SetKernAsianPunctuation(sal_Bool b)380 void Outliner::SetKernAsianPunctuation( sal_Bool b )
381 {
382 DBG_CHKTHIS(Outliner,0);
383 pEditEngine->SetKernAsianPunctuation( b );
384 }
385
IsKernAsianPunctuation() const386 sal_Bool Outliner::IsKernAsianPunctuation() const
387 {
388 DBG_CHKTHIS(Outliner,0);
389 return pEditEngine->IsKernAsianPunctuation();
390 }
391
SetAddExtLeading(sal_Bool bExtLeading)392 void Outliner::SetAddExtLeading( sal_Bool bExtLeading )
393 {
394 DBG_CHKTHIS(Outliner,0);
395 pEditEngine->SetAddExtLeading( bExtLeading );
396 }
397
IsAddExtLeading() const398 sal_Bool Outliner::IsAddExtLeading() const
399 {
400 DBG_CHKTHIS(Outliner,0);
401 return pEditEngine->IsAddExtLeading();
402 }
403
UndoActionStart(sal_uInt16 nId)404 void Outliner::UndoActionStart( sal_uInt16 nId )
405 {
406 DBG_CHKTHIS(Outliner,0);
407 pEditEngine->UndoActionStart( nId );
408 }
409
UndoActionEnd(sal_uInt16 nId)410 void Outliner::UndoActionEnd( sal_uInt16 nId )
411 {
412 DBG_CHKTHIS(Outliner,0);
413 pEditEngine->UndoActionEnd( nId );
414 }
415
InsertUndo(EditUndo * pUndo)416 void Outliner::InsertUndo( EditUndo* pUndo )
417 {
418 #ifndef SVX_LIGHT
419 DBG_CHKTHIS(Outliner,0);
420 pEditEngine->GetUndoManager().AddUndoAction( pUndo, sal_False );
421 #endif
422 }
423
IsInUndo()424 sal_Bool Outliner::IsInUndo()
425 {
426 DBG_CHKTHIS(Outliner,0);
427 return pEditEngine->IsInUndo();
428 }
429
GetLineCount(sal_uLong nParagraph) const430 sal_uLong Outliner::GetLineCount( sal_uLong nParagraph ) const
431 {
432 DBG_CHKTHIS(Outliner,0);
433 return pEditEngine->GetLineCount( (sal_uInt16)nParagraph );
434 }
435
GetLineLen(sal_uLong nParagraph,sal_uInt16 nLine) const436 sal_uInt16 Outliner::GetLineLen( sal_uLong nParagraph, sal_uInt16 nLine ) const
437 {
438 DBG_CHKTHIS(Outliner,0);
439 return pEditEngine->GetLineLen( (sal_uInt16)nParagraph, nLine );
440 }
441
GetLineHeight(sal_uLong nParagraph,sal_uLong nLine)442 sal_uLong Outliner::GetLineHeight( sal_uLong nParagraph, sal_uLong nLine )
443 {
444 DBG_CHKTHIS(Outliner,0);
445 return pEditEngine->GetLineHeight( (sal_uInt16)nParagraph, (sal_uInt16)nLine );
446 }
447
QuickRemoveCharAttribs(sal_uInt16 nPara,sal_uInt16 nWhich)448 void Outliner::QuickRemoveCharAttribs( sal_uInt16 nPara, sal_uInt16 nWhich )
449 {
450 DBG_CHKTHIS(Outliner,0);
451 pEditEngine->QuickRemoveCharAttribs( nPara, nWhich );
452 }
453
HasSpellErrors()454 EESpellState Outliner::HasSpellErrors()
455 {
456 DBG_CHKTHIS(Outliner,0);
457 return pEditEngine->HasSpellErrors();
458 }
459
HasConvertibleTextPortion(LanguageType nLang)460 sal_Bool Outliner::HasConvertibleTextPortion( LanguageType nLang )
461 {
462 DBG_CHKTHIS(Outliner,0);
463 return pEditEngine->HasConvertibleTextPortion( nLang );
464 }
465
ConvertNextDocument()466 sal_Bool Outliner::ConvertNextDocument()
467 {
468 DBG_CHKTHIS(Outliner,0);
469 return sal_False;
470 }
471
SetDefaultLanguage(LanguageType eLang)472 void Outliner::SetDefaultLanguage( LanguageType eLang )
473 {
474 DBG_CHKTHIS(Outliner,0);
475 pEditEngine->SetDefaultLanguage( eLang );
476 }
477
GetDefaultLanguage() const478 LanguageType Outliner::GetDefaultLanguage() const
479 {
480 DBG_CHKTHIS(Outliner,0);
481 return pEditEngine->GetDefaultLanguage();
482 }
483
HasOnlineSpellErrors() const484 sal_Bool Outliner::HasOnlineSpellErrors() const
485 {
486 DBG_CHKTHIS(Outliner,0);
487 return pEditEngine->HasOnlineSpellErrors();
488 }
489
CompleteOnlineSpelling()490 void Outliner::CompleteOnlineSpelling()
491 {
492 DBG_CHKTHIS(Outliner,0);
493 pEditEngine->CompleteOnlineSpelling();
494 }
495
HasText(const SvxSearchItem & rSearchItem)496 sal_Bool Outliner::HasText( const SvxSearchItem& rSearchItem )
497 {
498 DBG_CHKTHIS(Outliner,0);
499 return pEditEngine->HasText( rSearchItem );
500 }
501
SetEditTextObjectPool(SfxItemPool * pPool)502 void Outliner::SetEditTextObjectPool( SfxItemPool* pPool )
503 {
504 DBG_CHKTHIS(Outliner,0);
505 pEditEngine->SetEditTextObjectPool( pPool );
506 }
507
GetEditTextObjectPool() const508 SfxItemPool* Outliner::GetEditTextObjectPool() const
509 {
510 DBG_CHKTHIS(Outliner,0);
511 return pEditEngine->GetEditTextObjectPool();
512 }
513
SpellNextDocument()514 sal_Bool Outliner::SpellNextDocument()
515 {
516 DBG_CHKTHIS(Outliner,0);
517 return sal_False;
518 }
519
520
SetSpeller(Reference<XSpellChecker1> & xSpeller)521 void Outliner::SetSpeller( Reference< XSpellChecker1 > &xSpeller )
522 {
523 DBG_CHKTHIS(Outliner,0);
524 pEditEngine->SetSpeller( xSpeller );
525 }
GetSpeller()526 Reference< XSpellChecker1 > Outliner::GetSpeller()
527 {
528 DBG_CHKTHIS(Outliner,0);
529 return pEditEngine->GetSpeller();
530 }
531
SetForbiddenCharsTable(vos::ORef<SvxForbiddenCharactersTable> xForbiddenChars)532 void Outliner::SetForbiddenCharsTable( vos::ORef<SvxForbiddenCharactersTable> xForbiddenChars )
533 {
534 DBG_CHKTHIS(Outliner,0);
535 pEditEngine->SetForbiddenCharsTable( xForbiddenChars );
536 }
537
GetForbiddenCharsTable() const538 vos::ORef<SvxForbiddenCharactersTable> Outliner::GetForbiddenCharsTable() const
539 {
540 DBG_CHKTHIS(Outliner,0);
541 return pEditEngine->GetForbiddenCharsTable();
542 }
543
544
GetHyphenator() const545 Reference< XHyphenator > Outliner::GetHyphenator() const
546 {
547 DBG_CHKTHIS(Outliner,0);
548 return pEditEngine->GetHyphenator();
549 }
550
SetHyphenator(Reference<XHyphenator> & xHyph)551 void Outliner::SetHyphenator( Reference< XHyphenator >& xHyph )
552 {
553 DBG_CHKTHIS(Outliner,0);
554 pEditEngine->SetHyphenator( xHyph );
555 }
556
GetRefDevice() const557 OutputDevice* Outliner::GetRefDevice() const
558 {
559 DBG_CHKTHIS(Outliner,0);
560 return pEditEngine->GetRefDevice();
561 }
562
GetFirstLineOffset(sal_uLong nParagraph)563 sal_uInt16 Outliner::GetFirstLineOffset( sal_uLong nParagraph )
564 {
565 DBG_CHKTHIS(Outliner,0);
566 return pEditEngine->GetFirstLineOffset( (sal_uInt16)nParagraph );
567 }
568
GetTextHeight(sal_uLong nParagraph) const569 sal_uLong Outliner::GetTextHeight( sal_uLong nParagraph ) const
570 {
571 DBG_CHKTHIS(Outliner,0);
572 return pEditEngine->GetTextHeight((sal_uInt16)nParagraph );
573 }
574
GetDocPos(const Point & rPaperPos) const575 Point Outliner::GetDocPos( const Point& rPaperPos ) const
576 {
577 DBG_CHKTHIS(Outliner,0);
578 return pEditEngine->GetDocPos( rPaperPos );
579 }
580
GetDocPosTopLeft(sal_uLong nParagraph)581 Point Outliner::GetDocPosTopLeft( sal_uLong nParagraph )
582 {
583 DBG_CHKTHIS(Outliner,0);
584 return pEditEngine->GetDocPosTopLeft( (sal_uInt16)nParagraph );
585 }
586
IsTextPos(const Point & rPaperPos,sal_uInt16 nBorder)587 sal_Bool Outliner::IsTextPos( const Point& rPaperPos, sal_uInt16 nBorder )
588 {
589 return IsTextPos( rPaperPos, nBorder, NULL );
590 }
591
IsTextPos(const Point & rPaperPos,sal_uInt16 nBorder,sal_Bool * pbBullet)592 sal_Bool Outliner::IsTextPos( const Point& rPaperPos, sal_uInt16 nBorder, sal_Bool* pbBullet )
593 {
594 DBG_CHKTHIS(Outliner,0);
595 if ( pbBullet)
596 *pbBullet = sal_False;
597 sal_Bool bTextPos = pEditEngine->IsTextPos( rPaperPos, nBorder );
598 if ( !bTextPos )
599 {
600 Point aDocPos = GetDocPos( rPaperPos );
601 sal_uInt16 nPara = pEditEngine->FindParagraph( aDocPos.Y() );
602 if ( ( nPara != EE_PARA_NOT_FOUND ) && ImplHasNumberFormat( nPara ) )
603 {
604 Rectangle aBulArea = ImpCalcBulletArea( nPara, sal_True, sal_True );
605 if ( aBulArea.IsInside( rPaperPos ) )
606 {
607 bTextPos = sal_True;
608 if ( pbBullet)
609 *pbBullet = sal_True;
610 }
611 }
612 }
613
614 return bTextPos;
615 }
616
QuickSetAttribs(const SfxItemSet & rSet,const ESelection & rSel)617 void Outliner::QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel )
618 {
619 DBG_CHKTHIS(Outliner,0);
620 pEditEngine->QuickSetAttribs( rSet, rSel );
621 }
622
QuickInsertText(const XubString & rText,const ESelection & rSel)623 void Outliner::QuickInsertText( const XubString& rText, const ESelection& rSel )
624 {
625 bFirstParaIsEmpty = sal_False;
626 pEditEngine->QuickInsertText( rText, rSel );
627 }
628
QuickDelete(const ESelection & rSel)629 void Outliner::QuickDelete( const ESelection& rSel )
630 {
631 bFirstParaIsEmpty = sal_False;
632 pEditEngine->QuickDelete( rSel );
633 }
634
QuickInsertField(const SvxFieldItem & rFld,const ESelection & rSel)635 void Outliner::QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel )
636 {
637 DBG_CHKTHIS(Outliner,0);
638 bFirstParaIsEmpty = sal_False;
639 pEditEngine->QuickInsertField( rFld, rSel );
640 }
641
QuickInsertLineBreak(const ESelection & rSel)642 void Outliner::QuickInsertLineBreak( const ESelection& rSel )
643 {
644 DBG_CHKTHIS(Outliner,0);
645 bFirstParaIsEmpty = sal_False;
646 pEditEngine->QuickInsertLineBreak( rSel );
647 }
648
QuickFormatDoc(sal_Bool bFull)649 void Outliner::QuickFormatDoc( sal_Bool bFull )
650 {
651 DBG_CHKTHIS(Outliner,0);
652 pEditEngine->QuickFormatDoc( bFull );
653 }
654
SetGlobalCharStretching(sal_uInt16 nX,sal_uInt16 nY)655 void Outliner::SetGlobalCharStretching( sal_uInt16 nX, sal_uInt16 nY )
656 {
657 DBG_CHKTHIS(Outliner,0);
658 pEditEngine->SetGlobalCharStretching( nX, nY );
659 }
660
GetGlobalCharStretching(sal_uInt16 & rX,sal_uInt16 & rY)661 void Outliner::GetGlobalCharStretching( sal_uInt16& rX, sal_uInt16& rY )
662 {
663 DBG_CHKTHIS(Outliner,0);
664 pEditEngine->GetGlobalCharStretching( rX, rY );
665 }
666
667
DoStretchChars(sal_uInt16 nX,sal_uInt16 nY)668 void Outliner::DoStretchChars( sal_uInt16 nX, sal_uInt16 nY )
669 {
670 DBG_CHKTHIS(Outliner,0);
671 pEditEngine->DoStretchChars( nX, nY );
672 }
673
EraseVirtualDevice()674 void Outliner::EraseVirtualDevice()
675 {
676 DBG_CHKTHIS(Outliner,0);
677 pEditEngine->EraseVirtualDevice();
678 }
679
SetBigTextObjectStart(sal_uInt16 nStartAtPortionCount)680 void Outliner::SetBigTextObjectStart( sal_uInt16 nStartAtPortionCount )
681 {
682 DBG_CHKTHIS(Outliner,0);
683 pEditEngine->SetBigTextObjectStart( nStartAtPortionCount );
684 }
685
GetBigTextObjectStart() const686 sal_uInt16 Outliner::GetBigTextObjectStart() const
687 {
688 DBG_CHKTHIS(Outliner,0);
689 return pEditEngine->GetBigTextObjectStart();
690 }
691
ShouldCreateBigTextObject() const692 sal_Bool Outliner::ShouldCreateBigTextObject() const
693 {
694 DBG_CHKTHIS(Outliner,0);
695 return pEditEngine->ShouldCreateBigTextObject();
696 }
697
SetVertical(sal_Bool b)698 void Outliner::SetVertical( sal_Bool b )
699 {
700 DBG_CHKTHIS(Outliner,0);
701 pEditEngine->SetVertical( b );
702 }
703
IsVertical() const704 sal_Bool Outliner::IsVertical() const
705 {
706 DBG_CHKTHIS(Outliner,0);
707 return pEditEngine->IsVertical();
708 }
709
SetFixedCellHeight(sal_Bool bUseFixedCellHeight)710 void Outliner::SetFixedCellHeight( sal_Bool bUseFixedCellHeight )
711 {
712 DBG_CHKTHIS(Outliner,0);
713 pEditEngine->SetFixedCellHeight( bUseFixedCellHeight );
714 }
715
IsFixedCellHeight() const716 sal_Bool Outliner::IsFixedCellHeight() const
717 {
718 DBG_CHKTHIS(Outliner,0);
719 return pEditEngine->IsFixedCellHeight();
720 }
721
722
SetDefaultHorizontalTextDirection(EEHorizontalTextDirection eHTextDir)723 void Outliner::SetDefaultHorizontalTextDirection( EEHorizontalTextDirection eHTextDir )
724 {
725 DBG_CHKTHIS(Outliner,0);
726 pEditEngine->SetDefaultHorizontalTextDirection( eHTextDir );
727 }
728
GetDefaultHorizontalTextDirection() const729 EEHorizontalTextDirection Outliner::GetDefaultHorizontalTextDirection() const
730 {
731 return pEditEngine->GetDefaultHorizontalTextDirection();
732 }
733
GetScriptType(const ESelection & rSelection) const734 sal_uInt16 Outliner::GetScriptType( const ESelection& rSelection ) const
735 {
736 DBG_CHKTHIS(Outliner,0);
737 return pEditEngine->GetScriptType( rSelection );
738 }
739
GetLanguage(sal_uInt16 nPara,sal_uInt16 nPos) const740 LanguageType Outliner::GetLanguage( sal_uInt16 nPara, sal_uInt16 nPos ) const
741 {
742 DBG_CHKTHIS(Outliner,0);
743 return pEditEngine->GetLanguage( nPara, nPos );
744 }
745
RemoveAttribs(const ESelection & rSelection,sal_Bool bRemoveParaAttribs,sal_uInt16 nWhich)746 void Outliner::RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich )
747 {
748 DBG_CHKTHIS(Outliner,0);
749 pEditEngine->RemoveAttribs( rSelection, bRemoveParaAttribs, nWhich );
750 }
751
EnableAutoColor(sal_Bool b)752 void Outliner::EnableAutoColor( sal_Bool b )
753 {
754 DBG_CHKTHIS(Outliner,0);
755 pEditEngine->EnableAutoColor( b );
756 }
757
IsAutoColorEnabled() const758 sal_Bool Outliner::IsAutoColorEnabled() const
759 {
760 DBG_CHKTHIS(Outliner,0);
761 return pEditEngine->IsAutoColorEnabled();
762 }
763
ForceAutoColor(sal_Bool b)764 void Outliner::ForceAutoColor( sal_Bool b )
765 {
766 DBG_CHKTHIS(Outliner,0);
767 pEditEngine->ForceAutoColor( b );
768 }
769
IsForceAutoColor() const770 sal_Bool Outliner::IsForceAutoColor() const
771 {
772 DBG_CHKTHIS(Outliner,0);
773 return pEditEngine->IsForceAutoColor();
774 }
775 /*-- 13.10.2003 16:56:23---------------------------------------------------
776
777 -----------------------------------------------------------------------*/
StartSpelling(EditView & rEditView,sal_Bool bMultipleDoc)778 void Outliner::StartSpelling(EditView& rEditView, sal_Bool bMultipleDoc)
779 {
780 pEditEngine->StartSpelling(rEditView, bMultipleDoc);
781 }
782 /*-- 13.10.2003 16:56:23---------------------------------------------------
783
784 -----------------------------------------------------------------------*/
EndSpelling()785 void Outliner::EndSpelling()
786 {
787 pEditEngine->EndSpelling();
788 }
789 /*-- 13.10.2003 16:56:23---------------------------------------------------
790
791 -----------------------------------------------------------------------*/
SpellSentence(EditView & rEditView,::svx::SpellPortions & rToFill,bool bIsGrammarChecking)792 bool Outliner::SpellSentence(EditView& rEditView, ::svx::SpellPortions& rToFill, bool bIsGrammarChecking )
793 {
794 return pEditEngine->SpellSentence(rEditView, rToFill, bIsGrammarChecking );
795 }
796 /*-- 08.09.2008 11:39:05---------------------------------------------------
797
798 -----------------------------------------------------------------------*/
PutSpellingToSentenceStart(EditView & rEditView)799 void Outliner::PutSpellingToSentenceStart( EditView& rEditView )
800 {
801 pEditEngine->PutSpellingToSentenceStart( rEditView );
802 }
803 /*-- 13.10.2003 16:56:25---------------------------------------------------
804
805 -----------------------------------------------------------------------*/
ApplyChangedSentence(EditView & rEditView,const::svx::SpellPortions & rNewPortions,bool bRecheck)806 void Outliner::ApplyChangedSentence(EditView& rEditView, const ::svx::SpellPortions& rNewPortions, bool bRecheck )
807 {
808 pEditEngine->ApplyChangedSentence( rEditView, rNewPortions, bRecheck );
809 }
810