LibreOffice Module editeng (master) 1
outliner.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef INCLUDED_EDITENG_OUTLINER_HXX
20#define INCLUDED_EDITENG_OUTLINER_HXX
21
22#include <editeng/editdata.hxx>
23#include <editeng/editstat.hxx>
25#include <i18nlangtag/lang.h>
26#include <rtl/ustring.hxx>
29#include <svl/undo.hxx>
30#include <tools/gen.hxx>
31#include <tools/color.hxx>
32#include <utility>
33#include <vcl/outdev.hxx>
35#include <tools/link.hxx>
37
38#include <vcl/GraphicObject.hxx>
39
40#include <editeng/svxfont.hxx>
41#include <editeng/eedata.hxx>
44
45#include <optional>
46#include <functional>
47#include <memory>
48#include <vector>
49
50class OutlinerEditEng;
51class Outliner;
52class EditView;
53class EditUndo;
54class ParagraphList;
56class SvStream;
57class SvxSearchItem;
58class SvxFieldItem;
59namespace vcl { class Window; }
60namespace weld { class Widget; }
61class KeyEvent;
62class MouseEvent;
63class CommandEvent;
64class MapMode;
66class SfxStyleSheet;
67class SfxItemPool;
68class SfxItemSet;
69class SvxNumberFormat;
70class EditEngine;
74enum class CharCompressType;
75enum class TransliterationFlags;
76class SvxFieldData;
77enum class PointerStyle;
78class SvxNumRule;
79enum class TextRotation;
80enum class SdrCompatibilityFlag;
81
83 class XSpellChecker1;
84 class XHyphenator;
85}
86namespace svx{
87 struct SpellPortion;
88 typedef std::vector<SpellPortion> SpellPortions;
89}
90namespace basegfx { class B2DPolyPolygon; }
91namespace com::sun::star::lang { struct Locale; }
92
93
94
95// internal use only!
96enum class ParaFlag
97{
98 NONE = 0x0000,
99 HOLDDEPTH = 0x4000,
100 ISPAGE = 0x0100,
101};
102namespace o3tl
103{
104 template<> struct typed_flags<ParaFlag> : is_typed_flags<ParaFlag, 0xc100> {};
105}
106
107// Undo-Action-Ids
108#define OLUNDO_DEPTH EDITUNDO_USER
109// #define OLUNDO_HEIGHT EDITUNDO_USER+1
110#define OLUNDO_EXPAND EDITUNDO_USER+2
111#define OLUNDO_COLLAPSE EDITUNDO_USER+3
112// #define OLUNDO_REMOVE EDITUNDO_USER+4
113#define OLUNDO_ATTR EDITUNDO_USER+5
114#define OLUNDO_INSERT EDITUNDO_USER+6
115// #define OLUNDO_MOVEPARAGRAPHS EDITUNDO_USER+7
116
117class Paragraph : protected ParagraphData
118{
119private:
120 friend class Outliner;
121 friend class ParagraphList;
122 friend class OutlinerView;
123 friend class OutlinerParaObject;
124 friend class OutlinerEditEng;
127
128 Paragraph& operator=(const Paragraph& rPara ) = delete;
129
130 OUString aBulText;
134
135 bool IsVisible() const { return bVisible; }
136 void SetText( const OUString& rText ) { aBulText = rText; aBulSize.setWidth(-1); }
138 void SetDepth( sal_Int16 nNewDepth ) { nDepth = nNewDepth; aBulSize.setWidth(-1); }
139 const OUString& GetText() const { return aBulText; }
140
141 Paragraph( sal_Int16 nDepth );
142 Paragraph( const Paragraph& ) = delete;
143 Paragraph( const ParagraphData& );
144
145 sal_Int16 GetDepth() const { return nDepth; }
146
147 sal_Int16 GetNumberingStartValue() const { return mnNumberingStartValue; }
148 void SetNumberingStartValue( sal_Int16 nNumberingStartValue );
149
151 void SetParaIsNumberingRestart( bool bParaIsNumberingRestart );
152
153 void SetFlag( ParaFlag nFlag ) { nFlags |= nFlag; }
154 void RemoveFlag( ParaFlag nFlag ) { nFlags &= ~nFlag; }
155 bool HasFlag( ParaFlag nFlag ) const { return bool(nFlags & nFlag); }
156public:
157 ~Paragraph();
158 void dumpAsXml(xmlTextWriterPtr pWriter) const;
159};
160
162{
163 sal_Int32 nStartPara;
164 sal_Int32 nEndPara;
165
166 ParaRange( sal_Int32 nS, sal_Int32 nE ) : nStartPara(nS), nEndPara(nE) {}
167
168 void Adjust();
169};
170
171inline void ParaRange::Adjust()
172{
173 if ( nStartPara > nEndPara )
174 {
175 std::swap(nStartPara, nEndPara);
176 }
177}
178
180{
181 friend class Outliner;
182
184 std::unique_ptr<EditView> pEditView;
185
186 enum class MouseTarget {
187 Text = 0,
188 Bullet = 1,
189 Hypertext = 2, // Outside OutputArea
190 Outside = 3 // Outside OutputArea
191 };
192
193 EDITENG_DLLPRIVATE void ImplExpandOrCollaps( sal_Int32 nStartPara, sal_Int32 nEndPara, bool bExpand );
194
195 EDITENG_DLLPRIVATE sal_Int32 ImpCheckMousePos( const Point& rPosPixel, MouseTarget& reTarget);
196 EDITENG_DLLPRIVATE void ImpToggleExpand( Paragraph const * pParentPara );
197 EDITENG_DLLPRIVATE ParaRange ImpGetSelectedParagraphs( bool bIncludeHiddenChildren );
198
199 EDITENG_DLLPRIVATE sal_Int32 ImpInitPaste( sal_Int32& rStart );
200 EDITENG_DLLPRIVATE void ImpPasted( sal_Int32 nStart, sal_Int32 nPrevParaCount, sal_Int32 nSize);
201 EDITENG_DLLPRIVATE sal_Int32 ImpCalcSelectedPages( bool bIncludeFirstSelected );
202
204
205public:
206 OutlinerView( Outliner* pOut, vcl::Window* pWindow );
208
209 EditView& GetEditView() const { return *pEditView; }
210
211 void Scroll( tools::Long nHorzScroll, tools::Long nVertScroll );
212
213 void Paint( const tools::Rectangle& rRect, OutputDevice* pTargetDevice = nullptr );
214 bool PostKeyEvent( const KeyEvent& rKEvt, vcl::Window const * pFrameWin = nullptr );
215 bool MouseButtonDown( const MouseEvent& );
216 bool MouseButtonUp( const MouseEvent& );
217 void ReleaseMouse();
218 bool MouseMove( const MouseEvent& );
219
220 void ShowCursor( bool bGotoCursor = true, bool bActivate = false );
221 void HideCursor( bool bDeactivate = false );
222
223 Outliner* GetOutliner() const { return pOwner; }
224
225 void SetWindow( vcl::Window* pWindow );
226 vcl::Window* GetWindow() const;
227
228 void SetReadOnly( bool bReadOnly );
229 bool IsReadOnly() const;
230
231 void SetOutputArea( const tools::Rectangle& rRect );
232 tools::Rectangle const & GetOutputArea() const;
233
234 tools::Rectangle GetVisArea() const;
235
236 void CreateSelectionList (std::vector<Paragraph*> &aSelList) ;
237
238 void Select( Paragraph const * pParagraph, bool bSelect = true);
239
240 OUString GetSelected() const;
241 void SelectRange( sal_Int32 nFirst, sal_Int32 nCount );
242 void SetAttribs( const SfxItemSet& );
243 void Indent( short nDiff );
244 void AdjustDepth( short nDX ); // Later replace with Indent!
245
246 void AdjustHeight( tools::Long nDY );
247
248 void Read( SvStream& rInput, EETextFormat eFormat, SvKeyValueIterator* pHTTPHeaderAttrs );
249
250 void InsertText( const OUString& rNew, bool bSelect = false );
251 void InsertText( const OutlinerParaObject& rParaObj );
252 void Expand();
253 void Collapse();
254 void ExpandAll();
255 void CollapseAll();
256
257 void SetBackgroundColor( const Color& rColor );
258 Color const & GetBackgroundColor() const;
259
261 void RegisterViewShell(OutlinerViewShell* pViewShell);
262
263 SfxItemSet GetAttribs();
264
265 void Cut();
266 void Copy();
267 void Paste( bool bUseSpecial = false );
268 void PasteSpecial();
269
270 void SetStyleSheet(const OUString& rStyleName);
271
272 const SfxStyleSheet* GetStyleSheet() const;
274
275 void SetControlWord( EVControlBits nWord );
277
278 void SetAnchorMode( EEAnchorMode eMode );
279 EEAnchorMode GetAnchorMode() const;
280
281 PointerStyle GetPointer( const Point& rPosPixel );
282 bool Command(const CommandEvent& rCEvt);
283
284 void StartSpeller(weld::Widget* pDialogParent);
285 EESpellState StartThesaurus(weld::Widget* pDialogParent);
286 sal_Int32 StartSearchAndReplace( const SvxSearchItem& rSearchItem );
287
288 // for text conversion
289 void StartTextConversion(weld::Widget* pDialogParent, LanguageType nSrcLang, LanguageType nDestLang, const vcl::Font *pDestFont, sal_Int32 nOptions, bool bIsInteractive, bool bMultipleDoc);
290
291 void TransliterateText( TransliterationFlags nTransliterationMode );
292
293 ESelection GetSelection() const;
294
295 SvtScriptType GetSelectedScriptType() const;
296
297 void SetVisArea( const tools::Rectangle& rRect );
298 void SetSelection( const ESelection& );
299 void GetSelectionRectangles(std::vector<tools::Rectangle>& rLogicRects) const;
300
301 void RemoveAttribs( bool bRemoveParaAttribs, bool bKeepLanguages = false );
302 void RemoveAttribsKeepLanguages( bool bRemoveParaAttribs );
303 bool HasSelection() const;
304
305 void InsertField( const SvxFieldItem& rFld );
306 const SvxFieldItem* GetFieldUnderMousePointer() const;
307 const SvxFieldItem* GetFieldAtSelection() const;
309 const SvxFieldData* GetFieldAtCursor() const;
311 void SelectFieldAtCursor();
312
316 void ToggleBullets();
317
318 void ToggleBulletsNumbering(
319 const bool bToggle,
320 const bool bHandleBullets,
321 const SvxNumRule* pNumRule );
322
336 void ApplyBulletsNumbering(
337 const bool bHandleBullets,
338 const SvxNumRule* pNewNumRule,
339 const bool bCheckCurrentNumRuleBeforeApplyingNewNumRule,
340 const bool bAtSelection = false );
341
348 void SwitchOffBulletsNumbering(
349 const bool bAtSelection = false );
350
354 void EnsureNumberingIsOn();
355
356 bool IsCursorAtWrongSpelledWord();
357 bool IsWrongSpelledWordAtPos( const Point& rPosPixel );
358 void ExecuteSpellPopup(const Point& rPosPixel, const Link<SpellCallbackInfo&,void>& rCallBack);
359
360 void SetInvalidateMore( sal_uInt16 nPixel );
361 sal_uInt16 GetInvalidateMore() const;
362
363 OUString GetSurroundingText() const;
364 Selection GetSurroundingTextSelection() const;
365 bool DeleteSurroundingText(const Selection& rRange);
366
367 void SetEndCutPasteLinkHdl(const Link<LinkParamNone*,void> &rLink) { aEndCutPasteLink = rLink; }
368};
369
371class SAL_NO_VTABLE SAL_DLLPUBLIC_RTTI OutlinerViewShell
372{
373public:
374 virtual void libreOfficeKitViewCallback(int nType, const OString& pPayload) const = 0;
375 virtual void libreOfficeKitViewCallbackWithViewId(int nType, const OString& pPayload, int nViewId) const = 0;
376 virtual void libreOfficeKitViewInvalidateTilesCallback(const tools::Rectangle* pRect, int nPart, int nMode) const = 0;
377 virtual void libreOfficeKitViewUpdatedCallback(int nType) const = 0;
378 virtual void libreOfficeKitViewUpdatedCallbackPerViewId(int nType, int nViewId, int nSourceViewId) const = 0;
380 virtual ViewShellId GetViewShellId() const = 0;
381 virtual ViewShellDocId GetDocId() const = 0;
383 virtual void NotifyOtherViews(int nType, const OString& rKey, const OString& rPayload) = 0;
385 virtual void NotifyOtherView(OutlinerViewShell* pOtherShell, int nType, const OString& rKey, const OString& rPayload) = 0;
387
388protected:
389 ~OutlinerViewShell() noexcept {}
390};
391
392// some thesaurus functionality to avoid code duplication in different projects...
393bool EDITENG_DLLPUBLIC GetStatusValueForThesaurusFromContext( OUString &rStatusVal, LanguageType &rLang, const EditView &rEditView );
394void EDITENG_DLLPUBLIC ReplaceTextWithSynonym( EditView &rEditView, const OUString &rSynonmText );
395
396typedef ::std::vector< OutlinerView* > ViewList;
397
399{
400public:
402 const OUString maText;
403 sal_Int32 mnTextStart;
404 sal_Int32 mnTextLen;
405 sal_Int32 mnPara;
409
412 const css::lang::Locale* mpLocale;
415
417
420
421 bool mbEndOfLine : 1;
424
425 bool IsRTL() const { return mnBiDiLevel % 2 == 1; }
426
428 const Point& rPos,
429 OUString aTxt,
430 sal_Int32 nTxtStart,
431 sal_Int32 nTxtLen,
432 const SvxFont& rFnt,
433 sal_Int32 nPar,
435 o3tl::span<const sal_Bool> pKashidaArr,
436 const EEngineData::WrongSpellVector* pWrongSpellVector,
437 const SvxFieldData* pFieldData,
438 const css::lang::Locale* pLocale,
439 const Color& rOverlineColor,
440 const Color& rTextLineColor,
441 sal_uInt8 nBiDiLevel,
442 bool bFilled,
443 tools::Long nWidthToFill,
444 bool bEndOfLine,
445 bool bEndOfParagraph,
446 bool bEndOfBullet)
447 : mrStartPos(rPos),
448 maText(std::move(aTxt)),
449 mnTextStart(nTxtStart),
450 mnTextLen(nTxtLen),
451 mnPara(nPar),
452 mrFont(rFnt),
453 mpDXArray(pDXArr),
454 mpKashidaArray(pKashidaArr),
455 mpWrongSpellVector(pWrongSpellVector),
456 mpFieldData(pFieldData),
457 mpLocale(pLocale),
458 maOverlineColor(rOverlineColor),
459 maTextLineColor(rTextLineColor),
460 mnBiDiLevel(nBiDiLevel),
461 mbFilled( bFilled ),
462 mnWidthToFill( nWidthToFill ),
463 mbEndOfLine(bEndOfLine),
464 mbEndOfParagraph(bEndOfParagraph),
465 mbEndOfBullet(bEndOfBullet)
466 {}
467};
468
470{
471public:
475
477 const GraphicObject& rBulletGraphicObject,
478 const Point& rBulletPosition,
479 const Size& rBulletSize)
480 : maBulletGraphicObject(rBulletGraphicObject),
481 maBulletPosition(rBulletPosition),
482 maBulletSize(rBulletSize)
483 {}
484};
485
487{
488 sal_Int32 mnPara;
491
492 PaintFirstLineInfo( sal_Int32 nPara, const Point& rStartPos, OutputDevice* pOutDev )
493 : mnPara( nPara ), mrStartPos( rStartPos ), mpOutDev( pOutDev )
494 {}
495};
496
497class SdrPage;
498
500{
501private:
504
505 std::optional<Color> mxTxtColor;
506 std::optional<Color> mxFldColor;
507 std::optional<FontLineStyle> mxFldLineStyle;
508
510
511 sal_Int32 nPara;
512 sal_Int32 nPos;
513
514 EditFieldInfo( const EditFieldInfo& ) = delete;
515
517
518public:
519 EditFieldInfo( Outliner* pOutl, const SvxFieldItem& rFItem, sal_Int32 nPa, sal_Int32 nPo )
520 : rFldItem( rFItem )
521 {
522 pOutliner = pOutl;
523 nPara = nPa; nPos = nPo;
524 mpSdrPage = nullptr;
525 }
526
527 Outliner* GetOutliner() const { return pOutliner; }
528
529 const SvxFieldItem& GetField() const { return rFldItem; }
530
531 std::optional<Color> const & GetTextColor() const { return mxTxtColor; }
532 void SetTextColor( std::optional<Color> xCol ) { mxTxtColor = xCol; }
533
534 std::optional<Color> const & GetFieldColor() const { return mxFldColor; }
535 void SetFieldColor( std::optional<Color> xCol ) { mxFldColor = xCol; }
536
537 std::optional<FontLineStyle> const& GetFontLineStyle() const { return mxFldLineStyle; }
538 void SetFontLineStyle( std::optional<FontLineStyle> xLineStyle ) { mxFldLineStyle = xLineStyle; }
539
540 sal_Int32 GetPara() const { return nPara; }
541 sal_Int32 GetPos() const { return nPos; }
542
543 const OUString& GetRepresentation() const { return aRepresentation; }
544 OUString& GetRepresentation() { return aRepresentation; }
545 void SetRepresentation( const OUString& rStr ){ aRepresentation = rStr; }
546
547 void SetSdrPage( SdrPage* pPage ) { mpSdrPage = pPage; }
548 SdrPage* GetSdrPage() const { return mpSdrPage; }
549};
550
552{
555 OUString aText;
556 sal_Int32 nParagraph;
557 sal_uInt16 nType; // see SvxNumberType
559
561};
562
563enum class OutlinerMode {
564 DontKnow = 0x0000,
565 TextObject = 0x0001,
566 TitleObject = 0x0002,
567 OutlineObject = 0x0003,
568 OutlineView = 0x0004
569};
570
572{
573public:
576private:
577 friend class OutlinerView;
578 friend class OutlinerEditEng;
579 friend class OutlinerParaObject;
580 friend class OLUndoExpand;
584
585 friend class TextChainingUtils;
586
587 std::unique_ptr<OutlinerEditEng> pEditEngine;
588
589 std::unique_ptr<ParagraphList> pParaList;
591
592 sal_Int32 mnFirstSelPage;
606
608 sal_Int16 nMaxDepth;
609 static constexpr sal_Int16 gnMinDepth = -1;
610
612
617
618 DECL_DLLPRIVATE_LINK( ParaVisibleStateChangedHdl, Paragraph&, void );
619 DECL_DLLPRIVATE_LINK( BeginMovingParagraphsHdl, MoveParagraphsInfo&, void );
620 DECL_DLLPRIVATE_LINK( EndMovingParagraphsHdl, MoveParagraphsInfo&, void );
621 DECL_DLLPRIVATE_LINK( BeginPasteOrDropHdl, PasteOrDropInfos&, void );
622 DECL_DLLPRIVATE_LINK( EndPasteOrDropHdl, PasteOrDropInfos&, void );
623 DECL_DLLPRIVATE_LINK( EditEngineNotifyHdl, EENotify&, void );
624 void ImplCheckParagraphs( sal_Int32 nStart, sal_Int32 nEnd );
625 bool ImplHasNumberFormat( sal_Int32 nPara ) const;
626 Size ImplGetBulletSize( sal_Int32 nPara );
627 sal_uInt16 ImplGetNumbering( sal_Int32 nPara, const SvxNumberFormat* pParaFmt );
628 void ImplCalcBulletText( sal_Int32 nPara, bool bRecalcLevel, bool bRecalcChildren );
629 OUString ImplGetBulletText( sal_Int32 nPara );
630 void ImplCheckNumBulletItem( sal_Int32 nPara );
631 void ImplInitDepth( sal_Int32 nPara, sal_Int16 nDepth, bool bCreateUndo );
632 void ImplSetLevelDependentStyleSheet( sal_Int32 nPara );
633
634 void ImplBlockInsertionCallbacks( bool b );
635
636 void ImpFilterIndents( sal_Int32 nFirstPara, sal_Int32 nLastPara );
637 bool ImpConvertEdtToOut( sal_Int32 nPara );
638
639 void ImpTextPasted( sal_Int32 nStartPara, sal_Int32 nCount );
640 vcl::Font ImpCalcBulletFont( sal_Int32 nPara ) const;
641 tools::Rectangle ImpCalcBulletArea( sal_Int32 nPara, bool bAdjust, bool bReturnPaperPos );
642 bool ImpCanIndentSelectedPages( OutlinerView* pCurView );
643 bool ImpCanDeleteSelectedPages( OutlinerView* pCurView );
644 bool ImpCanDeleteSelectedPages( OutlinerView* pCurView, sal_Int32 nFirstPage, sal_Int32 nPages );
645
646 void ImplCheckDepth( sal_Int16& rnDepth ) const;
647
648protected:
649 void ParagraphInserted( sal_Int32 nParagraph );
650 void ParagraphDeleted( sal_Int32 nParagraph );
651 void ParaAttribsChanged( sal_Int32 nParagraph );
652
653 void StyleSheetChanged( SfxStyleSheet const * pStyle );
654
655 void InvalidateBullet(sal_Int32 nPara);
656 void PaintBullet(sal_Int32 nPara, const Point& rStartPos,
657 const Point& rOrigin, Degree10 nOrientation,
658 OutputDevice& rOutDev);
659
660 // used by OutlinerEditEng. Allows Outliner objects to provide
661 // bullet access to the EditEngine.
662 const SvxNumberFormat* GetNumberFormat( sal_Int32 nPara ) const;
663
664public:
665
666 Outliner( SfxItemPool* pPool, OutlinerMode nMode );
667 virtual ~Outliner() override;
668
669 void dumpAsXml(xmlTextWriterPtr pWriter) const;
670
671 void Init( OutlinerMode nMode );
672
673 void SetVertical( bool bVertical);
674 void SetRotation(TextRotation nRotation);
675 bool IsVertical() const;
676 bool IsTopToBottom() const;
677
678 void SetTextColumns(sal_Int16 nColumns, sal_Int32 nSpacing);
679
680 void SetFixedCellHeight( bool bUseFixedCellHeight );
681
682 void SetDefaultHorizontalTextDirection( EEHorizontalTextDirection eHTextDir );
683 EEHorizontalTextDirection GetDefaultHorizontalTextDirection() const;
684
685 LanguageType GetLanguage( sal_Int32 nPara, sal_Int32 nPos ) const;
686
687 void SetAsianCompressionMode( CharCompressType nCompressionMode );
688
689 void SetKernAsianPunctuation( bool bEnabled );
690
691 void SetAddExtLeading( bool b );
692
693 size_t InsertView( OutlinerView* pView, size_t nIndex = size_t(-1) );
694 void RemoveView( OutlinerView const * pView );
695 void RemoveView( size_t nIndex );
696 OutlinerView* GetView( size_t nIndex ) const;
697 size_t GetViewCount() const;
698
699 Paragraph* Insert( const OUString& rText, sal_Int32 nAbsPos = EE_PARA_APPEND, sal_Int16 nDepth = 0 );
700 void SetText( const OutlinerParaObject& );
701 void AddText( const OutlinerParaObject&, bool bAppend = false );
702 void SetText( const OUString& rText, Paragraph* pParagraph );
703 OUString GetText( Paragraph const * pPara, sal_Int32 nParaCount=1 ) const;
704
705 void SetToEmptyText();
706
707 std::optional<OutlinerParaObject> CreateParaObject( sal_Int32 nStartPara = 0, sal_Int32 nParaCount = EE_PARA_ALL ) const;
708
709 const SfxItemSet& GetEmptyItemSet() const;
710
711 void SetRefMapMode( const MapMode& );
712 MapMode const & GetRefMapMode() const;
713
714 void SetBackgroundColor( const Color& rColor );
715 Color const & GetBackgroundColor() const;
716
717 void SetMaxDepth( sal_Int16 nDepth );
718 sal_Int16 GetMaxDepth() const { return nMaxDepth; }
719
721 bool SetUpdateLayout( bool bUpdate );
722 bool IsUpdateLayout() const;
723
724 void Clear();
725
726 void RemoveAttribs( const ESelection& rSelection, bool bRemoveParaAttribs, sal_uInt16 nWhich );
727
728 sal_Int32 GetParagraphCount() const;
729 Paragraph* GetParagraph( sal_Int32 nAbsPos ) const;
730
731 bool HasChildren( Paragraph const * pParagraph ) const;
732 sal_Int32 GetChildCount( Paragraph const * pParent ) const;
733 bool IsExpanded( Paragraph const * pPara ) const;
734 Paragraph* GetParent( Paragraph const * pParagraph ) const;
735 sal_Int32 GetAbsPos( Paragraph const * pPara ) const;
736
737 sal_Int16 GetDepth( sal_Int32 nPara ) const;
738 void SetDepth( Paragraph* pParagraph, sal_Int16 nNewDepth );
739
740 void EnableUndo( bool bEnable );
741 bool IsUndoEnabled() const;
742 void UndoActionStart( sal_uInt16 nId );
743 void UndoActionEnd();
744 void InsertUndo( std::unique_ptr<EditUndo> pUndo );
745 bool IsInUndo() const;
746
747 void ClearModifyFlag();
748 bool IsModified() const;
749
750 void ParagraphInsertedHdl(Paragraph*);
751 void SetParaInsertedHdl(const Link<ParagraphHdlParam,void>& rLink){aParaInsertedHdl=rLink;}
752 const Link<ParagraphHdlParam,void>& GetParaInsertedHdl() const { return aParaInsertedHdl; }
753
754 void SetParaRemovingHdl(const Link<ParagraphHdlParam,void>& rLink){aParaRemovingHdl=rLink;}
755 const Link<ParagraphHdlParam,void>& GetParaRemovingHdl() const { return aParaRemovingHdl; }
756
757 std::optional<NonOverflowingText> GetNonOverflowingText() const;
758 std::optional<OverflowingText> GetOverflowingText() const;
759 void ClearOverflowingParaNum();
760 bool IsPageOverflow();
761
762 OutlinerParaObject GetEmptyParaObject() const;
763
764
765 void DepthChangedHdl(Paragraph*, ParaFlag nPrevFlags);
766 void SetDepthChangedHdl(const Link<DepthChangeHdlParam,void>& rLink){aDepthChangedHdl=rLink;}
767 const Link<DepthChangeHdlParam,void>& GetDepthChangedHdl() const { return aDepthChangedHdl; }
768 sal_Int16 GetPrevDepth() const { return static_cast<sal_Int16>(nDepthChangedHdlPrevDepth); }
769
770 bool RemovingPagesHdl( OutlinerView* );
771 void SetRemovingPagesHdl(const Link<OutlinerView*,bool>& rLink){aRemovingPagesHdl=rLink;}
772 bool IndentingPagesHdl( OutlinerView* );
773 void SetIndentingPagesHdl(const Link<OutlinerView*,bool>& rLink){aIndentingPagesHdl=rLink;}
774 // valid only in the two upper handlers
775 sal_Int32 GetSelPageCount() const { return nDepthChangedHdlPrevDepth; }
776
777 void SetCalcFieldValueHdl(const Link<EditFieldInfo*,void>& rLink ) { aCalcFieldValueHdl= rLink; }
778 const Link<EditFieldInfo*,void>& GetCalcFieldValueHdl() const { return aCalcFieldValueHdl; }
779
780 void SetDrawPortionHdl(const Link<DrawPortionInfo*,void>& rLink){aDrawPortionHdl=rLink;}
781
782 void SetDrawBulletHdl(const Link<DrawBulletInfo*,void>& rLink){aDrawBulletHdl=rLink;}
783
784 void SetPaintFirstLineHdl(const Link<PaintFirstLineInfo*,void>& rLink) { maPaintFirstLineHdl = rLink; }
785
786 void SetModifyHdl( const Link<LinkParamNone*,void>& rLink );
787
788 void SetNotifyHdl( const Link<EENotify&,void>& rLink );
789
790 void SetStatusEventHdl( const Link<EditStatus&, void>& rLink );
791 Link<EditStatus&, void> const & GetStatusEventHdl() const;
792
793 void Draw( OutputDevice& rOutDev, const tools::Rectangle& rOutRect );
794 void Draw( OutputDevice& rOutDev, const Point& rStartPos );
795
796 const Size& GetPaperSize() const;
797 void SetPaperSize( const Size& rSize );
798
799 void SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon );
800 void SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::B2DPolyPolygon* pLinePolyPolygon);
801 void ClearPolygon();
802
803 const Size& GetMinAutoPaperSize() const;
804 void SetMinAutoPaperSize( const Size& rSz );
805
806 const Size& GetMaxAutoPaperSize() const;
807 void SetMaxAutoPaperSize( const Size& rSz );
808
809 void SetMinColumnWrapHeight(tools::Long nVal);
810
811 void SetDefTab( sal_uInt16 nTab );
812
813 bool IsFlatMode() const;
814 void SetFlatMode( bool bFlat );
815
816 void EnableAutoColor( bool b );
817
818 void ForceAutoColor( bool b );
819 bool IsForceAutoColor() const;
820
821 EBulletInfo GetBulletInfo( sal_Int32 nPara );
822
823 void SetWordDelimiters( const OUString& rDelimiters );
824 OUString const & GetWordDelimiters() const;
825 OUString GetWord( sal_Int32 nPara, sal_Int32 nIndex );
826
827 void StripPortions();
828
829 void DrawingText( const Point& rStartPos, const OUString& rText,
830 sal_Int32 nTextStart, sal_Int32 nTextLen,
832 o3tl::span<const sal_Bool> pKashidaArray,
833 const SvxFont& rFont,
834 sal_Int32 nPara, sal_uInt8 nRightToLeft,
835 const EEngineData::WrongSpellVector* pWrongSpellVector,
836 const SvxFieldData* pFieldData,
837 bool bEndOfLine,
838 bool bEndOfParagraph,
839 bool bEndOfBullet,
840 const css::lang::Locale* pLocale,
841 const Color& rOverlineColor,
842 const Color& rTextLineColor);
843
844 void DrawingTab( const Point& rStartPos, tools::Long nWidth, const OUString& rChar,
845 const SvxFont& rFont, sal_Int32 nPara, sal_uInt8 nRightToLeft,
846 bool bEndOfLine,
847 bool bEndOfParagraph,
848 const Color& rOverlineColor,
849 const Color& rTextLineColor);
850
851 Size CalcTextSize();
852 Size CalcTextSizeNTP();
853
854 void SetStyleSheetPool( SfxStyleSheetPool* pSPool );
855 SfxStyleSheetPool* GetStyleSheetPool();
856
857 bool IsInSelectionMode() const;
858
859 void SetStyleSheet( sal_Int32 nPara, SfxStyleSheet* pStyle );
860 SfxStyleSheet* GetStyleSheet( sal_Int32 nPara );
861
862 void SetParaAttribs( sal_Int32 nPara, const SfxItemSet& );
863 SfxItemSet const & GetParaAttribs( sal_Int32 nPara ) const;
864
865 void Remove( Paragraph const * pPara, sal_Int32 nParaCount );
866 bool Expand( Paragraph const * );
867 bool Collapse( Paragraph const * );
868
869 void SetParaFlag( Paragraph* pPara, ParaFlag nFlag );
870 static bool HasParaFlag( const Paragraph* pPara, ParaFlag nFlag );
871
872
873 void SetControlWord( EEControlBits nWord );
874 EEControlBits GetControlWord() const;
875
876 const Link<Outliner*,void>& GetBeginMovingHdl() const { return aBeginMovingHdl; }
877 void SetBeginMovingHdl(const Link<Outliner*,void>& rLink) {aBeginMovingHdl=rLink;}
878 const Link<Outliner*,void>& GetEndMovingHdl() const {return aEndMovingHdl;}
879 void SetEndMovingHdl( const Link<Outliner*,void>& rLink){aEndMovingHdl=rLink;}
880
881 sal_uInt32 GetLineCount( sal_Int32 nParagraph ) const;
882 sal_Int32 GetLineLen( sal_Int32 nParagraph, sal_Int32 nLine ) const;
883 sal_uInt32 GetLineHeight( sal_Int32 nParagraph );
884
885 ErrCode Read( SvStream& rInput, const OUString& rBaseURL, EETextFormat, SvKeyValueIterator* pHTTPHeaderAttrs = nullptr );
886
887 SfxUndoManager& GetUndoManager();
888 SfxUndoManager* SetUndoManager(SfxUndoManager* pNew);
889
890 void QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
891 void QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );
892 void QuickInsertLineBreak( const ESelection& rSel );
893
894 // Only for EditEngine mode
895 void QuickInsertText( const OUString& rText, const ESelection& rSel );
896 void QuickDelete( const ESelection& rSel );
898 void SetCharAttribs(sal_Int32 nPara, const SfxItemSet& rSet);
899 void RemoveCharAttribs( sal_Int32 nPara, sal_uInt16 nWhich = 0 );
900 void QuickFormatDoc();
901
902 bool UpdateFields();
903 void RemoveFields( const std::function<bool ( const SvxFieldData* )>& isFieldData = [] (const SvxFieldData* ){return true;} );
904
905 virtual OUString CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, std::optional<Color>& rTxtColor, std::optional<Color>& rFldColor, std::optional<FontLineStyle>& rFldLineStyle );
906
907 void SetSpeller( css::uno::Reference< css::linguistic2::XSpellChecker1 > const &xSpeller );
908 css::uno::Reference< css::linguistic2::XSpellChecker1 > const &
909 GetSpeller();
910 void SetHyphenator( css::uno::Reference< css::linguistic2::XHyphenator > const & xHyph );
911
912 static void SetForbiddenCharsTable(const std::shared_ptr<SvxForbiddenCharactersTable>& xForbiddenChars);
913
914 // Deprecated
915 void SetDefaultLanguage( LanguageType eLang );
916
917 void CompleteOnlineSpelling();
918
919 EESpellState HasSpellErrors();
920 bool HasText( const SvxSearchItem& rSearchItem );
921 virtual bool SpellNextDocument();
922
923 // for text conversion
924 bool HasConvertibleTextPortion( LanguageType nLang );
925 virtual bool ConvertNextDocument();
926
927 void SetEditTextObjectPool( SfxItemPool* pPool );
928 SfxItemPool* GetEditTextObjectPool() const;
929
930 void SetRefDevice( OutputDevice* pRefDev );
931 OutputDevice* GetRefDevice() const;
932
933 sal_uInt32 GetTextHeight() const;
934 tools::Rectangle GetParaBounds( sal_Int32 nParagraph ) const;
935 Point GetDocPos( const Point& rPaperPos ) const;
936 bool IsTextPos( const Point& rPaperPos, sal_uInt16 nBorder );
937 bool IsTextPos( const Point& rPaperPos, sal_uInt16 nBorder, bool* pbBulletPos );
938
939 void setGlobalScale(double rFontX = 100.0, double rFontY = 100.0, double rSpacingX = 100.0, double rSpacingY = 100.0);
940 void getGlobalScale(double& rFontX, double& rFontY, double& rSpacingX, double& rSpacingY) const;
941 void setRoundFontSizeToPt(bool bRound) const;
942
943 void EraseVirtualDevice();
944
945 bool ShouldCreateBigTextObject() const;
946
947 const EditEngine& GetEditEngine() const;
948
949 // this is needed for StarOffice Api
950 void SetLevelDependentStyleSheet( sal_Int32 nPara );
951
952 OutlinerMode GetOutlinerMode() const { return nOutlinerMode; }
953
954 // spell and return a sentence
955 bool SpellSentence(EditView const & rEditView, svx::SpellPortions& rToFill );
956 // put spell position to start of current sentence
957 void PutSpellingToSentenceStart( EditView const & rEditView );
958 // applies a changed sentence
959 void ApplyChangedSentence(EditView const & rEditView, const svx::SpellPortions& rNewPortions, bool bRecheck );
960
962 void SetBeginDropHdl( const Link<EditView*,void>& rLink );
963
965 void SetEndDropHdl( const Link<EditView*,void>& rLink );
966
968 void SetBeginPasteOrDropHdl( const Link<PasteOrDropInfos*,void>& rLink );
969
971 void SetEndPasteOrDropHdl( const Link<PasteOrDropInfos*,void>& rLink );
972
973 sal_Int16 GetNumberingStartValue( sal_Int32 nPara ) const;
974 void SetNumberingStartValue( sal_Int32 nPara, sal_Int16 nNumberingStartValue );
975
976 bool IsParaIsNumberingRestart( sal_Int32 nPara ) const;
977 void SetParaIsNumberingRestart( sal_Int32 nPara, bool bParaIsNumberingRestart );
978
992 sal_Int32 GetBulletsNumberingStatus(
993 const sal_Int32 nParaStart,
994 const sal_Int32 nParaEnd ) const;
995
996 // convenient method to determine the bullets/numbering status for all paragraphs
997 sal_Int32 GetBulletsNumberingStatus() const;
998
999 // overridden in SdrOutliner
1000 virtual std::optional<bool> GetCompatFlag(SdrCompatibilityFlag /*eFlag*/) const { return {}; };
1001};
1002
1003#endif
1004
1005/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Text maText
CharCompressType
const GraphicObject maBulletGraphicObject
Definition: outliner.hxx:472
DrawBulletInfo(const GraphicObject &rBulletGraphicObject, const Point &rBulletPosition, const Size &rBulletSize)
Definition: outliner.hxx:476
Point maBulletPosition
Definition: outliner.hxx:473
o3tl::span< const sal_Bool > mpKashidaArray
Definition: outliner.hxx:408
const Point & mrStartPos
Definition: outliner.hxx:401
const SvxFieldData * mpFieldData
Definition: outliner.hxx:411
sal_Int32 mnTextLen
Definition: outliner.hxx:404
const Color maOverlineColor
Definition: outliner.hxx:413
const EEngineData::WrongSpellVector * mpWrongSpellVector
Definition: outliner.hxx:410
sal_Int32 mnPara
Definition: outliner.hxx:405
const SvxFont & mrFont
Definition: outliner.hxx:406
const Color maTextLineColor
Definition: outliner.hxx:414
bool IsRTL() const
Definition: outliner.hxx:425
DrawPortionInfo(const Point &rPos, OUString aTxt, sal_Int32 nTxtStart, sal_Int32 nTxtLen, const SvxFont &rFnt, sal_Int32 nPar, o3tl::span< const sal_Int32 > pDXArr, o3tl::span< const sal_Bool > pKashidaArr, const EEngineData::WrongSpellVector *pWrongSpellVector, const SvxFieldData *pFieldData, const css::lang::Locale *pLocale, const Color &rOverlineColor, const Color &rTextLineColor, sal_uInt8 nBiDiLevel, bool bFilled, tools::Long nWidthToFill, bool bEndOfLine, bool bEndOfParagraph, bool bEndOfBullet)
Definition: outliner.hxx:427
tools::Long mnWidthToFill
Definition: outliner.hxx:419
const css::lang::Locale * mpLocale
Definition: outliner.hxx:412
const OUString maText
Definition: outliner.hxx:402
sal_uInt8 mnBiDiLevel
Definition: outliner.hxx:416
bool mbEndOfParagraph
Definition: outliner.hxx:422
o3tl::span< const sal_Int32 > mpDXArray
Definition: outliner.hxx:407
sal_Int32 mnTextStart
Definition: outliner.hxx:403
OUString aRepresentation
Definition: outliner.hxx:509
std::optional< Color > const & GetFieldColor() const
Definition: outliner.hxx:534
void SetSdrPage(SdrPage *pPage)
Definition: outliner.hxx:547
void SetFieldColor(std::optional< Color > xCol)
Definition: outliner.hxx:535
std::optional< Color > const & GetTextColor() const
Definition: outliner.hxx:531
void SetRepresentation(const OUString &rStr)
Definition: outliner.hxx:545
SdrPage * mpSdrPage
Definition: outliner.hxx:516
OUString & GetRepresentation()
Definition: outliner.hxx:544
std::optional< FontLineStyle > mxFldLineStyle
Definition: outliner.hxx:507
void SetTextColor(std::optional< Color > xCol)
Definition: outliner.hxx:532
sal_Int32 nPos
Definition: outliner.hxx:512
Outliner * GetOutliner() const
Definition: outliner.hxx:527
sal_Int32 GetPara() const
Definition: outliner.hxx:540
std::optional< Color > mxFldColor
Definition: outliner.hxx:506
sal_Int32 nPara
Definition: outliner.hxx:511
EditFieldInfo(const EditFieldInfo &)=delete
const SvxFieldItem & GetField() const
Definition: outliner.hxx:529
std::optional< FontLineStyle > const & GetFontLineStyle() const
Definition: outliner.hxx:537
std::optional< Color > mxTxtColor
Definition: outliner.hxx:505
void SetFontLineStyle(std::optional< FontLineStyle > xLineStyle)
Definition: outliner.hxx:538
const OUString & GetRepresentation() const
Definition: outliner.hxx:543
sal_Int32 GetPos() const
Definition: outliner.hxx:541
Outliner * pOutliner
Definition: outliner.hxx:502
const SvxFieldItem & rFldItem
Definition: outliner.hxx:503
EditFieldInfo(Outliner *pOutl, const SvxFieldItem &rFItem, sal_Int32 nPa, sal_Int32 nPo)
Definition: outliner.hxx:519
SdrPage * GetSdrPage() const
Definition: outliner.hxx:548
Interface class to not depend on SfxViewShell in editeng.
Definition: outliner.hxx:372
virtual vcl::Window * GetEditWindowForActiveOLEObj() const =0
virtual void libreOfficeKitViewCallback(int nType, const OString &pPayload) const =0
virtual void libreOfficeKitViewAddPendingInvalidateTiles()=0
virtual void libreOfficeKitViewUpdatedCallbackPerViewId(int nType, int nViewId, int nSourceViewId) const =0
virtual void libreOfficeKitViewUpdatedCallback(int nType) const =0
virtual ViewShellId GetViewShellId() const =0
virtual void NotifyOtherViews(int nType, const OString &rKey, const OString &rPayload)=0
Wrapper around SfxLokHelper::notifyOtherViews().
virtual void NotifyOtherView(OutlinerViewShell *pOtherShell, int nType, const OString &rKey, const OString &rPayload)=0
Wrapper around SfxLokHelper::notifyOtherView().
virtual ViewShellDocId GetDocId() const =0
~OutlinerViewShell() noexcept
Definition: outliner.hxx:389
virtual void libreOfficeKitViewCallbackWithViewId(int nType, const OString &pPayload, int nViewId) const =0
virtual void libreOfficeKitViewInvalidateTilesCallback(const tools::Rectangle *pRect, int nPart, int nMode) const =0
void SetEndCutPasteLinkHdl(const Link< LinkParamNone *, void > &rLink)
Definition: outliner.hxx:367
std::unique_ptr< EditView > pEditView
Definition: outliner.hxx:184
Outliner * pOwner
Definition: outliner.hxx:183
Outliner * GetOutliner() const
Definition: outliner.hxx:223
Link< LinkParamNone *, void > aEndCutPasteLink
Definition: outliner.hxx:203
EditView & GetEditView() const
Definition: outliner.hxx:209
bool Expand(Paragraph const *)
Definition: outliner.cxx:760
void SetEndMovingHdl(const Link< Outliner *, void > &rLink)
Definition: outliner.hxx:879
Link< OutlinerView *, bool > aRemovingPagesHdl
Definition: outliner.hxx:601
bool bPasting
Definition: outliner.hxx:616
OutlinerMode GetOutlinerMode() const
Definition: outliner.hxx:952
void SetPaintFirstLineHdl(const Link< PaintFirstLineInfo *, void > &rLink)
Definition: outliner.hxx:784
void SetDrawPortionHdl(const Link< DrawPortionInfo *, void > &rLink)
Definition: outliner.hxx:780
const Link< DepthChangeHdlParam, void > & GetDepthChangedHdl() const
Definition: outliner.hxx:767
sal_Int16 nMaxDepth
Definition: outliner.hxx:608
void SetStyleSheet(sal_Int32 nPara, SfxStyleSheet *pStyle)
Definition: outliner.cxx:666
std::unique_ptr< OutlinerEditEng > pEditEngine
Definition: outliner.hxx:587
const Link< ParagraphHdlParam, void > & GetParaInsertedHdl() const
Definition: outliner.hxx:752
sal_Int16 GetPrevDepth() const
Definition: outliner.hxx:768
Link< OutlinerView *, bool > aIndentingPagesHdl
Definition: outliner.hxx:600
void SetDrawBulletHdl(const Link< DrawBulletInfo *, void > &rLink)
Definition: outliner.hxx:782
DECL_DLLPRIVATE_LINK(EndPasteOrDropHdl, PasteOrDropInfos &, void)
Link< ParagraphHdlParam, void > aParaRemovingHdl
Definition: outliner.hxx:596
friend class OutlinerView
Definition: outliner.hxx:577
EEControlBits GetControlWord() const
Definition: outlin2.cxx:276
bool bFirstParaIsEmpty
Definition: outliner.hxx:613
Link< Outliner *, void > aEndMovingHdl
Definition: outliner.hxx:599
const Link< EditFieldInfo *, void > & GetCalcFieldValueHdl() const
Definition: outliner.hxx:778
bool Collapse(Paragraph const *)
Definition: outliner.cxx:783
void SetIndentingPagesHdl(const Link< OutlinerView *, bool > &rLink)
Definition: outliner.hxx:773
DECL_DLLPRIVATE_LINK(BeginMovingParagraphsHdl, MoveParagraphsInfo &, void)
Link< DepthChangeHdlParam, void > aDepthChangedHdl
Definition: outliner.hxx:597
std::unique_ptr< ParagraphList > pParaList
Definition: outliner.hxx:589
OutlinerMode nOutlinerMode
Definition: outliner.hxx:611
sal_Int32 mnFirstSelPage
Definition: outliner.hxx:592
Link< ParagraphHdlParam, void > aParaInsertedHdl
Definition: outliner.hxx:595
void RemoveAttribs(const ESelection &rSelection, bool bRemoveParaAttribs, sal_uInt16 nWhich)
Definition: outlin2.cxx:565
sal_Int32 GetSelPageCount() const
Definition: outliner.hxx:775
DECL_DLLPRIVATE_LINK(BeginPasteOrDropHdl, PasteOrDropInfos &, void)
Link< DrawPortionInfo *, void > aDrawPortionHdl
Definition: outliner.hxx:593
Link< PasteOrDropInfos *, void > maBeginPasteOrDropHdl
Definition: outliner.hxx:604
Color const & GetBackgroundColor() const
Definition: outlin2.cxx:85
ViewList aViewList
Definition: outliner.hxx:590
Link< EditFieldInfo *, void > aCalcFieldValueHdl
Definition: outliner.hxx:602
void SetControlWord(EEControlBits nWord)
Definition: outlin2.cxx:271
void SetParaInsertedHdl(const Link< ParagraphHdlParam, void > &rLink)
Definition: outliner.hxx:751
virtual std::optional< bool > GetCompatFlag(SdrCompatibilityFlag) const
Definition: outliner.hxx:1000
sal_Int16 GetMaxDepth() const
Definition: outliner.hxx:718
Link< Outliner *, void > aBeginMovingHdl
Definition: outliner.hxx:598
void SetRemovingPagesHdl(const Link< OutlinerView *, bool > &rLink)
Definition: outliner.hxx:771
void SetParaRemovingHdl(const Link< ParagraphHdlParam, void > &rLink)
Definition: outliner.hxx:754
DECL_DLLPRIVATE_LINK(ParaVisibleStateChangedHdl, Paragraph &, void)
DECL_DLLPRIVATE_LINK(EditEngineNotifyHdl, EENotify &, void)
sal_Int32 nDepthChangedHdlPrevDepth
Definition: outliner.hxx:607
void SetCalcFieldValueHdl(const Link< EditFieldInfo *, void > &rLink)
Definition: outliner.hxx:777
Link< PaintFirstLineInfo *, void > maPaintFirstLineHdl
Definition: outliner.hxx:603
void SetBeginMovingHdl(const Link< Outliner *, void > &rLink)
Definition: outliner.hxx:877
ErrCode Read(SvStream &rInput, const OUString &rBaseURL, EETextFormat, SvKeyValueIterator *pHTTPHeaderAttrs=nullptr)
Definition: outliner.cxx:1085
Link< PasteOrDropInfos *, void > maEndPasteOrDropHdl
Definition: outliner.hxx:605
const Link< ParagraphHdlParam, void > & GetParaRemovingHdl() const
Definition: outliner.hxx:755
Link< DrawBulletInfo *, void > aDrawBulletHdl
Definition: outliner.hxx:594
const Link< Outliner *, void > & GetEndMovingHdl() const
Definition: outliner.hxx:878
void SetBackgroundColor(const Color &rColor)
Definition: outlin2.cxx:80
sal_uInt8 nBlockInsCallback
Definition: outliner.hxx:614
DECL_DLLPRIVATE_LINK(EndMovingParagraphsHdl, MoveParagraphsInfo &, void)
SfxStyleSheet * GetStyleSheet(sal_Int32 nPara)
Definition: outlin2.cxx:261
void SetDepthChangedHdl(const Link< DepthChangeHdlParam, void > &rLink)
Definition: outliner.hxx:766
bool bStrippingPortions
Definition: outliner.hxx:615
const Link< Outliner *, void > & GetBeginMovingHdl() const
Definition: outliner.hxx:876
friend class Paragraph
sal_Int16 nDepth
sal_Int16 mnNumberingStartValue
bool mbParaIsNumberingRestart
sal_Int16 GetDepth() const
Definition: outliner.hxx:145
void SetNumberingStartValue(sal_Int16 nNumberingStartValue)
Definition: paralist.cxx:70
bool bVisible
Definition: outliner.hxx:133
bool IsParaIsNumberingRestart() const
Definition: outliner.hxx:150
sal_Int16 GetNumberingStartValue() const
Definition: outliner.hxx:147
bool HasFlag(ParaFlag nFlag) const
Definition: outliner.hxx:155
void dumpAsXml(xmlTextWriterPtr pWriter) const
Definition: paralist.cxx:84
void RemoveFlag(ParaFlag nFlag)
Definition: outliner.hxx:154
ParaFlag nFlags
Definition: outliner.hxx:132
~Paragraph()
Definition: paralist.cxx:66
void SetFlag(ParaFlag nFlag)
Definition: outliner.hxx:153
Size aBulSize
Definition: outliner.hxx:131
Paragraph(const Paragraph &)=delete
bool IsVisible() const
Definition: outliner.hxx:135
const OUString & GetText() const
Definition: outliner.hxx:139
void Invalidate()
Definition: outliner.hxx:137
Paragraph & operator=(const Paragraph &rPara)=delete
OUString aBulText
Definition: outliner.hxx:130
void SetDepth(sal_Int16 nNewDepth)
Definition: outliner.hxx:138
void SetText(const OUString &rText)
Definition: outliner.hxx:136
void SetParaIsNumberingRestart(bool bParaIsNumberingRestart)
Definition: paralist.cxx:77
void setWidth(tools::Long nWidth)
This item stores a field (SvxFieldData).
Definition: flditem.hxx:70
Specialise std::optional template for the case where we are wrapping a o3tl::cow_wrapper type,...
Definition: outlobj.hxx:133
void Init()
SdrCompatibilityFlag
virtual OUString GetWord() override
virtual void Insert(SotClipboardFormatId nFormat, const OUString &rFormatName) override
virtual void SetText(const OUString &rStr) override
#define EE_PARA_ALL
Definition: editdata.hxx:50
#define EE_PARA_NOT_FOUND
Definition: editdata.hxx:48
EETextFormat
Definition: editdata.hxx:35
EESpellState
Definition: editdata.hxx:40
EEAnchorMode
Definition: editdata.hxx:41
#define EE_PARA_APPEND
Definition: editdata.hxx:49
EEHorizontalTextDirection
Definition: editdata.hxx:36
#define EDITENG_DLLPRIVATE
Definition: editengdllapi.h:30
#define EDITENG_DLLPUBLIC
Definition: editengdllapi.h:28
TextRotation
Definition: editobj.hxx:55
EEControlBits
Definition: editstat.hxx:28
EVControlBits
Definition: editstat.hxx:61
constexpr OUStringLiteral IsReadOnly(u"IsReadOnly")
struct _xmlTextWriter * xmlTextWriterPtr
@ StyleSheetChanged
SvtScriptType
SvLinkSource * pOwner
const char * pLocale
std::vector< WrongSpellClass > WrongSpellVector
Definition: eedata.hxx:42
void Clear(EHistoryType eHistory)
LanguageType GetLanguage(SfxItemSet const &aSet, sal_uInt16 nLangWhichId)
NONE
std::vector< SpellPortion > SpellPortions
Definition: outliner.hxx:87
long Long
size_t GetAbsPos(const weld::TreeView &rTreeView, const weld::TreeIter &rIter)
bool EDITENG_DLLPUBLIC GetStatusValueForThesaurusFromContext(OUString &rStatusVal, LanguageType &rLang, const EditView &rEditView)
Definition: outlvw.cxx:1469
ParaFlag
Definition: outliner.hxx:97
::std::vector< OutlinerView * > ViewList
Definition: outliner.hxx:396
OutlinerMode
Definition: outliner.hxx:563
void EDITENG_DLLPUBLIC ReplaceTextWithSynonym(EditView &rEditView, const OUString &rSynonmText)
Definition: outlvw.cxx:1497
PointerStyle
@ MouseButtonDown
sal_uInt16 nType
Definition: outliner.hxx:557
tools::Rectangle aBounds
Definition: outliner.hxx:554
SvxFont aFont
Definition: outliner.hxx:553
sal_Int32 nParagraph
Definition: outliner.hxx:556
OUString aText
Definition: outliner.hxx:555
bool bVisible
Definition: outliner.hxx:558
const Point & mrStartPos
Definition: outliner.hxx:489
sal_Int32 mnPara
Definition: outliner.hxx:488
PaintFirstLineInfo(sal_Int32 nPara, const Point &rStartPos, OutputDevice *pOutDev)
Definition: outliner.hxx:492
VclPtr< OutputDevice > mpOutDev
Definition: outliner.hxx:490
ParaRange(sal_Int32 nS, sal_Int32 nE)
Definition: outliner.hxx:166
sal_Int32 nStartPara
Definition: outliner.hxx:163
sal_Int32 nEndPara
Definition: outliner.hxx:164
void Adjust()
Definition: outliner.hxx:171
TransliterationFlags
unsigned char sal_uInt8
#define SAL_NO_VTABLE
void GetSelection(struct ESelection &rSel, SvxTextForwarder const *pForwarder) noexcept
Definition: unotext.cxx:135