1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_sw.hxx"
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski #include <vcl/window.hxx>
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski #include <editsh.hxx>
30*b1cdbd2cSJim Jagielski #include <doc.hxx>
31*b1cdbd2cSJim Jagielski #include <IDocumentUndoRedo.hxx>
32*b1cdbd2cSJim Jagielski #include <pam.hxx>
33*b1cdbd2cSJim Jagielski #include <docary.hxx>
34*b1cdbd2cSJim Jagielski #include <acorrect.hxx>
35*b1cdbd2cSJim Jagielski #include <swtable.hxx>
36*b1cdbd2cSJim Jagielski #include <ndtxt.hxx>
37*b1cdbd2cSJim Jagielski #include <swundo.hxx>
38*b1cdbd2cSJim Jagielski #include <SwRewriter.hxx>
39*b1cdbd2cSJim Jagielski
40*b1cdbd2cSJim Jagielski /********************************************************
41*b1cdbd2cSJim Jagielski * Ctor/Dtor
42*b1cdbd2cSJim Jagielski ********************************************************/
43*b1cdbd2cSJim Jagielski // verkleideter Copy-Constructor
44*b1cdbd2cSJim Jagielski
45*b1cdbd2cSJim Jagielski
SwEditShell(SwEditShell & rEdSH,Window * pWindow)46*b1cdbd2cSJim Jagielski SwEditShell::SwEditShell( SwEditShell& rEdSH, Window *pWindow )
47*b1cdbd2cSJim Jagielski : SwCrsrShell( rEdSH, pWindow )
48*b1cdbd2cSJim Jagielski {
49*b1cdbd2cSJim Jagielski }
50*b1cdbd2cSJim Jagielski
51*b1cdbd2cSJim Jagielski // ctor/dtor
52*b1cdbd2cSJim Jagielski
53*b1cdbd2cSJim Jagielski
SwEditShell(SwDoc & rDoc,Window * pWindow,const SwViewOption * pOptions)54*b1cdbd2cSJim Jagielski SwEditShell::SwEditShell( SwDoc& rDoc, Window *pWindow, const SwViewOption *pOptions )
55*b1cdbd2cSJim Jagielski : SwCrsrShell( rDoc, pWindow, pOptions )
56*b1cdbd2cSJim Jagielski {
57*b1cdbd2cSJim Jagielski GetDoc()->GetIDocumentUndoRedo().DoUndo(true);
58*b1cdbd2cSJim Jagielski }
59*b1cdbd2cSJim Jagielski
60*b1cdbd2cSJim Jagielski
~SwEditShell()61*b1cdbd2cSJim Jagielski SwEditShell::~SwEditShell() // USED
62*b1cdbd2cSJim Jagielski {
63*b1cdbd2cSJim Jagielski }
64*b1cdbd2cSJim Jagielski
65*b1cdbd2cSJim Jagielski /******************************************************************************
66*b1cdbd2cSJim Jagielski * sal_Bool SwEditShell::IsModified() const
67*b1cdbd2cSJim Jagielski ******************************************************************************/
68*b1cdbd2cSJim Jagielski
69*b1cdbd2cSJim Jagielski
IsModified() const70*b1cdbd2cSJim Jagielski sal_Bool SwEditShell::IsModified() const
71*b1cdbd2cSJim Jagielski {
72*b1cdbd2cSJim Jagielski return GetDoc()->IsModified();
73*b1cdbd2cSJim Jagielski }
74*b1cdbd2cSJim Jagielski /******************************************************************************
75*b1cdbd2cSJim Jagielski * void SwEditShell::SetModified()
76*b1cdbd2cSJim Jagielski ******************************************************************************/
77*b1cdbd2cSJim Jagielski
78*b1cdbd2cSJim Jagielski
SetModified()79*b1cdbd2cSJim Jagielski void SwEditShell::SetModified()
80*b1cdbd2cSJim Jagielski {
81*b1cdbd2cSJim Jagielski GetDoc()->SetModified();
82*b1cdbd2cSJim Jagielski }
83*b1cdbd2cSJim Jagielski /******************************************************************************
84*b1cdbd2cSJim Jagielski * void SwEditShell::ResetModified()
85*b1cdbd2cSJim Jagielski ******************************************************************************/
86*b1cdbd2cSJim Jagielski
87*b1cdbd2cSJim Jagielski
ResetModified()88*b1cdbd2cSJim Jagielski void SwEditShell::ResetModified()
89*b1cdbd2cSJim Jagielski {
90*b1cdbd2cSJim Jagielski GetDoc()->ResetModified();
91*b1cdbd2cSJim Jagielski }
92*b1cdbd2cSJim Jagielski
SetUndoNoResetModified()93*b1cdbd2cSJim Jagielski void SwEditShell::SetUndoNoResetModified()
94*b1cdbd2cSJim Jagielski {
95*b1cdbd2cSJim Jagielski GetDoc()->SetModified();
96*b1cdbd2cSJim Jagielski GetDoc()->GetIDocumentUndoRedo().SetUndoNoResetModified();
97*b1cdbd2cSJim Jagielski }
98*b1cdbd2cSJim Jagielski
99*b1cdbd2cSJim Jagielski /******************************************************************************
100*b1cdbd2cSJim Jagielski * void SwEditShell::StartAllAction()
101*b1cdbd2cSJim Jagielski ******************************************************************************/
102*b1cdbd2cSJim Jagielski
103*b1cdbd2cSJim Jagielski
StartAllAction()104*b1cdbd2cSJim Jagielski void SwEditShell::StartAllAction()
105*b1cdbd2cSJim Jagielski {
106*b1cdbd2cSJim Jagielski ViewShell *pSh = this;
107*b1cdbd2cSJim Jagielski do {
108*b1cdbd2cSJim Jagielski if( pSh->IsA( TYPE( SwEditShell ) ) )
109*b1cdbd2cSJim Jagielski ((SwEditShell*)pSh)->StartAction();
110*b1cdbd2cSJim Jagielski else
111*b1cdbd2cSJim Jagielski pSh->StartAction();
112*b1cdbd2cSJim Jagielski pSh = (ViewShell *)pSh->GetNext();
113*b1cdbd2cSJim Jagielski } while(pSh != this);
114*b1cdbd2cSJim Jagielski }
115*b1cdbd2cSJim Jagielski /******************************************************************************
116*b1cdbd2cSJim Jagielski * void SwEditShell::EndAllAction()
117*b1cdbd2cSJim Jagielski ******************************************************************************/
118*b1cdbd2cSJim Jagielski
119*b1cdbd2cSJim Jagielski
EndAllAction()120*b1cdbd2cSJim Jagielski void SwEditShell::EndAllAction()
121*b1cdbd2cSJim Jagielski {
122*b1cdbd2cSJim Jagielski ViewShell *pSh = this;
123*b1cdbd2cSJim Jagielski do {
124*b1cdbd2cSJim Jagielski if( pSh->IsA( TYPE( SwEditShell ) ) )
125*b1cdbd2cSJim Jagielski ((SwEditShell*)pSh)->EndAction();
126*b1cdbd2cSJim Jagielski else
127*b1cdbd2cSJim Jagielski pSh->EndAction();
128*b1cdbd2cSJim Jagielski pSh = (ViewShell *)pSh->GetNext();
129*b1cdbd2cSJim Jagielski } while(pSh != this);
130*b1cdbd2cSJim Jagielski }
131*b1cdbd2cSJim Jagielski
132*b1cdbd2cSJim Jagielski /******************************************************************************
133*b1cdbd2cSJim Jagielski * void SwEditShell::CalcLayout()
134*b1cdbd2cSJim Jagielski ******************************************************************************/
135*b1cdbd2cSJim Jagielski
136*b1cdbd2cSJim Jagielski
CalcLayout()137*b1cdbd2cSJim Jagielski void SwEditShell::CalcLayout()
138*b1cdbd2cSJim Jagielski {
139*b1cdbd2cSJim Jagielski StartAllAction();
140*b1cdbd2cSJim Jagielski ViewShell::CalcLayout();
141*b1cdbd2cSJim Jagielski
142*b1cdbd2cSJim Jagielski ViewShell *pSh = this;
143*b1cdbd2cSJim Jagielski do
144*b1cdbd2cSJim Jagielski {
145*b1cdbd2cSJim Jagielski if ( pSh->GetWin() )
146*b1cdbd2cSJim Jagielski pSh->GetWin()->Invalidate();
147*b1cdbd2cSJim Jagielski pSh = (ViewShell*)pSh->GetNext();
148*b1cdbd2cSJim Jagielski
149*b1cdbd2cSJim Jagielski } while ( pSh != this );
150*b1cdbd2cSJim Jagielski
151*b1cdbd2cSJim Jagielski EndAllAction();
152*b1cdbd2cSJim Jagielski }
153*b1cdbd2cSJim Jagielski
154*b1cdbd2cSJim Jagielski /******************************************************************************
155*b1cdbd2cSJim Jagielski * Inhaltsform bestimmen, holen
156*b1cdbd2cSJim Jagielski ******************************************************************************/
157*b1cdbd2cSJim Jagielski // OPT: wird fuer jedes Attribut gerufen?
158*b1cdbd2cSJim Jagielski
159*b1cdbd2cSJim Jagielski
GetCntType() const160*b1cdbd2cSJim Jagielski sal_uInt16 SwEditShell::GetCntType() const
161*b1cdbd2cSJim Jagielski {
162*b1cdbd2cSJim Jagielski // nur noch am SPoint ist der Inhalt interessant
163*b1cdbd2cSJim Jagielski sal_uInt16 nRet = 0;
164*b1cdbd2cSJim Jagielski if( IsTableMode() )
165*b1cdbd2cSJim Jagielski nRet = CNT_TXT;
166*b1cdbd2cSJim Jagielski else
167*b1cdbd2cSJim Jagielski switch( GetCrsr()->GetNode()->GetNodeType() )
168*b1cdbd2cSJim Jagielski {
169*b1cdbd2cSJim Jagielski case ND_TEXTNODE: nRet = CNT_TXT; break;
170*b1cdbd2cSJim Jagielski case ND_GRFNODE: nRet = CNT_GRF; break;
171*b1cdbd2cSJim Jagielski case ND_OLENODE: nRet = CNT_OLE; break;
172*b1cdbd2cSJim Jagielski }
173*b1cdbd2cSJim Jagielski
174*b1cdbd2cSJim Jagielski ASSERT( nRet, ERR_OUTOFSCOPE );
175*b1cdbd2cSJim Jagielski return nRet;
176*b1cdbd2cSJim Jagielski }
177*b1cdbd2cSJim Jagielski
178*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------------
179*b1cdbd2cSJim Jagielski
180*b1cdbd2cSJim Jagielski
HasOtherCnt() const181*b1cdbd2cSJim Jagielski sal_Bool SwEditShell::HasOtherCnt() const
182*b1cdbd2cSJim Jagielski
183*b1cdbd2cSJim Jagielski {
184*b1cdbd2cSJim Jagielski if ( GetDoc()->GetSpzFrmFmts()->Count() )
185*b1cdbd2cSJim Jagielski return sal_True;
186*b1cdbd2cSJim Jagielski
187*b1cdbd2cSJim Jagielski const SwNodes &rNds = GetDoc()->GetNodes();
188*b1cdbd2cSJim Jagielski const SwNode *pNd;
189*b1cdbd2cSJim Jagielski
190*b1cdbd2cSJim Jagielski pNd = &rNds.GetEndOfInserts();
191*b1cdbd2cSJim Jagielski if ( 1 != (pNd->GetIndex() - pNd->StartOfSectionIndex()) )
192*b1cdbd2cSJim Jagielski return sal_True;
193*b1cdbd2cSJim Jagielski
194*b1cdbd2cSJim Jagielski pNd = &rNds.GetEndOfAutotext();
195*b1cdbd2cSJim Jagielski if ( 1 != (pNd->GetIndex() - pNd->StartOfSectionIndex()) )
196*b1cdbd2cSJim Jagielski return sal_True;
197*b1cdbd2cSJim Jagielski
198*b1cdbd2cSJim Jagielski return sal_False;
199*b1cdbd2cSJim Jagielski }
200*b1cdbd2cSJim Jagielski
201*b1cdbd2cSJim Jagielski /******************************************************************************
202*b1cdbd2cSJim Jagielski * Zugriffsfunktionen fuer Filename-Behandlung
203*b1cdbd2cSJim Jagielski ******************************************************************************/
204*b1cdbd2cSJim Jagielski
205*b1cdbd2cSJim Jagielski
SwActKontext(SwEditShell * pShell)206*b1cdbd2cSJim Jagielski SwActKontext::SwActKontext(SwEditShell *pShell)
207*b1cdbd2cSJim Jagielski : pSh(pShell)
208*b1cdbd2cSJim Jagielski {
209*b1cdbd2cSJim Jagielski pSh->StartAction();
210*b1cdbd2cSJim Jagielski }
211*b1cdbd2cSJim Jagielski
212*b1cdbd2cSJim Jagielski
~SwActKontext()213*b1cdbd2cSJim Jagielski SwActKontext::~SwActKontext()
214*b1cdbd2cSJim Jagielski {
215*b1cdbd2cSJim Jagielski pSh->EndAction();
216*b1cdbd2cSJim Jagielski }
217*b1cdbd2cSJim Jagielski
218*b1cdbd2cSJim Jagielski /******************************************************************************
219*b1cdbd2cSJim Jagielski * Klasse fuer den automatisierten Aufruf von Start- und
220*b1cdbd2cSJim Jagielski * EndCrsrMove();
221*b1cdbd2cSJim Jagielski ******************************************************************************/
222*b1cdbd2cSJim Jagielski
223*b1cdbd2cSJim Jagielski
SwMvKontext(SwEditShell * pShell)224*b1cdbd2cSJim Jagielski SwMvKontext::SwMvKontext(SwEditShell *pShell ) : pSh(pShell)
225*b1cdbd2cSJim Jagielski {
226*b1cdbd2cSJim Jagielski pSh->SttCrsrMove();
227*b1cdbd2cSJim Jagielski }
228*b1cdbd2cSJim Jagielski
229*b1cdbd2cSJim Jagielski
~SwMvKontext()230*b1cdbd2cSJim Jagielski SwMvKontext::~SwMvKontext()
231*b1cdbd2cSJim Jagielski {
232*b1cdbd2cSJim Jagielski pSh->EndCrsrMove();
233*b1cdbd2cSJim Jagielski }
234*b1cdbd2cSJim Jagielski
235*b1cdbd2cSJim Jagielski
GetTableFmt()236*b1cdbd2cSJim Jagielski SwFrmFmt *SwEditShell::GetTableFmt() // OPT: schnellster Test auf Tabelle?
237*b1cdbd2cSJim Jagielski {
238*b1cdbd2cSJim Jagielski const SwTableNode* pTblNd = IsCrsrInTbl();
239*b1cdbd2cSJim Jagielski return pTblNd ? (SwFrmFmt*)pTblNd->GetTable().GetFrmFmt() : 0;
240*b1cdbd2cSJim Jagielski }
241*b1cdbd2cSJim Jagielski
242*b1cdbd2cSJim Jagielski // OPT: wieso 3x beim neuen Dokument
243*b1cdbd2cSJim Jagielski
244*b1cdbd2cSJim Jagielski
GetTOXTypeCount(TOXTypes eTyp) const245*b1cdbd2cSJim Jagielski sal_uInt16 SwEditShell::GetTOXTypeCount(TOXTypes eTyp) const
246*b1cdbd2cSJim Jagielski {
247*b1cdbd2cSJim Jagielski return pDoc->GetTOXTypeCount(eTyp);
248*b1cdbd2cSJim Jagielski }
249*b1cdbd2cSJim Jagielski
250*b1cdbd2cSJim Jagielski
InsertTOXType(const SwTOXType & rTyp)251*b1cdbd2cSJim Jagielski void SwEditShell::InsertTOXType(const SwTOXType& rTyp)
252*b1cdbd2cSJim Jagielski {
253*b1cdbd2cSJim Jagielski pDoc->InsertTOXType(rTyp);
254*b1cdbd2cSJim Jagielski }
255*b1cdbd2cSJim Jagielski
256*b1cdbd2cSJim Jagielski
257*b1cdbd2cSJim Jagielski
DoUndo(sal_Bool bOn)258*b1cdbd2cSJim Jagielski void SwEditShell::DoUndo( sal_Bool bOn )
259*b1cdbd2cSJim Jagielski { GetDoc()->GetIDocumentUndoRedo().DoUndo( bOn ); }
260*b1cdbd2cSJim Jagielski
261*b1cdbd2cSJim Jagielski
DoesUndo() const262*b1cdbd2cSJim Jagielski sal_Bool SwEditShell::DoesUndo() const
263*b1cdbd2cSJim Jagielski { return GetDoc()->GetIDocumentUndoRedo().DoesUndo(); }
264*b1cdbd2cSJim Jagielski
265*b1cdbd2cSJim Jagielski
DoGroupUndo(sal_Bool bOn)266*b1cdbd2cSJim Jagielski void SwEditShell::DoGroupUndo( sal_Bool bOn )
267*b1cdbd2cSJim Jagielski { GetDoc()->GetIDocumentUndoRedo().DoGroupUndo( bOn ); }
268*b1cdbd2cSJim Jagielski
269*b1cdbd2cSJim Jagielski
DoesGroupUndo() const270*b1cdbd2cSJim Jagielski sal_Bool SwEditShell::DoesGroupUndo() const
271*b1cdbd2cSJim Jagielski { return GetDoc()->GetIDocumentUndoRedo().DoesGroupUndo(); }
272*b1cdbd2cSJim Jagielski
273*b1cdbd2cSJim Jagielski
DelAllUndoObj()274*b1cdbd2cSJim Jagielski void SwEditShell::DelAllUndoObj()
275*b1cdbd2cSJim Jagielski {
276*b1cdbd2cSJim Jagielski GetDoc()->GetIDocumentUndoRedo().DelAllUndoObj();
277*b1cdbd2cSJim Jagielski }
278*b1cdbd2cSJim Jagielski
279*b1cdbd2cSJim Jagielski // Zusammenfassen von Kontinuierlichen Insert/Delete/Overwrite von
280*b1cdbd2cSJim Jagielski // Charaktern. Default ist sdbcx::Group-Undo.
281*b1cdbd2cSJim Jagielski
282*b1cdbd2cSJim Jagielski // setzt Undoklammerung auf, liefert nUndoId der Klammerung
283*b1cdbd2cSJim Jagielski
284*b1cdbd2cSJim Jagielski
StartUndo(SwUndoId eUndoId,const SwRewriter * pRewriter)285*b1cdbd2cSJim Jagielski SwUndoId SwEditShell::StartUndo( SwUndoId eUndoId,
286*b1cdbd2cSJim Jagielski const SwRewriter *pRewriter )
287*b1cdbd2cSJim Jagielski { return GetDoc()->GetIDocumentUndoRedo().StartUndo( eUndoId, pRewriter ); }
288*b1cdbd2cSJim Jagielski
289*b1cdbd2cSJim Jagielski // schliesst Klammerung der nUndoId, nicht vom UI benutzt
290*b1cdbd2cSJim Jagielski
291*b1cdbd2cSJim Jagielski
EndUndo(SwUndoId eUndoId,const SwRewriter * pRewriter)292*b1cdbd2cSJim Jagielski SwUndoId SwEditShell::EndUndo(SwUndoId eUndoId,
293*b1cdbd2cSJim Jagielski const SwRewriter *pRewriter)
294*b1cdbd2cSJim Jagielski { return GetDoc()->GetIDocumentUndoRedo().EndUndo(eUndoId, pRewriter); }
295*b1cdbd2cSJim Jagielski
296*b1cdbd2cSJim Jagielski
GetLastUndoInfo(::rtl::OUString * const o_pStr,SwUndoId * const o_pId) const297*b1cdbd2cSJim Jagielski bool SwEditShell::GetLastUndoInfo(::rtl::OUString *const o_pStr,
298*b1cdbd2cSJim Jagielski SwUndoId *const o_pId) const
299*b1cdbd2cSJim Jagielski { return GetDoc()->GetIDocumentUndoRedo().GetLastUndoInfo(o_pStr, o_pId); }
300*b1cdbd2cSJim Jagielski
GetFirstRedoInfo(::rtl::OUString * const o_pStr) const301*b1cdbd2cSJim Jagielski bool SwEditShell::GetFirstRedoInfo(::rtl::OUString *const o_pStr) const
302*b1cdbd2cSJim Jagielski { return GetDoc()->GetIDocumentUndoRedo().GetFirstRedoInfo(o_pStr); }
303*b1cdbd2cSJim Jagielski
GetRepeatInfo(::rtl::OUString * const o_pStr) const304*b1cdbd2cSJim Jagielski SwUndoId SwEditShell::GetRepeatInfo(::rtl::OUString *const o_pStr) const
305*b1cdbd2cSJim Jagielski { return GetDoc()->GetIDocumentUndoRedo().GetRepeatInfo(o_pStr); }
306*b1cdbd2cSJim Jagielski
307*b1cdbd2cSJim Jagielski
308*b1cdbd2cSJim Jagielski
309*b1cdbd2cSJim Jagielski // AutoKorrektur - JP 27.01.94
AutoCorrect(SvxAutoCorrect & rACorr,sal_Bool bInsert,sal_Unicode cChar)310*b1cdbd2cSJim Jagielski void SwEditShell::AutoCorrect( SvxAutoCorrect& rACorr, sal_Bool bInsert,
311*b1cdbd2cSJim Jagielski sal_Unicode cChar )
312*b1cdbd2cSJim Jagielski {
313*b1cdbd2cSJim Jagielski SET_CURR_SHELL( this );
314*b1cdbd2cSJim Jagielski
315*b1cdbd2cSJim Jagielski StartAllAction();
316*b1cdbd2cSJim Jagielski
317*b1cdbd2cSJim Jagielski SwPaM* pCrsr = getShellCrsr( true );
318*b1cdbd2cSJim Jagielski SwTxtNode* pTNd = pCrsr->GetNode()->GetTxtNode();
319*b1cdbd2cSJim Jagielski
320*b1cdbd2cSJim Jagielski SwAutoCorrDoc aSwAutoCorrDoc( *this, *pCrsr, cChar );
321*b1cdbd2cSJim Jagielski rACorr.AutoCorrect( aSwAutoCorrDoc,
322*b1cdbd2cSJim Jagielski pTNd->GetTxt(), pCrsr->GetPoint()->nContent.GetIndex(),
323*b1cdbd2cSJim Jagielski cChar, bInsert );
324*b1cdbd2cSJim Jagielski if( cChar )
325*b1cdbd2cSJim Jagielski SaveTblBoxCntnt( pCrsr->GetPoint() );
326*b1cdbd2cSJim Jagielski EndAllAction();
327*b1cdbd2cSJim Jagielski }
328*b1cdbd2cSJim Jagielski
329*b1cdbd2cSJim Jagielski
SetNewDoc(sal_Bool bNew)330*b1cdbd2cSJim Jagielski void SwEditShell::SetNewDoc(sal_Bool bNew)
331*b1cdbd2cSJim Jagielski {
332*b1cdbd2cSJim Jagielski GetDoc()->SetNewDoc(bNew);
333*b1cdbd2cSJim Jagielski }
334*b1cdbd2cSJim Jagielski
335*b1cdbd2cSJim Jagielski
GetPrevAutoCorrWord(SvxAutoCorrect & rACorr,String & rWord)336*b1cdbd2cSJim Jagielski sal_Bool SwEditShell::GetPrevAutoCorrWord( SvxAutoCorrect& rACorr, String& rWord )
337*b1cdbd2cSJim Jagielski {
338*b1cdbd2cSJim Jagielski SET_CURR_SHELL( this );
339*b1cdbd2cSJim Jagielski
340*b1cdbd2cSJim Jagielski sal_Bool bRet;
341*b1cdbd2cSJim Jagielski SwPaM* pCrsr = getShellCrsr( true );
342*b1cdbd2cSJim Jagielski xub_StrLen nPos = pCrsr->GetPoint()->nContent.GetIndex();
343*b1cdbd2cSJim Jagielski SwTxtNode* pTNd = pCrsr->GetNode()->GetTxtNode();
344*b1cdbd2cSJim Jagielski if( pTNd && nPos )
345*b1cdbd2cSJim Jagielski {
346*b1cdbd2cSJim Jagielski SwAutoCorrDoc aSwAutoCorrDoc( *this, *pCrsr, 0 );
347*b1cdbd2cSJim Jagielski bRet = rACorr.GetPrevAutoCorrWord( aSwAutoCorrDoc,
348*b1cdbd2cSJim Jagielski pTNd->GetTxt(), nPos, rWord );
349*b1cdbd2cSJim Jagielski }
350*b1cdbd2cSJim Jagielski else
351*b1cdbd2cSJim Jagielski bRet = sal_False;
352*b1cdbd2cSJim Jagielski return bRet;
353*b1cdbd2cSJim Jagielski }
354*b1cdbd2cSJim Jagielski
GetAutoCompleteWords()355*b1cdbd2cSJim Jagielski SwAutoCompleteWord& SwEditShell::GetAutoCompleteWords()
356*b1cdbd2cSJim Jagielski {
357*b1cdbd2cSJim Jagielski return SwDoc::GetAutoCompleteWords();
358*b1cdbd2cSJim Jagielski }
359*b1cdbd2cSJim Jagielski
360*b1cdbd2cSJim Jagielski
361*b1cdbd2cSJim Jagielski
362