diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-10-16 17:22:21 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-10-16 17:22:21 +0200 |
commit | 141873715bcb7cee7b25bde05e9e8e6e7a638ede (patch) | |
tree | e554c373f628040e94b87760728603d3529809f8 /editeng/source | |
parent | f6fcd29e339ab6d8596588410d4280d214f1f294 (diff) |
Move editeng/source/editeng include files to common include directory
...that are included from various source directories. Change done in
preparation of loplugin:includeform.
Change-Id: I4c2160d1c682b37e93e1161796c67097866bf659
Diffstat (limited to 'editeng/source')
-rw-r--r-- | editeng/source/editeng/editattr.hxx | 434 | ||||
-rw-r--r-- | editeng/source/editeng/editdoc.hxx | 846 | ||||
-rw-r--r-- | editeng/source/editeng/edtspell.hxx | 153 | ||||
-rw-r--r-- | editeng/source/editeng/eerdll2.hxx | 70 |
4 files changed, 0 insertions, 1503 deletions
diff --git a/editeng/source/editeng/editattr.hxx b/editeng/source/editeng/editattr.hxx deleted file mode 100644 index 4307f4618538..000000000000 --- a/editeng/source/editeng/editattr.hxx +++ /dev/null @@ -1,434 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_EDITENG_SOURCE_EDITENG_EDITATTR_HXX -#define INCLUDED_EDITENG_SOURCE_EDITENG_EDITATTR_HXX - -#include <editeng/eeitem.hxx> -#include <svl/poolitem.hxx> - -class Color; -class SvxFont; -class SvxFontItem; -class SvxWeightItem; -class SvxPostureItem; -class SvxShadowedItem; -class SvxEscapementItem; -class SvxContourItem; -class SvxCrossedOutItem; -class SvxUnderlineItem; -class SvxOverlineItem; -class SvxFontHeightItem; -class SvxCharScaleWidthItem; -class SvxColorItem; -class SvxBackgroundColorItem; -class SvxAutoKernItem; -class SvxKerningItem; -class SvxWordLineModeItem; -class SvxFieldItem; -class SvxLanguageItem; -class SvxEmphasisMarkItem; -class SvxCharReliefItem; -class SfxVoidItem; -class OutputDevice; -class SvxCaseMapItem; -class SfxGrabBagItem; - -#define CH_FEATURE_OLD (sal_uInt8) 0xFF -#define CH_FEATURE u'\x0001' - -// DEF_METRIC: For my pool, the DefMetric should always appear when -// GetMetric (nWhich)! -// => To determine the DefMetric simply use GetMetric(0) -#define DEF_METRIC 0 - - -// class EditCharAttrib - -// bFeature: Attribute must not expand/shrink, length is always 1 -// bEdge: Attribute will not expand, if you want to expand just on the edge -class EditCharAttrib -{ -protected: - const SfxPoolItem* pItem; - - sal_Int32 nStart; - sal_Int32 nEnd; - bool bFeature :1; - bool bEdge :1; - -public: - EditCharAttrib( const SfxPoolItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - virtual ~EditCharAttrib(); - - EditCharAttrib(const EditCharAttrib&) = delete; - EditCharAttrib& operator=(const EditCharAttrib&) = delete; - - void dumpAsXml(struct _xmlTextWriter* pWriter) const; - - sal_uInt16 Which() const { return pItem->Which(); } - const SfxPoolItem* GetItem() const { return pItem; } - - sal_Int32& GetStart() { return nStart; } - sal_Int32& GetEnd() { return nEnd; } - - sal_Int32 GetStart() const { return nStart; } - sal_Int32 GetEnd() const { return nEnd; } - - inline sal_Int32 GetLen() const; - - inline void MoveForward( sal_Int32 nDiff ); - inline void MoveBackward( sal_Int32 nDiff ); - - inline void Expand( sal_Int32 nDiff ); - inline void Collaps( sal_Int32 nDiff ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ); - - bool IsIn( sal_Int32 nIndex ) const - { return ( ( nStart <= nIndex ) && ( nEnd >= nIndex ) ); } - bool IsInside( sal_Int32 nIndex ) const - { return ( ( nStart < nIndex ) && ( nEnd > nIndex ) ); } - bool IsEmpty() const - { return nStart == nEnd; } - - bool IsFeature() const { return bFeature; } - void SetFeature( bool b) { bFeature = b; } - - bool IsEdge() const { return bEdge; } - void SetEdge( bool b ) { bEdge = b; } -}; - -inline sal_Int32 EditCharAttrib::GetLen() const -{ - DBG_ASSERT( nEnd >= nStart, "EditCharAttrib: nEnd < nStart!" ); - return nEnd-nStart; -} - -inline void EditCharAttrib::MoveForward( sal_Int32 nDiff ) -{ - DBG_ASSERT( SAL_MAX_INT32 - nDiff > nEnd, "EditCharAttrib: MoveForward?!" ); - nStart = nStart + nDiff; - nEnd = nEnd + nDiff; -} - -inline void EditCharAttrib::MoveBackward( sal_Int32 nDiff ) -{ - DBG_ASSERT( (nStart - nDiff) >= 0, "EditCharAttrib: MoveBackward?!" ); - nStart = nStart - nDiff; - nEnd = nEnd - nDiff; -} - -inline void EditCharAttrib::Expand( sal_Int32 nDiff ) -{ - DBG_ASSERT( SAL_MAX_INT32 - nDiff > nEnd, "EditCharAttrib: Expand?!" ); - DBG_ASSERT( !bFeature, "Please do not expand any features!" ); - nEnd = nEnd + nDiff; -} - -inline void EditCharAttrib::Collaps( sal_Int32 nDiff ) -{ - DBG_ASSERT( nEnd - nDiff >= nStart, "EditCharAttrib: Collaps?!" ); - DBG_ASSERT( !bFeature, "Please do not shrink any Features!" ); - nEnd = nEnd - nDiff; -} - - -// class EditCharAttribFont - -class EditCharAttribFont: public EditCharAttrib -{ -public: - EditCharAttribFont( const SvxFontItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribWeight - -class EditCharAttribWeight : public EditCharAttrib -{ -public: - EditCharAttribWeight( const SvxWeightItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - -// class EditCharAttribItalic - -class EditCharAttribItalic : public EditCharAttrib -{ -public: - EditCharAttribItalic( const SvxPostureItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribShadow - -class EditCharAttribShadow : public EditCharAttrib -{ -public: - EditCharAttribShadow( const SvxShadowedItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribEscapement - -class EditCharAttribEscapement : public EditCharAttrib -{ -public: - EditCharAttribEscapement( const SvxEscapementItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribOutline - -class EditCharAttribOutline : public EditCharAttrib -{ -public: - EditCharAttribOutline( const SvxContourItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribStrikeout - -class EditCharAttribStrikeout : public EditCharAttrib -{ -public: - EditCharAttribStrikeout( const SvxCrossedOutItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribCaseMap - -class EditCharAttribCaseMap : public EditCharAttrib -{ -public: - EditCharAttribCaseMap( const SvxCaseMapItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribUnderline - -class EditCharAttribUnderline : public EditCharAttrib -{ -public: - EditCharAttribUnderline( const SvxUnderlineItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribOverline - -class EditCharAttribOverline : public EditCharAttrib -{ -public: - EditCharAttribOverline( const SvxOverlineItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribEmphasisMark - -class EditCharAttribEmphasisMark : public EditCharAttrib -{ -public: - EditCharAttribEmphasisMark( const SvxEmphasisMarkItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribRelief - -class EditCharAttribRelief : public EditCharAttrib -{ -public: - EditCharAttribRelief( const SvxCharReliefItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribFontHeight - -class EditCharAttribFontHeight : public EditCharAttrib -{ -public: - EditCharAttribFontHeight( const SvxFontHeightItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribFontWidth - -class EditCharAttribFontWidth : public EditCharAttrib -{ -public: - EditCharAttribFontWidth( const SvxCharScaleWidthItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribColor - -class EditCharAttribColor : public EditCharAttrib -{ -public: - EditCharAttribColor( const SvxColorItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - -// class EditCharAttribBackgroundColor - -class EditCharAttribBackgroundColor : public EditCharAttrib -{ -public: - EditCharAttribBackgroundColor(const SvxBackgroundColorItem& rAttr, - sal_Int32 nStart, - sal_Int32 nEnd ); - virtual void SetFont(SvxFont& rFont, OutputDevice* pOutDev) override; -}; - - -// class EditCharAttribLanguage - -class EditCharAttribLanguage : public EditCharAttrib -{ -public: - EditCharAttribLanguage( const SvxLanguageItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribTab - -class EditCharAttribTab : public EditCharAttrib -{ -public: - EditCharAttribTab( const SfxVoidItem& rAttr, sal_Int32 nPos ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribLineBreak - -class EditCharAttribLineBreak : public EditCharAttrib -{ -public: - EditCharAttribLineBreak( const SfxVoidItem& rAttr, sal_Int32 nPos ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribField - -class EditCharAttribField: public EditCharAttrib -{ - OUString aFieldValue; - Color* pTxtColor; - Color* pFldColor; - - EditCharAttribField& operator = ( const EditCharAttribField& rAttr ) = delete; - -public: - EditCharAttribField( const SvxFieldItem& rAttr, sal_Int32 nPos ); - EditCharAttribField( const EditCharAttribField& rAttr ); - virtual ~EditCharAttribField() override; - - bool operator == ( const EditCharAttribField& rAttr ) const; - bool operator != ( const EditCharAttribField& rAttr ) const - { return !(operator == ( rAttr ) ); } - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; - Color*& GetTextColor() { return pTxtColor; } - Color*& GetFieldColor() { return pFldColor; } - - const OUString& GetFieldValue() const { return aFieldValue;} - void SetFieldValue(const OUString& rVal); - - void Reset(); -}; - - -// class EditCharAttribPairKerning - -class EditCharAttribPairKerning : public EditCharAttrib -{ -public: - EditCharAttribPairKerning( const SvxAutoKernItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribKerning - -class EditCharAttribKerning : public EditCharAttrib -{ -public: - EditCharAttribKerning( const SvxKerningItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - - -// class EditCharAttribWordLineMode - -class EditCharAttribWordLineMode: public EditCharAttrib -{ -public: - EditCharAttribWordLineMode( const SvxWordLineModeItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); - - virtual void SetFont( SvxFont& rFont, OutputDevice* pOutDev ) override; -}; - -// class EditCharAttribGrabBag - -class EditCharAttribGrabBag: public EditCharAttrib -{ -public: - EditCharAttribGrabBag( const SfxGrabBagItem& rAttr, sal_Int32 nStart, sal_Int32 nEnd ); -}; - - -#endif // INCLUDED_EDITENG_SOURCE_EDITENG_EDITATTR_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/editeng/source/editeng/editdoc.hxx b/editeng/source/editeng/editdoc.hxx deleted file mode 100644 index 5665b2ef3379..000000000000 --- a/editeng/source/editeng/editdoc.hxx +++ /dev/null @@ -1,846 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_EDITENG_SOURCE_EDITENG_EDITDOC_HXX -#define INCLUDED_EDITENG_SOURCE_EDITENG_EDITDOC_HXX - -#include <com/sun/star/i18n/XExtendedInputSequenceChecker.hpp> - -#include "editattr.hxx" -#include "edtspell.hxx" -#include "eerdll2.hxx" -#include <editeng/svxfont.hxx> -#include <svl/itemset.hxx> -#include <svl/style.hxx> -#include <svl/itempool.hxx> -#include <svl/languageoptions.hxx> -#include <tools/lineend.hxx> -#include <o3tl/typed_flags_set.hxx> - -#include <deque> -#include <memory> -#include <vector> - -class ImpEditEngine; -class SvxTabStop; - - -#define CHARPOSGROW 16 -#define DEFTAB 720 - -void CreateFont( SvxFont& rFont, const SfxItemSet& rSet, bool bSearchInParent = true, SvtScriptType nScriptType = SvtScriptType::NONE ); -sal_uInt16 GetScriptItemId( sal_uInt16 nItemId, SvtScriptType nScriptType ); -bool IsScriptItemValid( sal_uInt16 nItemId, short nScriptType ); - -EditCharAttrib* MakeCharAttrib( SfxItemPool& rPool, const SfxPoolItem& rAttr, sal_Int32 nS, sal_Int32 nE ); - -class ContentNode; -class EditDoc; - -struct EPaM -{ - sal_Int32 nPara; - sal_Int32 nIndex; - - EPaM() : nPara(0), nIndex(0) {} - EPaM( sal_Int32 nP, sal_Int32 nI ) : nPara(nP), nIndex(nI) {} - EPaM( const EPaM& r) : nPara(r.nPara), nIndex(r.nIndex) {} - EPaM& operator = ( const EPaM& r ) { nPara = r.nPara; nIndex = r.nIndex; return *this; } - inline bool operator == ( const EPaM& r ) const; - inline bool operator < ( const EPaM& r ) const; -}; - -inline bool EPaM::operator < ( const EPaM& r ) const -{ - return ( nPara < r.nPara ) || ( ( nPara == r.nPara ) && nIndex < r.nIndex ); -} - -inline bool EPaM::operator == ( const EPaM& r ) const -{ - return ( nPara == r.nPara ) && ( nIndex == r.nIndex ); -} - -struct ScriptTypePosInfo -{ - short nScriptType; - sal_Int32 nStartPos; - sal_Int32 nEndPos; - - ScriptTypePosInfo( short Type, sal_Int32 Start, sal_Int32 End ) - : nScriptType(Type) - , nStartPos(Start) - , nEndPos(End) - { - } -}; - -typedef std::deque< ScriptTypePosInfo > ScriptTypePosInfos; - -struct WritingDirectionInfo -{ - sal_uInt8 nType; - sal_Int32 nStartPos; - sal_Int32 nEndPos; - - WritingDirectionInfo( sal_uInt8 Type, sal_Int32 Start, sal_Int32 End ) - : nType(Type) - , nStartPos(Start) - , nEndPos(End) - { - } -}; - - -typedef std::deque< WritingDirectionInfo > WritingDirectionInfos; - -class ContentAttribsInfo -{ -private: - typedef std::vector<std::unique_ptr<EditCharAttrib> > CharAttribsType; - - SfxItemSet aPrevParaAttribs; - CharAttribsType aPrevCharAttribs; - -public: - ContentAttribsInfo( const SfxItemSet& rParaAttribs ); - - const SfxItemSet& GetPrevParaAttribs() const { return aPrevParaAttribs; } - const CharAttribsType& GetPrevCharAttribs() const { return aPrevCharAttribs; } - - void RemoveAllCharAttribsFromPool(SfxItemPool& rPool) const; - void AppendCharAttrib(EditCharAttrib* pNew); -}; - - -// class SvxColorList - -typedef std::vector<Color> SvxColorList; - - -// class ItemList - - -class ItemList -{ -private: - typedef std::vector<const SfxPoolItem*> DummyItemList; - DummyItemList aItemPool; - sal_Int32 CurrentItem; - -public: - ItemList(); - const SfxPoolItem* First(); - const SfxPoolItem* Next(); - sal_Int32 Count() { return aItemPool.size(); }; - void Insert( const SfxPoolItem* pItem ); - void Clear() { aItemPool.clear(); }; -}; - - -// class ContentAttribs - -class ContentAttribs -{ -private: - SfxStyleSheet* pStyle; - SfxItemSet aAttribSet; - -public: - ContentAttribs( SfxItemPool& rItemPool ); - ContentAttribs( const ContentAttribs& ); - ~ContentAttribs(); // only for larger Tabs - - void dumpAsXml(struct _xmlTextWriter* pWriter) const; - - SvxTabStop FindTabStop( sal_Int32 nCurPos, sal_uInt16 nDefTab ); - SfxItemSet& GetItems() { return aAttribSet; } - const SfxItemSet& GetItems() const { return aAttribSet; } - const SfxStyleSheet* GetStyleSheet() const { return pStyle; } - SfxStyleSheet* GetStyleSheet() { return pStyle; } - void SetStyleSheet( SfxStyleSheet* pS ); - - const SfxPoolItem& GetItem( sal_uInt16 nWhich ) const; - bool HasItem( sal_uInt16 nWhich ) const; -}; - - -// class CharAttribList - -class CharAttribList -{ -public: - typedef std::vector<std::unique_ptr<EditCharAttrib> > AttribsType; - -private: - AttribsType aAttribs; - SvxFont aDefFont; // faster than ever from the pool! - bool bHasEmptyAttribs; - -public: - CharAttribList(); - ~CharAttribList(); - - void dumpAsXml(struct _xmlTextWriter* pWriter) const; - - void DeleteEmptyAttribs( SfxItemPool& rItemPool ); - - const EditCharAttrib* FindAttrib( sal_uInt16 nWhich, sal_Int32 nPos ) const; - EditCharAttrib* FindAttrib( sal_uInt16 nWhich, sal_Int32 nPos ); - const EditCharAttrib* FindNextAttrib( sal_uInt16 nWhich, sal_Int32 nFromPos ) const; - EditCharAttrib* FindEmptyAttrib( sal_uInt16 nWhich, sal_Int32 nPos ); - const EditCharAttrib* FindFeature( sal_Int32 nPos ) const; - - - void ResortAttribs(); - void OptimizeRanges( SfxItemPool& rItemPool ); - - sal_Int32 Count() const; - - void InsertAttrib( EditCharAttrib* pAttrib ); - - SvxFont& GetDefFont() { return aDefFont; } - - bool HasEmptyAttribs() const { return bHasEmptyAttribs; } - void SetHasEmptyAttribs(bool b); - bool HasBoundingAttrib( sal_Int32 nBound ) const; - bool HasAttrib( sal_Int32 nStartPos, sal_Int32 nEndPos ) const; - - AttribsType& GetAttribs() { return aAttribs;} - const AttribsType& GetAttribs() const { return aAttribs;} - - void Remove(const EditCharAttrib* p); - void Remove(sal_Int32 nPos); - -#if OSL_DEBUG_LEVEL > 0 - static void DbgCheckAttribs(CharAttribList const& rAttribs); -#endif -}; - - -// class ContentNode - -class ContentNode -{ -private: - OUString maString; - ContentAttribs aContentAttribs; - CharAttribList aCharAttribList; - std::unique_ptr<WrongList> mpWrongList; - - void UnExpandPosition( sal_Int32 &rStartPos, bool bBiasStart ); - -public: - ContentNode( SfxItemPool& rItemPool ); - ContentNode( const OUString& rStr, const ContentAttribs& rContentAttribs ); - ~ContentNode(); - ContentNode(const ContentNode&) = delete; - ContentNode& operator=(const ContentNode&) = delete; - - void dumpAsXml(struct _xmlTextWriter* pWriter) const; - - ContentAttribs& GetContentAttribs() { return aContentAttribs; } - const ContentAttribs& GetContentAttribs() const { return aContentAttribs; } - CharAttribList& GetCharAttribs() { return aCharAttribList; } - const CharAttribList& GetCharAttribs() const { return aCharAttribList; } - - void ExpandAttribs( sal_Int32 nIndex, sal_Int32 nNewChars, SfxItemPool& rItemPool ); - void CollapseAttribs( sal_Int32 nIndex, sal_Int32 nDelChars, SfxItemPool& rItemPool ); - void AppendAttribs( ContentNode* pNextNode ); - void CopyAndCutAttribs( ContentNode* pPrevNode, SfxItemPool& rPool, bool bKeepEndingAttribs ); - - void SetStyleSheet( SfxStyleSheet* pS, bool bRecalcFont = true ); - void SetStyleSheet( SfxStyleSheet* pS, const SvxFont& rFontFromStyle ); - SfxStyleSheet* GetStyleSheet() { return aContentAttribs.GetStyleSheet(); } - - void CreateDefFont(); - - void EnsureWrongList(); - WrongList* GetWrongList(); - const WrongList* GetWrongList() const; - void SetWrongList( WrongList* p ); - - void CreateWrongList(); - void DestroyWrongList(); - - bool IsFeature( sal_Int32 nPos ) const; - - sal_Int32 Len() const; - const OUString& GetString() const { return maString;} - - /// return length including expanded fields - sal_uLong GetExpandedLen() const; - /// return content including expanded fields - OUString GetExpandedText(sal_Int32 nStartPos = 0, sal_Int32 nEndPos = -1, bool bResolveFields = true) const; - /// re-write offsets in the expanded text to string offsets - void UnExpandPositions( sal_Int32 &rStartPos, sal_Int32 &rEndPos ); - - void SetChar(sal_Int32 nPos, sal_Unicode c); - void Insert(const OUString& rStr, sal_Int32 nPos); - void Append(const OUString& rStr); - void Erase(sal_Int32 nPos); - void Erase(sal_Int32 nPos, sal_Int32 nCount); - OUString Copy(sal_Int32 nPos) const; - OUString Copy(sal_Int32 nPos, sal_Int32 nCount) const; - sal_Unicode GetChar(sal_Int32 nPos) const; -}; - - -// class EditPaM - -class EditPaM -{ -private: - ContentNode* pNode; - sal_Int32 nIndex; - -public: - EditPaM(); - EditPaM(const EditPaM& r); - EditPaM(ContentNode* p, sal_Int32 n); - - const ContentNode* GetNode() const { return pNode;} - ContentNode* GetNode() { return pNode;} - void SetNode(ContentNode* p); - - sal_Int32 GetIndex() const { return nIndex; } - void SetIndex( sal_Int32 n ) { nIndex = n; } - - bool DbgIsBuggy( EditDoc const & rDoc ); - - EditPaM& operator = ( const EditPaM& rPaM ); - friend bool operator == ( const EditPaM& r1, const EditPaM& r2 ); - friend bool operator != ( const EditPaM& r1, const EditPaM& r2 ); - bool operator !() const { return !pNode && !nIndex; } -}; - -enum class PortionKind -{ - TEXT = 0, - TAB = 1, - LINEBREAK = 2, - FIELD = 3, - HYPHENATOR = 4 -}; - -enum class DeleteMode { - Simple, RestOfWord, RestOfContent -}; - -enum class AsianCompressionFlags { - Normal = 0x00, - Kana = 0x01, - PunctuationLeft = 0x02, - PunctuationRight = 0x04, -}; -namespace o3tl { - template<> struct typed_flags<AsianCompressionFlags> : is_typed_flags<AsianCompressionFlags, 0x07> {}; -} - - - -// struct ExtraPortionInfos - -struct ExtraPortionInfo -{ - long nOrgWidth; - long nWidthFullCompression; - - long nPortionOffsetX; - - sal_uInt16 nMaxCompression100thPercent; - - AsianCompressionFlags nAsianCompressionTypes; - bool bFirstCharIsRightPunktuation; - bool bCompressed; - - std::unique_ptr<long[]> pOrgDXArray; - std::vector< sal_Int32 > lineBreaksList; - - - ExtraPortionInfo(); - ~ExtraPortionInfo(); - - void SaveOrgDXArray( const long* pDXArray, sal_Int32 nLen ); -}; - - -// class TextPortion - -class TextPortion -{ -private: - std::unique_ptr<ExtraPortionInfo> xExtraInfos; - sal_Int32 nLen; - Size aOutSz; - PortionKind nKind; - sal_uInt8 nRightToLeftLevel; - sal_Unicode nExtraValue; - - -public: - TextPortion( sal_Int32 nL ) - : nLen( nL ) - , aOutSz( -1, -1 ) - , nKind( PortionKind::TEXT ) - , nRightToLeftLevel( 0 ) - , nExtraValue( 0 ) - { - } - - TextPortion( const TextPortion& r ) - : nLen( r.nLen ) - , aOutSz( r.aOutSz ) - , nKind( r.nKind ) - , nRightToLeftLevel( r.nRightToLeftLevel ) - , nExtraValue( r.nExtraValue ) - { - } - - - sal_Int32 GetLen() const { return nLen; } - void SetLen( sal_Int32 nL ) { nLen = nL; } - - Size& GetSize() { return aOutSz; } - const Size& GetSize() const { return aOutSz; } - - void SetKind(PortionKind n) { nKind = n; } - PortionKind GetKind() const { return nKind; } - - void SetRightToLeftLevel( sal_uInt8 n ) { nRightToLeftLevel = n; } - sal_uInt8 GetRightToLeftLevel() const { return nRightToLeftLevel; } - bool IsRightToLeft() const { return (nRightToLeftLevel&1); } - - sal_Unicode GetExtraValue() const { return nExtraValue; } - void SetExtraValue( sal_Unicode n ) { nExtraValue = n; } - - bool HasValidSize() const { return aOutSz.Width() != (-1); } - - ExtraPortionInfo* GetExtraInfos() const { return xExtraInfos.get(); } - void SetExtraInfos( ExtraPortionInfo* p ) { xExtraInfos.reset(p); } -}; - - -// class TextPortionList - -class TextPortionList -{ - typedef std::vector<std::unique_ptr<TextPortion> > PortionsType; - PortionsType maPortions; - -public: - TextPortionList(); - ~TextPortionList(); - - void Reset(); - sal_Int32 FindPortion( - sal_Int32 nCharPos, sal_Int32& rPortionStart, bool bPreferStartingPortion = false) const; - sal_Int32 GetStartPos(sal_Int32 nPortion); - void DeleteFromPortion(sal_Int32 nDelFrom); - sal_Int32 Count() const; - const TextPortion& operator[](sal_Int32 nPos) const; - TextPortion& operator[](sal_Int32 nPos); - - void Append(TextPortion* p); - void Insert(sal_Int32 nPos, TextPortion* p); - void Remove(sal_Int32 nPos); - sal_Int32 GetPos(const TextPortion* p) const; -}; - -class ParaPortion; - - -// class EditLine - -class EditLine -{ -public: - typedef std::vector<long> CharPosArrayType; - -private: - CharPosArrayType aPositions; - long nTxtWidth; - long nStartPosX; - sal_Int32 nStart; // could be replaced by nStartPortion - sal_Int32 nEnd; // could be replaced by nEndPortion - sal_Int32 nStartPortion; - sal_Int32 nEndPortion; - sal_uInt16 nHeight; // Total height of the line - sal_uInt16 nTxtHeight; // Pure Text height - sal_uInt16 nCrsrHeight; // For contour flow high lines => cursor is large. - sal_uInt16 nMaxAscent; - bool bHangingPunctuation:1; - bool bInvalid:1; // for skillful formatting - -public: - EditLine(); - EditLine( const EditLine& ); - ~EditLine(); - - bool IsIn( sal_Int32 nIndex ) const - { return ( (nIndex >= nStart ) && ( nIndex < nEnd ) ); } - - bool IsIn( sal_Int32 nIndex, bool bInclEnd ) const - { return ( ( nIndex >= nStart ) && ( bInclEnd ? ( nIndex <= nEnd ) : ( nIndex < nEnd ) ) ); } - - void SetStart( sal_Int32 n ) { nStart = n; } - sal_Int32 GetStart() const { return nStart; } - sal_Int32& GetStart() { return nStart; } - - void SetEnd( sal_Int32 n ) { nEnd = n; } - sal_Int32 GetEnd() const { return nEnd; } - sal_Int32& GetEnd() { return nEnd; } - - void SetStartPortion( sal_Int32 n ) { nStartPortion = n; } - sal_Int32 GetStartPortion() const { return nStartPortion; } - sal_Int32& GetStartPortion() { return nStartPortion; } - - void SetEndPortion( sal_Int32 n ) { nEndPortion = n; } - sal_Int32 GetEndPortion() const { return nEndPortion; } - sal_Int32& GetEndPortion() { return nEndPortion; } - - void SetHeight( sal_uInt16 nH, sal_uInt16 nTxtH = 0, sal_uInt16 nCrsrH = 0 ); - sal_uInt16 GetHeight() const { return nHeight; } - sal_uInt16 GetTxtHeight() const { return nTxtHeight; } - - void SetTextWidth( long n ) { nTxtWidth = n; } - long GetTextWidth() const { return nTxtWidth; } - - void SetMaxAscent( sal_uInt16 n ) { nMaxAscent = n; } - sal_uInt16 GetMaxAscent() const { return nMaxAscent; } - - void SetHangingPunctuation( bool b ) { bHangingPunctuation = b; } - bool IsHangingPunctuation() const { return bHangingPunctuation; } - - sal_Int32 GetLen() const { return nEnd - nStart; } - - long GetStartPosX() const { return nStartPosX; } - void SetStartPosX( long start ); - Size CalcTextSize( ParaPortion& rParaPortion ); - - bool IsInvalid() const { return bInvalid; } - bool IsValid() const { return !bInvalid; } - void SetInvalid() { bInvalid = true; } - void SetValid() { bInvalid = false; } - - bool IsEmpty() const { return nEnd <= nStart; } - - CharPosArrayType& GetCharPosArray() { return aPositions;} - const CharPosArrayType& GetCharPosArray() const { return aPositions;} - - EditLine* Clone() const; - - EditLine& operator = ( const EditLine& rLine ); - friend bool operator == ( const EditLine& r1, const EditLine& r2 ); -}; - - -// class LineList - -class EditLineList -{ - typedef std::vector<std::unique_ptr<EditLine> > LinesType; - LinesType maLines; - -public: - EditLineList(); - ~EditLineList(); - - void Reset(); - void DeleteFromLine(sal_Int32 nDelFrom); - sal_Int32 FindLine(sal_Int32 nChar, bool bInclEnd); - sal_Int32 Count() const; - const EditLine& operator[](sal_Int32 nPos) const; - EditLine& operator[](sal_Int32 nPos); - - void Append(EditLine* p); - void Insert(sal_Int32 nPos, EditLine* p); -}; - - -// class ParaPortion - -class ParaPortion -{ - friend class ImpEditEngine; // to adjust the height -private: - EditLineList aLineList; - TextPortionList aTextPortionList; - ContentNode* pNode; - long nHeight; - - ScriptTypePosInfos aScriptInfos; - WritingDirectionInfos aWritingDirectionInfos; - - sal_Int32 nInvalidPosStart; - sal_Int32 nFirstLineOffset; // For Writer-LineSpacing-Interpretation - sal_Int32 nBulletX; - sal_Int32 nInvalidDiff; - - bool bInvalid : 1; - bool bSimple : 1; // only linear Tap - bool bVisible : 1; // Belongs to the node! - bool bForceRepaint : 1; - - ParaPortion( const ParaPortion& ) = delete; - -public: - ParaPortion( ContentNode* pNode ); - ~ParaPortion(); - - sal_Int32 GetLineNumber( sal_Int32 nIndex ) const; - - EditLineList& GetLines() { return aLineList; } - const EditLineList& GetLines() const { return aLineList; } - - bool IsInvalid() const { return bInvalid; } - bool IsSimpleInvalid() const { return bSimple; } - void SetValid() { bInvalid = false; bSimple = true;} - - bool MustRepaint() const { return bForceRepaint; } - void SetMustRepaint( bool bRP ) { bForceRepaint = bRP; } - - sal_Int32 GetBulletX() const { return nBulletX; } - void SetBulletX( sal_Int32 n ) { nBulletX = n; } - - void MarkInvalid( sal_Int32 nStart, sal_Int32 nDiff); - void MarkSelectionInvalid( sal_Int32 nStart ); - - void SetVisible( bool bVisible ); - bool IsVisible() const { return bVisible; } - - bool IsEmpty() { return GetTextPortions().Count() == 1 && GetTextPortions()[0].GetLen() == 0; } - - long GetHeight() const { return ( bVisible ? nHeight : 0 ); } - sal_Int32 GetFirstLineOffset() const { return ( bVisible ? nFirstLineOffset : 0 ); } - void ResetHeight() { nHeight = 0; nFirstLineOffset = 0; } - - ContentNode* GetNode() const { return pNode; } - TextPortionList& GetTextPortions() { return aTextPortionList; } - const TextPortionList& GetTextPortions() const { return aTextPortionList; } - - sal_Int32 GetInvalidPosStart() const { return nInvalidPosStart; } - short GetInvalidDiff() const { return nInvalidDiff; } - - void CorrectValuesBehindLastFormattedLine( sal_Int32 nLastFormattedLine ); -#if OSL_DEBUG_LEVEL > 0 - static bool DbgCheckTextPortions(ParaPortion const&); -#endif -}; - - -// class ParaPortionList - -class ParaPortionList -{ - mutable sal_Int32 nLastCache; - std::vector<std::unique_ptr<ParaPortion>> maPortions; -public: - ParaPortionList(); - ~ParaPortionList(); - - void Reset(); - long GetYOffset(const ParaPortion* pPPortion) const; - sal_Int32 FindParagraph(long nYOffset) const; - - const ParaPortion* SafeGetObject(sal_Int32 nPos) const; - ParaPortion* SafeGetObject(sal_Int32 nPos); - - sal_Int32 GetPos(const ParaPortion* p) const; - ParaPortion* operator[](sal_Int32 nPos); - const ParaPortion* operator[](sal_Int32 nPos) const; - - ParaPortion* Release(sal_Int32 nPos); - void Remove(sal_Int32 nPos); - void Insert(sal_Int32 nPos, ParaPortion* p); - void Append(ParaPortion* p); - sal_Int32 Count() const; - -#if OSL_DEBUG_LEVEL > 0 - // temporary: - static void DbgCheck(ParaPortionList const&, EditDoc const& rDoc); -#endif -}; - - -// class EditSelection - -class EditSelection -{ -private: - EditPaM aStartPaM; - EditPaM aEndPaM; - -public: - EditSelection(); // No constructor and destructor - // are automatically executed correctly! - EditSelection( const EditPaM& rStartAndAnd ); - EditSelection( const EditPaM& rStart, const EditPaM& rEnd ); - - EditPaM& Min() { return aStartPaM; } - EditPaM& Max() { return aEndPaM; } - - const EditPaM& Min() const { return aStartPaM; } - const EditPaM& Max() const { return aEndPaM; } - - bool HasRange() const { return aStartPaM != aEndPaM; } - bool IsInvalid() const { return !aStartPaM || !aEndPaM; } - bool DbgIsBuggy( EditDoc const & rDoc ); - - void Adjust( const EditDoc& rNodes ); - - EditSelection& operator = ( const EditPaM& r ); - bool operator == ( const EditSelection& r ) const - { return ( aStartPaM == r.aStartPaM ) && ( aEndPaM == r.aEndPaM ); } - bool operator != ( const EditSelection& r ) const { return !( r == *this ); } -}; - - -// class DeletedNodeInfo - -class DeletedNodeInfo -{ -private: - ContentNode* mpInvalidNode; - sal_Int32 nInvalidParagraph; - -public: - DeletedNodeInfo( ContentNode* pNode, sal_Int32 nPos ) - : mpInvalidNode(pNode) - , nInvalidParagraph(nPos) - { - } - - ContentNode* GetNode() const { return mpInvalidNode; } - sal_Int32 GetPosition() const { return nInvalidParagraph; } -}; - - -// class EditDoc - -class EditDoc -{ -private: - mutable sal_Int32 nLastCache; - std::vector<std::unique_ptr<ContentNode> > maContents; - - SfxItemPool* pItemPool; - Link<LinkParamNone*,void> aModifyHdl; - - SvxFont aDefFont; //faster than ever from the pool!! - sal_uInt16 nDefTab; - bool bIsVertical:1; - bool bIsTopToBottomVert : 1; - bool bIsFixedCellHeight:1; - - bool bOwnerOfPool:1; - bool bModified:1; - -private: - void ImplDestroyContents(); - -public: - EditDoc( SfxItemPool* pItemPool ); - ~EditDoc(); - - void dumpAsXml(struct _xmlTextWriter* pWriter) const; - void ClearSpellErrors(); - - bool IsModified() const { return bModified; } - void SetModified( bool b ); - - void SetModifyHdl( const Link<LinkParamNone*,void>& rLink ) { aModifyHdl = rLink; } - - void CreateDefFont( bool bUseStyles ); - const SvxFont& GetDefFont() { return aDefFont; } - - void SetDefTab( sal_uInt16 nTab ) { nDefTab = nTab ? nTab : DEFTAB; } - sal_uInt16 GetDefTab() const { return nDefTab; } - - void SetVertical( bool bVertical, bool bTopToBottom = true ) - { bIsVertical = bVertical; bIsTopToBottomVert = bVertical && bTopToBottom; } - bool IsVertical() const { return bIsVertical; } - bool IsTopToBottom() const { return bIsTopToBottomVert; } - - void SetFixedCellHeight( bool bUseFixedCellHeight ) { bIsFixedCellHeight = bUseFixedCellHeight; } - bool IsFixedCellHeight() const { return bIsFixedCellHeight; } - - EditPaM Clear(); - EditPaM RemoveText(); - void RemoveChars( EditPaM aPaM, sal_Int32 nChars ); - EditPaM InsertText( EditPaM aPaM, const OUString& rStr ); - EditPaM InsertParaBreak( EditPaM aPaM, bool bKeepEndingAttribs ); - EditPaM InsertFeature( EditPaM aPaM, const SfxPoolItem& rItem ); - EditPaM ConnectParagraphs( ContentNode* pLeft, ContentNode* pRight ); - - OUString GetText( LineEnd eEnd ) const; - sal_uLong GetTextLen() const; - - OUString GetParaAsString( sal_Int32 nNode ) const; - static OUString GetParaAsString(const ContentNode* pNode, sal_Int32 nStartPos = 0, sal_Int32 nEndPos = -1, bool bResolveFields = true); - - EditPaM GetStartPaM() const; - EditPaM GetEndPaM() const; - - SfxItemPool& GetItemPool() { return *pItemPool; } - const SfxItemPool& GetItemPool() const { return *pItemPool; } - - void RemoveItemsFromPool(const ContentNode& rNode); - - void InsertAttrib( const SfxPoolItem& rItem, ContentNode* pNode, sal_Int32 nStart, sal_Int32 nEnd ); - void InsertAttrib( ContentNode* pNode, sal_Int32 nStart, sal_Int32 nEnd, const SfxPoolItem& rPoolItem ); - void InsertAttribInSelection( ContentNode* pNode, sal_Int32 nStart, sal_Int32 nEnd, const SfxPoolItem& rPoolItem ); - bool RemoveAttribs( ContentNode* pNode, sal_Int32 nStart, sal_Int32 nEnd, sal_uInt16 nWhich ); - bool RemoveAttribs( ContentNode* pNode, sal_Int32 nStart, sal_Int32 nEnd, EditCharAttrib*& rpStarting, EditCharAttrib*& rpEnding, sal_uInt16 nWhich ); - static void FindAttribs( ContentNode* pNode, sal_Int32 nStartPos, sal_Int32 nEndPos, SfxItemSet& rCurSet ); - - sal_Int32 GetPos(const ContentNode* pNode) const; - const ContentNode* GetObject(sal_Int32 nPos) const; - ContentNode* GetObject(sal_Int32 nPos); - sal_Int32 Count() const; - const ContentNode* operator[](sal_Int32 nPos) const; - ContentNode* operator[](sal_Int32 nPos); - void Insert(sal_Int32 nPos, ContentNode* p); - /// deletes - void Remove(sal_Int32 nPos); - /// does not delete - void Release(sal_Int32 nPos); - - static OUString GetSepStr( LineEnd eEnd ); -}; - -inline EditCharAttrib* GetAttrib(CharAttribList::AttribsType& rAttribs, sal_Int32 nAttr) -{ - return (nAttr < (sal_Int32)rAttribs.size()) ? rAttribs[nAttr].get() : nullptr; -} - -void CheckOrderedList(const CharAttribList::AttribsType& rAttribs, bool bStart); - -class EditEngineItemPool : public SfxItemPool -{ -private: - std::shared_ptr<DefItems> m_xDefItems; -public: - EditEngineItemPool(); -protected: - virtual ~EditEngineItemPool() override; -}; - -#endif // INCLUDED_EDITENG_SOURCE_EDITENG_EDITDOC_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/editeng/source/editeng/edtspell.hxx b/editeng/source/editeng/edtspell.hxx deleted file mode 100644 index d61ad61cab25..000000000000 --- a/editeng/source/editeng/edtspell.hxx +++ /dev/null @@ -1,153 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_EDITENG_SOURCE_EDITENG_EDTSPELL_HXX -#define INCLUDED_EDITENG_SOURCE_EDITENG_EDTSPELL_HXX - -#include <editeng/editengdllapi.h> -#include <editeng/splwrap.hxx> -#include <editeng/svxacorr.hxx> -#include <editeng/svxenum.hxx> -#include "editeng/misspellrange.hxx" -#include <tools/link.hxx> -#include <vcl/outdev.hxx> - -namespace com { namespace sun { namespace star { namespace linguistic2 { - class XSpellChecker1; -}}}} - - -class EditView; -class EditEngine; -class ContentNode; - -class EditSpellWrapper : public SvxSpellWrapper -{ -private: - EditView* pEditView; - void CheckSpellTo(); - -protected: - virtual void SpellStart( SvxSpellArea eArea ) override; - virtual void SpellContinue() override; // Check area - virtual void ReplaceAll( const OUString &rNewText ) override; - virtual bool SpellMore() override; - virtual bool HasOtherCnt() override; - -public: - EditSpellWrapper( vcl::Window* pWin, - bool bIsStart, - EditView* pView ); - -}; - -/** - * Keeps track of misspelled ranges in paragraph. - */ -class WrongList -{ - static size_t Valid; - - std::vector<editeng::MisspellRange> maRanges; - size_t mnInvalidStart; - size_t mnInvalidEnd; - - bool DbgIsBuggy() const; - -public: - typedef std::vector<editeng::MisspellRange>::iterator iterator; - typedef std::vector<editeng::MisspellRange>::const_iterator const_iterator; - - WrongList(); - - const std::vector<editeng::MisspellRange>& GetRanges() const { return maRanges;} - void SetRanges( const std::vector<editeng::MisspellRange>& rRanges ); - - bool IsValid() const; - void SetValid(); - void SetInvalidRange( size_t nStart, size_t nEnd ); - void ResetInvalidRange( size_t nStart, size_t nEnd ); - - size_t GetInvalidStart() const { return mnInvalidStart; } - size_t GetInvalidEnd() const { return mnInvalidEnd; } - - void TextInserted( size_t nPos, size_t nLength, bool bPosIsSep ); - void TextDeleted( size_t nPos, size_t nLength ); - - void InsertWrong( size_t nStart, size_t nEnd ); - bool NextWrong( size_t& rnStart, size_t& rnEnd ) const; - bool HasWrong( size_t nStart, size_t nEnd ) const; - bool HasAnyWrong( size_t nStart, size_t nEnd ) const; - void ClearWrongs( size_t nStart, size_t nEnd, const ContentNode* pNode ); - void MarkWrongsInvalid(); - - WrongList* Clone() const; - - // #i102062# - bool operator==(const WrongList& rCompare) const; - - bool empty() const; - void push_back(const editeng::MisspellRange& rRange); - editeng::MisspellRange& back(); - const editeng::MisspellRange& back() const; - - iterator begin(); - iterator end(); - const_iterator begin() const; - const_iterator end() const; -}; - -class EdtAutoCorrDoc : public SvxAutoCorrDoc -{ - EditEngine* mpEditEngine; - ContentNode* pCurNode; - sal_Int32 nCursor; - - bool bAllowUndoAction; - bool bUndoAction; - -protected: - void ImplStartUndoAction(); - -public: - EdtAutoCorrDoc(EditEngine* pE, ContentNode* pCurNode, sal_Int32 nCrsr, sal_Unicode cIns); - virtual ~EdtAutoCorrDoc() override; - - virtual bool Delete( sal_Int32 nStt, sal_Int32 nEnd ) override; - virtual bool Insert( sal_Int32 nPos, const OUString& rTxt ) override; - virtual bool Replace( sal_Int32 nPos, const OUString& rTxt ) override; - virtual bool ReplaceRange( sal_Int32 nPos, sal_Int32 nLen, const OUString& rTxt ) override; - - virtual void SetAttr( sal_Int32 nStt, sal_Int32 nEnd, sal_uInt16 nSlotId, SfxPoolItem& ) override; - virtual bool SetINetAttr( sal_Int32 nStt, sal_Int32 nEnd, const OUString& rURL ) override; - - virtual OUString const* GetPrevPara(bool bAtNormalPos) override; - - virtual bool ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos, - SvxAutoCorrect& rACorrect, OUString* pPara ) override; - - virtual LanguageType GetLanguage( sal_Int32 nPos ) const override; - - sal_Int32 GetCursor() const { return nCursor; } - -}; - -#endif // EDTSPELL - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/editeng/source/editeng/eerdll2.hxx b/editeng/source/editeng/eerdll2.hxx deleted file mode 100644 index b8ff6773e716..000000000000 --- a/editeng/source/editeng/eerdll2.hxx +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_EDITENG_SOURCE_EDITENG_EERDLL2_HXX -#define INCLUDED_EDITENG_SOURCE_EDITENG_EERDLL2_HXX - -#include <com/sun/star/linguistic2/XLanguageGuessing.hpp> -#include <editeng/forbiddencharacterstable.hxx> -#include <rtl/ref.hxx> - -class SfxPoolItem; -class VirtualDevice; - -namespace editeng -{ - class SharedVclResources - { - private: - VclPtr<VirtualDevice> m_pVirDev; - public: - SharedVclResources(); - ~SharedVclResources(); - VclPtr<VirtualDevice> GetVirtualDevice(); - }; -} - -class DefItems -{ -public: - DefItems(); - std::vector<SfxPoolItem*>* getDefaults() { return ppDefItems; } - ~DefItems(); -private: - std::vector<SfxPoolItem*>* ppDefItems; -}; - -class GlobalEditData -{ -private: - css::uno::Reference< css::linguistic2::XLanguageGuessing > xLanguageGuesser; - std::weak_ptr<DefItems> m_xDefItems; - std::shared_ptr<SvxForbiddenCharactersTable> xForbiddenCharsTable; - -public: - std::shared_ptr<DefItems> GetDefItems(); - - std::shared_ptr<SvxForbiddenCharactersTable> const & GetForbiddenCharsTable(); - void SetForbiddenCharsTable(std::shared_ptr<SvxForbiddenCharactersTable> const & xForbiddenChars ) { xForbiddenCharsTable = xForbiddenChars; } - css::uno::Reference< css::linguistic2::XLanguageGuessing > const & GetLanguageGuesser(); -}; - -#endif // INCLUDED_EDITENG_SOURCE_EDITENG_EERDLL2_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |