Bump for 3.6-28
[LibreOffice.git] / editeng / source / outliner / outleeng.hxx
blob14051c3e5e1050d85c5ed1e3290fe190b9df994f
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 ************************************************************************/
28 #ifndef _OUTLEENG_HXX
29 #define _OUTLEENG_HXX
31 #include <editeng/outliner.hxx>
32 #include <editeng/editeng.hxx>
34 typedef std::vector<EENotify> NotifyList;
36 class OutlinerEditEng : public EditEngine
38 Outliner* pOwner;
40 protected:
42 // derived from EditEngine. Allows Outliner objetcs to provide
43 // bullet access to the EditEngine.
44 virtual const SvxNumberFormat* GetNumberFormat( sal_uInt16 nPara ) const;
46 public:
47 OutlinerEditEng( Outliner* pOwner, SfxItemPool* pPool );
48 ~OutlinerEditEng();
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,
61 bool bEndOfLine,
62 bool bEndOfParagraph,
63 bool bEndOfBullet,
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,
71 bool bEndOfLine,
72 bool bEndOfParagraph,
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;
97 #endif
99 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */