1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: editsh.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
33 #ifndef _STRING_HXX //autogen
34 #include <tools/string.hxx>
36 #ifndef _SVARRAY_HXX //autogen
37 #include <bf_svtools/svarray.hxx>
39 #ifndef _SV_FONT_HXX //autogen
40 #include <vcl/font.hxx>
42 #ifndef _SVXSWAFOPT_HXX
43 #include <bf_svx/swafopt.hxx>
46 #include <crsrsh.hxx> // fuer Basisklasse
49 #include <itabenum.hxx>
52 #include <swdbdata.hxx>
54 #ifndef _COM_SUN_STAR_LINGUISTIC2_XSPELLALTERNATIVES_HPP_
55 #include <com/sun/star/linguistic2/XSpellAlternatives.hpp>
57 namespace com
{ namespace sun
{ namespace star
{ namespace uno
{
58 template < class > class Sequence
;
62 class CommandExtTextInputData
;
64 class Graphic
; // fuer GetGraphic
68 class SvInPlaceObjectRef
;
69 class SvInPlaceObject
;
70 class SvNumberFormatter
;
73 class BfGraphicObject
; // fuer GetGraphicObj
80 class SwField
; // fuer Felder
86 class SfxDocumentInfo
;
89 class SwAutoCompleteWord
;
93 class SwNumRule
; // Numerierung
94 class SwNodeNum
; // Numerierung
103 class SwFrmFmt
; // fuer GetTxtNodeFmts()
105 class SwExtTextInput
;
106 class SwTxtNode
; // fuer IsNotMakeTxtNode
107 class SwRootFrm
; // fuer CTOR
108 class SwFmtINetFmt
; // InsertURL
111 class SwTextBlocks
; // fuer GlossaryRW
112 class SwBlockExceptList
;
120 class SwTableAutoFmt
;
126 class SwGlblDocContent
;
127 class SwGlblDocContents
;
132 class SwLineNumberInfo
;
136 //STRIP008 namespace com { namespace sun { namespace star { namespace uno {
137 //STRIP008 template < class > class Sequence;
141 // Flags for GetScriptType - to define how handle weak - scripts (b.e.
142 // symbol characters):
143 // GETSCRIPT_WEAKTOAPPLANGSCRIPT:
144 // app language define the script type if only weak characters
145 // are selected and before the weak script no weak script if found
146 // (mostly the default for Get any attributes, etc)
147 // GETSCRIPT_WEAKTOAPPLANGSCRIPT:
148 // app language defines the script type if only weak characters
149 // are selected and before the weak script no weak script is found
150 // (mostly the default for Get any attributes, etc)
151 // GETSCRIPT_WEAKTOALL:
152 // all script flags are set.
153 // are selected and before the weak script no weak script if found
154 // (mostly the default for Get any attributes, etc)
155 #define GETSCRIPT_WEAKTOAPPLANGSCRIPT 0
156 #define GETSCRIPT_WEAKTOALL 1
159 #define GETSELTXT_PARABRK_TO_BLANK 0
160 #define GETSELTXT_PARABRK_KEEP 1
161 #define GETSELTXT_PARABRK_TO_ONLYCR 2
163 /****************************************************************
164 * zum Abfragen der INet-Attribute fuer den Navigator
165 ****************************************************************/
169 const SwTxtINetFmt
& rINetAttr
;
171 SwGetINetAttr( const String
& rTxt
, const SwTxtINetFmt
& rAttr
)
172 : sText( rTxt
), rINetAttr( rAttr
)
175 SV_DECL_PTRARR_DEL( SwGetINetAttrs
, SwGetINetAttr
*, 0, 5 )
177 /****************************************************************
178 * Typen der Inhaltsformen
179 ****************************************************************/
180 #define CNT_TXT 0x0001
181 #define CNT_GRF 0x0002
182 #define CNT_OLE 0x0010
183 /* Teste einen USHORT auf eine bestimmte Inhaltsform */
184 #define CNT_HasTxt(USH) ((USH)&CNT_TXT)
185 #define CNT_HasGrf(USH) ((USH)&CNT_GRF)
186 #define CNT_HasOLE(USH) ((USH)&CNT_OLE)
188 class SwEditShell
: public SwCrsrShell
190 static SvxSwAutoFmtFlags
* pAutoFmtFlags
;
192 // fuer die privaten Methoden DelRange und die vom AutoCorrect
193 friend void _InitCore();
194 friend void _FinitCore();
195 // fuer die PamCorrAbs/-Rel Methoden
197 SfxPoolItem
& _GetChrFmt( SfxPoolItem
& ) const;
200 * liefert einen Pointer auf einen SwGrfNode; dieser wird von
201 * GetGraphic() und GetGraphicSize() verwendet.
210 USHORT
GetGrfFmtCollCount() const;
211 SwGrfFmtColl
& GetGrfFmtColl( USHORT nGrfFmtColl
) const;
212 void DelGrfFmtColl(USHORT nFmt
);
213 SwGrfFmtColl
* GetCurGrfFmtColl() const;
214 void SetGrfFmtColl(SwGrfFmtColl
*);
215 SwGrfFmtColl
*MakeGrfFmtColl(const String
&rFmtCollName
,
216 SwGrfFmtColl
*pDerivedFrom
= 0);
219 // Gebe die "Auto-Collection" mit der Id zurueck. Existiert
220 // sie noch nicht, dann erzuege sie
221 // return das geforderte automatische Format - Basis-Klasse !
222 // returne die geforderte automatische Seiten-Vorlage
223 // returne die geforderte automatische NumRule
225 // erfrage ob die Absatz-/Zeichen-/Rahmen-/Seiten - Vorlage benutzt wird
227 // returne das geforderte automatische Format
230 void Insert(SwField
&);
233 //check whether DB fields point to an available data source and returns it
234 BOOL
IsFieldDataSourceAvailable(String
& rUsedDataSource
) const;
238 // liefert die Id der letzten Repeatfaehigen Aktion zurueck
239 // fuellt ggf. VARARR mit RedoIds
241 // 0 letzte Aktion, sonst Aktionen bis zum Start der Klammerung nUndoId
242 // mit KillPaMs, ClearMark
248 // fuer alle Sichten auf dieses Dokument
249 void StartAllAction();
252 //Damit Start-/EndActions aufgesetzt werden koennen.
255 /* Anwenden der ViewOptions mit Start-/EndAction */
256 inline void ApplyViewOptions( const SwViewOption
&rOpt
);
259 // Is spelling active somewhere else?
260 // Is text conversion active somewhere else?
261 BOOL
HasConvIter() const;
263 // special insert: Insert a new text node just before or after a section or
264 // table, if the cursor is positioned at the start/end of said
265 // section/table. The purpose of the method is to allow users to inert text
266 // at certain 'impossible' position, e.g. before a table at the document
267 // start or between to sections.
268 bool DoSpecialInsert();
269 bool CanSpecialInsert() const;
273 inline const SvxLinkManager
& GetLinkManager() const;
275 // Numberformatter vom Doc erfragen
276 const SvNumberFormatter
* GetNumberFormatter() const
277 { return ((SwEditShell
*)this)->GetNumberFormatter(); }
279 virtual ~SwEditShell();
283 // es wird nicht kopiert und nicht zugewiesen
284 SwEditShell(const SwEditShell
&);
285 const SwEditShell
&operator=(const SwEditShell
&);
288 inline void SwEditShell::ApplyViewOptions( const SwViewOption
&rOpt
)
290 SwCrsrShell::StartAction();
291 ViewShell::ApplyViewOptions( rOpt
);
292 SwEditShell::EndAction();
295 inline const SvxLinkManager
& SwEditShell::GetLinkManager() const
296 { return ((SwEditShell
*)this)->GetLinkManager(); }
299 * Klasse fuer den automatisierten Aufruf von Start- und
305 * Klasse fuer den automatisierten Aufruf von Start- und
311 SwMvKontext(SwEditShell
*pShell
);
315 #define MV_KONTEXT(x) SwMvKontext _aMvKontext_(x)
319 } //namespace binfilter