1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
31 #include <editeng/outliner.hxx>
32 #include <editeng/editeng.hxx>
34 typedef std::vector
<EENotify
> NotifyList
;
36 class OutlinerEditEng
: public EditEngine
42 // derived from EditEngine. Allows Outliner objetcs to provide
43 // bullet access to the EditEngine.
44 virtual const SvxNumberFormat
* GetNumberFormat( sal_uInt16 nPara
) const;
47 OutlinerEditEng( Outliner
* pOwner
, SfxItemPool
* pPool
);
50 virtual void PaintingFirstLine( sal_uInt16 nPara
, const Point
& rStartPos
, long nBaseLineY
, const Point
& rOrigin
, short nOrientation
, OutputDevice
* pOutDev
);
52 virtual void ParagraphInserted( sal_uInt16 nNewParagraph
);
53 virtual void ParagraphDeleted( sal_uInt16 nDeletedParagraph
);
54 virtual void ParagraphConnected( sal_uInt16 nLeftParagraph
, sal_uInt16 nRightParagraph
);
56 virtual void DrawingText(
57 const Point
& rStartPos
, const XubString
& rText
, sal_uInt16 nTextStart
, sal_uInt16 nTextLen
, const sal_Int32
* pDXArray
, const SvxFont
& rFont
,
58 sal_uInt16 nPara
, sal_uInt16 nIndex
, sal_uInt8 nRightToLeft
,
59 const EEngineData::WrongSpellVector
* pWrongSpellVector
,
60 const SvxFieldData
* pFieldData
,
64 const ::com::sun::star::lang::Locale
* pLocale
,
65 const Color
& rOverlineColor
,
66 const Color
& rTextLineColor
);
68 virtual void DrawingTab(
69 const Point
& rStartPos
, long nWidth
, const String
& rChar
,
70 const SvxFont
& rFont
, sal_uInt16 nPara
, xub_StrLen nIndex
, sal_uInt8 nRightToLeft
,
73 const Color
& rOverlineColor
,
74 const Color
& rTextLineColor
);
76 virtual void StyleSheetChanged( SfxStyleSheet
* pStyle
);
77 virtual void ParaAttribsChanged( sal_uInt16 nPara
);
78 virtual sal_Bool
SpellNextDocument();
79 virtual XubString
GetUndoComment( sal_uInt16 nUndoId
) const;
81 // for text conversion
82 virtual sal_Bool
ConvertNextDocument();
84 virtual void FieldClicked( const SvxFieldItem
& rField
, sal_uInt16 nPara
, sal_uInt16 nPos
);
85 virtual void FieldSelected( const SvxFieldItem
& rField
, sal_uInt16 nPara
, sal_uInt16 nPos
);
86 virtual XubString
CalcFieldValue( const SvxFieldItem
& rField
, sal_uInt16 nPara
, sal_uInt16 nPos
, Color
*& rTxtColor
, Color
*& rFldColor
);
88 virtual Rectangle
GetBulletArea( sal_uInt16 nPara
);
90 virtual void SetParaAttribs( sal_uInt16 nPara
, const SfxItemSet
& rSet
);
92 // belongs into class Outliner, move there before incompatible update!
93 Link aOutlinerNotifyHdl
;
94 NotifyList aNotifyCache
;
99 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */