summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2012-04-16 16:52:03 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2012-04-16 17:13:36 -0400
commit29e7777de5ee60e794ea521c7fdefb527dbf10c7 (patch)
tree79e51229482f6b5092db25f05ab49762da514955
parente1520a9d6a9f9bcfcaa332d54892040fe54776c2 (diff)
EdtAutoCorrDoc no longer a friend of ImpEditEngine.
-rw-r--r--editeng/inc/editeng/editeng.hxx7
-rw-r--r--editeng/source/editeng/editeng.cxx15
-rw-r--r--editeng/source/editeng/edtspell.cxx68
-rw-r--r--editeng/source/editeng/edtspell.hxx8
-rw-r--r--editeng/source/editeng/eehtml.cxx2
-rw-r--r--editeng/source/editeng/impedit.hxx1
-rw-r--r--editeng/source/editeng/impedit2.cxx2
7 files changed, 60 insertions, 43 deletions
diff --git a/editeng/inc/editeng/editeng.hxx b/editeng/inc/editeng/editeng.hxx
index e536be9638fe..8bfe3f4f02a1 100644
--- a/editeng/inc/editeng/editeng.hxx
+++ b/editeng/inc/editeng/editeng.hxx
@@ -144,7 +144,6 @@ private:
EDITENG_DLLPRIVATE const ParaPortion* FindParaPortion(ContentNode* pNode) const;
EDITENG_DLLPRIVATE const ParaPortion* GetPrevVisPortion(const ParaPortion* pCurPortion) const;
EDITENG_DLLPRIVATE const ParaPortion* GetNextVisPortion(const ParaPortion* pCurPortion) const;
- EDITENG_DLLPRIVATE sal_uInt16 GetScriptType(const EditSelection& rSel) const;
EDITENG_DLLPRIVATE com::sun::star::uno::Reference<
com::sun::star::datatransfer::XTransferable>
@@ -228,6 +227,7 @@ public:
EEHorizontalTextDirection GetDefaultHorizontalTextDirection() const;
sal_uInt16 GetScriptType( const ESelection& rSelection ) const;
+ LanguageType GetLanguage(const EditPaM& rPaM) const;
LanguageType GetLanguage( sal_uInt16 nPara, sal_uInt16 nPos ) const;
void TransliterateText( const ESelection& rSelection, sal_Int32 nTransliterationMode );
@@ -310,6 +310,7 @@ public:
::svl::IUndoManager&
GetUndoManager();
void UndoActionStart( sal_uInt16 nId );
+ void UndoActionStart(sal_uInt16 nId, const ESelection& rSel);
void UndoActionEnd( sal_uInt16 nId );
sal_Bool IsInUndo();
@@ -542,6 +543,10 @@ public:
const SfxItemSet& GetBaseParaAttribs(sal_uInt16 nPara) const;
void SetParaAttribsOnly(sal_uInt16 nPara, const SfxItemSet& rSet);
void SetAttribs(const EditSelection& rSel, const SfxItemSet& rSet, sal_uInt8 nSpecial = 0);
+
+ String GetSelected(const EditSelection& rSel, const LineEnd eParaSep = LINEEND_LF) const;
+
+ sal_uInt16 GetScriptType(const EditSelection& rSel) const;
};
#endif // _MyEDITENG_HXX
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index aff2f44eae8e..c5e1e5a2b151 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -153,6 +153,11 @@ void EditEngine::UndoActionStart( sal_uInt16 nId )
pImpEditEngine->UndoActionStart( nId );
}
+void EditEngine::UndoActionStart(sal_uInt16 nId, const ESelection& rSel)
+{
+ pImpEditEngine->UndoActionStart(nId, rSel);
+}
+
void EditEngine::UndoActionEnd( sal_uInt16 nId )
{
DBG_CHKTHIS( EditEngine, 0 );
@@ -509,6 +514,11 @@ sal_uInt16 EditEngine::GetScriptType( const ESelection& rSelection ) const
return pImpEditEngine->GetScriptType( aSel );
}
+LanguageType EditEngine::GetLanguage(const EditPaM& rPaM) const
+{
+ return pImpEditEngine->GetLanguage(rPaM);
+}
+
LanguageType EditEngine::GetLanguage( sal_uInt16 nPara, sal_uInt16 nPos ) const
{
DBG_CHKTHIS( EditEngine, 0 );
@@ -859,6 +869,11 @@ void EditEngine::SetAttribs(const EditSelection& rSel, const SfxItemSet& rSet, s
pImpEditEngine->SetAttribs(rSel, rSet, nSpecial);
}
+String EditEngine::GetSelected(const EditSelection& rSel, const LineEnd eParaSep) const
+{
+ return pImpEditEngine->GetSelected(rSel, eParaSep);
+}
+
void EditEngine::HandleBeginPasteOrDrop(PasteOrDropInfos& rInfos)
{
pImpEditEngine->aBeginPasteOrDropHdl.Call(&rInfos);
diff --git a/editeng/source/editeng/edtspell.cxx b/editeng/source/editeng/edtspell.cxx
index a79443d80798..bb06c8e9885f 100644
--- a/editeng/source/editeng/edtspell.cxx
+++ b/editeng/source/editeng/edtspell.cxx
@@ -574,27 +574,24 @@ sal_Bool WrongList::DbgIsBuggy() const
//////////////////////////////////////////////////////////////////////
-EdtAutoCorrDoc::EdtAutoCorrDoc( ImpEditEngine* pE, ContentNode* pN,
- sal_uInt16 nCrsr, xub_Unicode cIns )
-{
- pImpEE = pE;
- pCurNode = pN;
- nCursor = nCrsr;
-
- bUndoAction = sal_False;
- bAllowUndoAction = cIns ? sal_True : sal_False;
-}
+EdtAutoCorrDoc::EdtAutoCorrDoc(
+ EditEngine* pE, ContentNode* pN, sal_uInt16 nCrsr, sal_Unicode cIns) :
+ mpEditEngine(pE),
+ pCurNode(pN),
+ nCursor(nCrsr),
+ bAllowUndoAction(cIns != 0),
+ bUndoAction(false) {}
EdtAutoCorrDoc::~EdtAutoCorrDoc()
{
if ( bUndoAction )
- pImpEE->UndoActionEnd( EDITUNDO_INSERT );
+ mpEditEngine->UndoActionEnd( EDITUNDO_INSERT );
}
sal_Bool EdtAutoCorrDoc::Delete( sal_uInt16 nStt, sal_uInt16 nEnd )
{
EditSelection aSel( EditPaM( pCurNode, nStt ), EditPaM( pCurNode, nEnd ) );
- pImpEE->ImpDeleteSelection( aSel );
+ mpEditEngine->DeleteSelection(aSel);
SAL_WARN_IF(nCursor < nEnd, "editeng",
"Cursor in the heart of the action?!");
nCursor -= ( nEnd-nStt );
@@ -605,7 +602,7 @@ sal_Bool EdtAutoCorrDoc::Delete( sal_uInt16 nStt, sal_uInt16 nEnd )
sal_Bool EdtAutoCorrDoc::Insert( sal_uInt16 nPos, const String& rTxt )
{
EditSelection aSel = EditPaM( pCurNode, nPos );
- pImpEE->ImpInsertText( aSel, rTxt );
+ mpEditEngine->InsertText(aSel, rTxt);
SAL_WARN_IF(nCursor < nPos, "editeng",
"Cursor in the heart of the action?!");
nCursor = nCursor + rTxt.Len();
@@ -630,8 +627,9 @@ sal_Bool EdtAutoCorrDoc::ReplaceRange( xub_StrLen nPos, xub_StrLen nSourceLength
nEnd = pCurNode->Len();
// #i5925# First insert new text behind to be deleted text, for keeping attributes.
- pImpEE->ImpInsertText( EditSelection( EditPaM( pCurNode, nEnd ) ), rTxt );
- pImpEE->ImpDeleteSelection( EditSelection( EditPaM( pCurNode, nPos ), EditPaM( pCurNode, nEnd ) ) );
+ mpEditEngine->InsertText(EditSelection(EditPaM(pCurNode, nEnd)), rTxt);
+ mpEditEngine->DeleteSelection(
+ EditSelection(EditPaM(pCurNode, nPos), EditPaM(pCurNode, nEnd)));
if ( nPos == nCursor )
nCursor = nCursor + rTxt.Len();
@@ -647,7 +645,7 @@ sal_Bool EdtAutoCorrDoc::ReplaceRange( xub_StrLen nPos, xub_StrLen nSourceLength
sal_Bool EdtAutoCorrDoc::SetAttr( sal_uInt16 nStt, sal_uInt16 nEnd,
sal_uInt16 nSlotId, SfxPoolItem& rItem )
{
- SfxItemPool* pPool = &pImpEE->GetEditDoc().GetItemPool();
+ SfxItemPool* pPool = &mpEditEngine->GetEditDoc().GetItemPool();
while ( pPool->GetSecondaryPool() &&
!pPool->GetName().equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("EditEngineItemPool")) )
{
@@ -659,13 +657,13 @@ sal_Bool EdtAutoCorrDoc::SetAttr( sal_uInt16 nStt, sal_uInt16 nEnd,
{
rItem.SetWhich( nWhich );
- SfxItemSet aSet( pImpEE->GetEmptyItemSet() );
+ SfxItemSet aSet = mpEditEngine->GetEmptyItemSet();
aSet.Put( rItem );
EditSelection aSel( EditPaM( pCurNode, nStt ), EditPaM( pCurNode, nEnd ) );
aSel.Max().SetIndex( nEnd ); // ???
- pImpEE->SetAttribs( aSel, aSet, ATTRSPECIAL_EDGE );
- bAllowUndoAction = sal_False;
+ mpEditEngine->SetAttribs( aSel, aSet, ATTRSPECIAL_EDGE );
+ bAllowUndoAction = false;
}
return sal_True;
}
@@ -675,23 +673,23 @@ sal_Bool EdtAutoCorrDoc::SetINetAttr( sal_uInt16 nStt, sal_uInt16 nEnd,
{
// Turn the Text into a command field ...
EditSelection aSel( EditPaM( pCurNode, nStt ), EditPaM( pCurNode, nEnd ) );
- String aText = pImpEE->GetSelected( aSel );
- aSel = pImpEE->ImpDeleteSelection( aSel );
+ String aText = mpEditEngine->GetSelected(aSel);
+ aSel = mpEditEngine->DeleteSelection(aSel);
SAL_WARN_IF(nCursor < nEnd, "editeng",
"Cursor in the heart of the action?!");
nCursor -= ( nEnd-nStt );
SvxFieldItem aField( SvxURLField( rURL, aText, SVXURLFORMAT_REPR ),
EE_FEATURE_FIELD );
- pImpEE->InsertField( aSel, aField );
+ mpEditEngine->InsertField(aSel, aField);
nCursor++;
- pImpEE->UpdateFields();
- bAllowUndoAction = sal_False;
+ mpEditEngine->UpdateFieldsOnly();
+ bAllowUndoAction = false;
return sal_True;
}
sal_Bool EdtAutoCorrDoc::HasSymbolChars( sal_uInt16 nStt, sal_uInt16 nEnd )
{
- sal_uInt16 nScriptType = pImpEE->GetScriptType( EditPaM( pCurNode, nStt ) );
+ sal_uInt16 nScriptType = mpEditEngine->GetScriptType( EditPaM( pCurNode, nStt ) );
sal_uInt16 nScriptFontInfoItemId = GetScriptItemId( EE_CHAR_FONTINFO, nScriptType );
const CharAttribList::AttribsType& rAttribs = pCurNode->GetCharAttribs().GetAttribs();
@@ -720,18 +718,18 @@ const String* EdtAutoCorrDoc::GetPrevPara( sal_Bool )
bAllowUndoAction = sal_False; // Not anymore ...
- EditDoc& rNodes = pImpEE->GetEditDoc();
+ EditDoc& rNodes = mpEditEngine->GetEditDoc();
sal_uInt16 nPos = rNodes.GetPos( pCurNode );
// Special case: Bullet => Paragraph start => simply return NULL...
const SfxBoolItem& rBulletState = (const SfxBoolItem&)
- pImpEE->GetParaAttrib( nPos, EE_PARA_BULLETSTATE );
+ mpEditEngine->GetParaAttrib( nPos, EE_PARA_BULLETSTATE );
sal_Bool bBullet = rBulletState.GetValue() ? sal_True : sal_False;
- if ( !bBullet && ( pImpEE->aStatus.GetControlWord() & EE_CNTRL_OUTLINER ) )
+ if ( !bBullet && (mpEditEngine->GetControlWord() & EE_CNTRL_OUTLINER) )
{
// The Outliner has still a Bullet at Level 0.
const SfxInt16Item& rLevel = (const SfxInt16Item&)
- pImpEE->GetParaAttrib( nPos, EE_PARA_OUTLLEVEL );
+ mpEditEngine->GetParaAttrib( nPos, EE_PARA_OUTLLEVEL );
if ( rLevel.GetValue() == 0 )
bBullet = sal_True;
}
@@ -763,18 +761,18 @@ sal_Bool EdtAutoCorrDoc::ChgAutoCorrWord( sal_uInt16& rSttPos,
if( !aShort.Len() )
return bRet;
- LanguageType eLang = pImpEE->GetLanguage( EditPaM( pCurNode, rSttPos+1 ) );
+ LanguageType eLang = mpEditEngine->GetLanguage( EditPaM( pCurNode, rSttPos+1 ) );
const SvxAutocorrWord* pFnd = rACorrect.SearchWordsInList(pCurNode->GetString(), rSttPos, nEndPos, *this, eLang);
if( pFnd && pFnd->IsTextOnly() )
{
// then replace
EditSelection aSel( EditPaM( pCurNode, rSttPos ),
EditPaM( pCurNode, nEndPos ) );
- aSel = pImpEE->ImpDeleteSelection( aSel );
+ aSel = mpEditEngine->DeleteSelection(aSel);
SAL_WARN_IF(nCursor < nEndPos, "editeng",
"Cursor in the heart of the action?!");
nCursor -= ( nEndPos-rSttPos );
- pImpEE->ImpInsertText( aSel, pFnd->GetLong() );
+ mpEditEngine->InsertText(aSel, pFnd->GetLong());
nCursor = nCursor + pFnd->GetLong().Len();
if( ppPara )
*ppPara = &pCurNode->GetString();
@@ -786,14 +784,14 @@ sal_Bool EdtAutoCorrDoc::ChgAutoCorrWord( sal_uInt16& rSttPos,
LanguageType EdtAutoCorrDoc::GetLanguage( sal_uInt16 nPos, sal_Bool ) const
{
- return pImpEE->GetLanguage( EditPaM( pCurNode, nPos+1 ) );
+ return mpEditEngine->GetLanguage( EditPaM( pCurNode, nPos+1 ) );
}
void EdtAutoCorrDoc::ImplStartUndoAction()
{
- sal_uInt16 nPara = pImpEE->GetEditDoc().GetPos( pCurNode );
+ sal_uInt16 nPara = mpEditEngine->GetEditDoc().GetPos( pCurNode );
ESelection aSel( nPara, nCursor, nPara, nCursor );
- pImpEE->UndoActionStart( EDITUNDO_INSERT, aSel );
+ mpEditEngine->UndoActionStart( EDITUNDO_INSERT, aSel );
bUndoAction = sal_True;
bAllowUndoAction = sal_False;
}
diff --git a/editeng/source/editeng/edtspell.hxx b/editeng/source/editeng/edtspell.hxx
index 52d1bbd99a46..cd72c624a637 100644
--- a/editeng/source/editeng/edtspell.hxx
+++ b/editeng/source/editeng/edtspell.hxx
@@ -42,7 +42,7 @@ namespace com { namespace sun { namespace star { namespace linguistic2 {
class EditView;
-class ImpEditEngine;
+class EditEngine;
class ContentNode;
class EditSpellWrapper : public SvxSpellWrapper
@@ -136,7 +136,7 @@ public:
class EdtAutoCorrDoc : public SvxAutoCorrDoc
{
- ImpEditEngine* pImpEE;
+ EditEngine* mpEditEngine;
ContentNode* pCurNode;
sal_uInt16 nCursor;
@@ -147,8 +147,8 @@ protected:
void ImplStartUndoAction();
public:
- EdtAutoCorrDoc( ImpEditEngine* pImpEE, ContentNode* pCurNode, sal_uInt16 nCrsr, xub_Unicode cIns );
- ~EdtAutoCorrDoc();
+ EdtAutoCorrDoc(EditEngine* pE, ContentNode* pCurNode, sal_uInt16 nCrsr, sal_Unicode cIns);
+ ~EdtAutoCorrDoc();
virtual sal_Bool Delete( sal_uInt16 nStt, sal_uInt16 nEnd );
virtual sal_Bool Insert( sal_uInt16 nPos, const String& rTxt );
diff --git a/editeng/source/editeng/eehtml.cxx b/editeng/source/editeng/eehtml.cxx
index 1fd928b40182..d1eb4f0b2be7 100644
--- a/editeng/source/editeng/eehtml.cxx
+++ b/editeng/source/editeng/eehtml.cxx
@@ -86,7 +86,7 @@ EditHTMLParser::~EditHTMLParser()
SvParserState EditHTMLParser::CallParser(EditEngine* pEE, const EditPaM& rPaM)
{
- DBG_ASSERT( pImpEE, "CallParser: ImpEditEngine ?!" );
+ DBG_ASSERT(pEE, "CallParser: ImpEditEngine ?!");
mpEditEngine = pEE;
SvParserState _eState = SVPAR_NOTSTARTED;
if ( mpEditEngine )
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index fa2ec50213fd..1f77f8825895 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -391,7 +391,6 @@ class ImpEditEngine : public SfxListener, boost::noncopyable
friend class EditUndoMoveParagraphs;
friend class EditEngine; // For access to Imp-Methods
- friend class EdtAutoCorrDoc; // For access to Imp-Methods
friend class EditDbg; // Debug Routines
public:
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index e899c6594f06..4c1f1a8393f9 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -2573,7 +2573,7 @@ EditPaM ImpEditEngine::AutoCorrect( const EditSelection& rCurSel, xub_Unicode c,
ContentNode* pNode = aSel.Max().GetNode();
sal_uInt16 nIndex = aSel.Max().GetIndex();
- EdtAutoCorrDoc aAuto( this, pNode, nIndex, c );
+ EdtAutoCorrDoc aAuto(pEditEngine, pNode, nIndex, c);
pAutoCorrect->AutoCorrect(
aAuto, pNode->GetString(), nIndex, c, !bOverwrite, pFrameWin );
aSel.Max().SetIndex( aAuto.GetCursor() );