summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
Diffstat (limited to 'sw')
-rw-r--r--sw/inc/authfld.hxx10
-rw-r--r--sw/inc/calc.hxx10
-rw-r--r--sw/inc/chpfld.hxx13
-rw-r--r--sw/inc/dbfld.hxx18
-rw-r--r--sw/inc/dbmgr.hxx1
-rw-r--r--sw/inc/ddefld.hxx13
-rw-r--r--sw/inc/docufld.hxx27
-rw-r--r--sw/inc/editsh.hxx4
-rw-r--r--sw/inc/expfld.hxx41
-rw-r--r--sw/inc/fldbas.hxx23
-rw-r--r--sw/inc/flddat.hxx12
-rw-r--r--sw/inc/flddropdown.hxx43
-rw-r--r--sw/inc/inetfld.hxx13
-rw-r--r--sw/inc/pagepreviewlayout.hxx3
-rw-r--r--[-rwxr-xr-x]sw/inc/printdata.hxx32
-rw-r--r--sw/inc/reffld.hxx13
-rw-r--r--sw/inc/swprtopt.hxx102
-rw-r--r--sw/inc/txtfld.hxx3
-rw-r--r--sw/inc/unotbl.hxx2
-rw-r--r--[-rwxr-xr-x]sw/inc/unotxdoc.hxx3
-rw-r--r--sw/inc/usrfld.hxx13
-rw-r--r--[-rwxr-xr-x]sw/inc/viewsh.hxx16
-rw-r--r--sw/qa/complex/writer/LoadSaveTest.java254
-rw-r--r--sw/qa/unoapi/knownissues.xcl3
-rw-r--r--sw/source/core/bastyp/calc.cxx78
-rw-r--r--sw/source/core/crsr/callnk.cxx4
-rw-r--r--sw/source/core/crsr/crstrvl.cxx11
-rw-r--r--sw/source/core/crsr/findtxt.cxx3
-rw-r--r--sw/source/core/doc/doc.cxx29
-rw-r--r--sw/source/core/doc/docbasic.cxx4
-rw-r--r--sw/source/core/doc/docbm.cxx4
-rw-r--r--sw/source/core/doc/doccorr.cxx215
-rw-r--r--sw/source/core/doc/docfld.cxx72
-rw-r--r--sw/source/core/doc/docfmt.cxx6
-rw-r--r--sw/source/core/doc/docftn.cxx13
-rw-r--r--sw/source/core/doc/docnew.cxx4
-rw-r--r--sw/source/core/doc/docnum.cxx71
-rw-r--r--sw/source/core/doc/doctxm.cxx4
-rw-r--r--sw/source/core/doc/notxtfrm.cxx4
-rw-r--r--sw/source/core/doc/visiturl.cxx4
-rw-r--r--sw/source/core/docnode/ndtbl.cxx14
-rw-r--r--sw/source/core/docnode/node.cxx4
-rw-r--r--sw/source/core/edit/edattr.cxx2
-rw-r--r--sw/source/core/edit/edfld.cxx9
-rw-r--r--sw/source/core/edit/editsh.cxx26
-rw-r--r--sw/source/core/edit/edtox.cxx19
-rw-r--r--sw/source/core/fields/cellfml.cxx2
-rw-r--r--sw/source/core/fields/dbfld.cxx47
-rw-r--r--sw/source/core/fields/docufld.cxx71
-rw-r--r--sw/source/core/fields/expfld.cxx78
-rw-r--r--sw/source/core/fields/fldbas.cxx36
-rw-r--r--sw/source/core/fields/macrofld.cxx19
-rw-r--r--sw/source/core/fields/reffld.cxx11
-rw-r--r--sw/source/core/fields/tblcalc.cxx48
-rw-r--r--sw/source/core/fields/usrfld.cxx21
-rw-r--r--sw/source/core/frmedt/fecopy.cxx11
-rw-r--r--sw/source/core/frmedt/makefile.mk2
-rw-r--r--sw/source/core/frmedt/tblsel.cxx15
-rw-r--r--sw/source/core/inc/MarkManager.hxx4
-rw-r--r--sw/source/core/inc/cellfrm.hxx7
-rw-r--r--sw/source/core/inc/flyfrm.hxx7
-rw-r--r--sw/source/core/inc/frame.hxx10
-rw-r--r--sw/source/core/inc/layfrm.hxx9
-rw-r--r--sw/source/core/inc/mvsave.hxx24
-rw-r--r--sw/source/core/inc/notxtfrm.hxx7
-rw-r--r--sw/source/core/inc/rootfrm.hxx10
-rw-r--r--sw/source/core/inc/scriptinfo.hxx70
-rw-r--r--sw/source/core/inc/tabfrm.hxx9
-rw-r--r--sw/source/core/inc/txmsrt.hxx22
-rw-r--r--sw/source/core/inc/txtfrm.hxx8
-rw-r--r--sw/source/core/inc/viewimp.hxx13
-rw-r--r--sw/source/core/layout/calcmove.cxx7
-rw-r--r--sw/source/core/layout/frmtool.cxx2
-rw-r--r--sw/source/core/layout/layact.cxx2
-rw-r--r--sw/source/core/layout/laycache.cxx16
-rw-r--r--sw/source/core/layout/layhelp.hxx4
-rw-r--r--sw/source/core/layout/makefile.mk1
-rw-r--r--sw/source/core/layout/pagechg.cxx7
-rw-r--r--sw/source/core/layout/paintfrm.cxx28
-rw-r--r--sw/source/core/layout/trvlfrm.cxx6
-rw-r--r--sw/source/core/layout/unusedf.cxx4
-rw-r--r--sw/source/core/text/frmpaint.cxx6
-rw-r--r--sw/source/core/text/itratr.cxx4
-rw-r--r--sw/source/core/text/porlay.cxx119
-rw-r--r--sw/source/core/text/pormulti.cxx102
-rw-r--r--sw/source/core/text/txtfld.cxx91
-rw-r--r--sw/source/core/tox/txmsrt.cxx25
-rw-r--r--sw/source/core/txtnode/atrfld.cxx5
-rw-r--r--sw/source/core/txtnode/ndtxt.cxx36
-rw-r--r--sw/source/core/txtnode/thints.cxx3
-rw-r--r--sw/source/core/undo/makefile.mk1
-rw-r--r--sw/source/core/undo/rolbck.cxx8
-rw-r--r--sw/source/core/undo/unnum.cxx17
-rw-r--r--sw/source/core/undo/untbl.cxx4
-rw-r--r--sw/source/core/unocore/unofield.cxx15
-rw-r--r--sw/source/core/unocore/unostyle.cxx6
-rw-r--r--sw/source/core/unocore/unotbl.cxx11
-rw-r--r--sw/source/core/view/pagepreviewlayout.cxx6
-rw-r--r--sw/source/core/view/printdata.cxx18
-rw-r--r--sw/source/core/view/vdraw.cxx8
-rw-r--r--sw/source/core/view/viewpg.cxx10
-rw-r--r--[-rwxr-xr-x]sw/source/core/view/vprint.cxx151
-rw-r--r--sw/source/filter/ascii/ascatr.cxx2
-rw-r--r--sw/source/filter/html/htmlatr.cxx16
-rw-r--r--sw/source/filter/html/htmlfldw.cxx2
-rw-r--r--sw/source/filter/html/htmlfly.cxx8
-rw-r--r--sw/source/filter/html/htmlgrin.cxx17
-rw-r--r--sw/source/filter/html/makefile.mk2
-rw-r--r--sw/source/filter/html/swhtml.cxx2
-rw-r--r--sw/source/filter/html/swhtml.hxx4
-rw-r--r--sw/source/filter/rtf/makefile.mk1
-rw-r--r--sw/source/filter/rtf/rtfatr.cxx10
-rw-r--r--sw/source/filter/rtf/rtfnum.cxx29
-rw-r--r--sw/source/filter/rtf/rtftbl.cxx92
-rw-r--r--sw/source/filter/rtf/swparrtf.cxx24
-rw-r--r--sw/source/filter/rtf/swparrtf.hxx11
-rw-r--r--sw/source/filter/rtf/wrtrtf.cxx72
-rw-r--r--sw/source/filter/rtf/wrtrtf.hxx3
-rw-r--r--sw/source/filter/writer/writer.cxx6
-rw-r--r--sw/source/filter/ww8/wrtw8esh.cxx3
-rw-r--r--sw/source/filter/ww8/wrtww8.cxx10
-rw-r--r--sw/source/filter/ww8/ww8atr.cxx12
-rw-r--r--sw/source/filter/xml/xmlexp.cxx4
-rw-r--r--sw/source/filter/xml/xmlfonte.cxx6
-rw-r--r--sw/source/filter/xml/xmltbli.cxx6
-rw-r--r--[-rwxr-xr-x]sw/source/ui/app/docsh.cxx4
-rw-r--r--sw/source/ui/chrdlg/drpcps.cxx14
-rw-r--r--sw/source/ui/chrdlg/makefile.mk3
-rw-r--r--[-rwxr-xr-x]sw/source/ui/config/optpage.cxx26
-rw-r--r--sw/source/ui/config/prtopt.cxx3
-rw-r--r--sw/source/ui/dbui/dbmgr.cxx3
-rw-r--r--sw/source/ui/docvw/AnnotationWin.cxx3
-rw-r--r--sw/source/ui/docvw/SidebarWin.cxx3
-rw-r--r--sw/source/ui/docvw/edtwin2.cxx5
-rw-r--r--sw/source/ui/docvw/srcedtw.cxx40
-rw-r--r--sw/source/ui/fldui/DropDownFieldDialog.cxx12
-rw-r--r--sw/source/ui/fldui/inpdlg.cxx14
-rw-r--r--sw/source/ui/frmdlg/frmpage.cxx2
-rw-r--r--sw/source/ui/inc/unotxvw.hxx2
-rw-r--r--sw/source/ui/inc/view.hxx1
-rw-r--r--sw/source/ui/inc/wrtsh.hxx3
-rw-r--r--[-rwxr-xr-x]sw/source/ui/uiview/pview.cxx22
-rw-r--r--sw/source/ui/uiview/view.cxx21
-rw-r--r--sw/source/ui/uiview/viewprt.cxx1
-rw-r--r--sw/source/ui/uno/unomod.cxx2
-rw-r--r--sw/source/ui/uno/unotxdoc.cxx14
-rw-r--r--sw/source/ui/uno/unotxvw.cxx7
-rw-r--r--sw/source/ui/utlui/initui.cxx3
-rw-r--r--sw/source/ui/utlui/uitool.cxx3
-rw-r--r--sw/source/ui/wrtsh/wrtsh2.cxx11
150 files changed, 1456 insertions, 1664 deletions
diff --git a/sw/inc/authfld.hxx b/sw/inc/authfld.hxx
index 7d3ff5514b72..71f8a201243f 100644
--- a/sw/inc/authfld.hxx
+++ b/sw/inc/authfld.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _AUTHFLD_HXX
-#define _AUTHFLD_HXX
+#ifndef SW_AUTHFLD_HXX
+#define SW_AUTHFLD_HXX
#include "swdllapi.h"
#include <fldbas.hxx>
@@ -166,6 +166,10 @@ class SwAuthorityField : public SwField
{
long m_nHandle;
mutable long m_nTempSequencePos;
+
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwAuthorityField(SwAuthorityFieldType* pType, const String& rFieldContents);
SwAuthorityField(SwAuthorityFieldType* pType, long nHandle);
@@ -173,8 +177,6 @@ public:
const String& GetFieldText(ToxAuthorityField eField) const;
- virtual String Expand() const;
- virtual SwField* Copy() const;
virtual void SetPar1(const String& rStr);
virtual SwFieldType* ChgTyp( SwFieldType* );
diff --git a/sw/inc/calc.hxx b/sw/inc/calc.hxx
index f5cbcc6c8c38..4db19fc9a29d 100644
--- a/sw/inc/calc.hxx
+++ b/sw/inc/calc.hxx
@@ -28,6 +28,7 @@
#define _CALC_HXX
#include <svl/svarray.hxx>
+#include <unotools/syslocale.hxx>
#ifndef __SBX_SBXVALUE //autogen
#include <basic/sbxvar.hxx>
@@ -185,6 +186,7 @@ class SwCalc
xub_StrLen nCommandPos;
SwDoc& rDoc;
+ SvtSysLocale m_aSysLocale;
const LocaleDataWrapper* pLclData;
CharClass* pCharClass;
@@ -228,11 +230,11 @@ public:
void SetCalcError( SwCalcError eErr ) { eError = eErr; }
BOOL IsCalcError() const { return 0 != eError; }
- static BOOL Str2Double( const String& rStr, xub_StrLen& rPos,
+ static bool Str2Double( const String& rStr, xub_StrLen& rPos,
double& rVal,
- const LocaleDataWrapper* pData = 0 );
- static BOOL Str2Double( const String& rStr, xub_StrLen& rPos,
- double& rVal, SwDoc* pDoc );
+ LocaleDataWrapper const*const pData = 0 );
+ static bool Str2Double( const String& rStr, xub_StrLen& rPos,
+ double& rVal, SwDoc *const pDoc );
SW_DLLPUBLIC static BOOL IsValidVarName( const String& rStr,
String* pValidName = 0 );
diff --git a/sw/inc/chpfld.hxx b/sw/inc/chpfld.hxx
index 40f2f9ecf1d3..5d63c866c68d 100644
--- a/sw/inc/chpfld.hxx
+++ b/sw/inc/chpfld.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _CHPFLD_HXX
-#define _CHPFLD_HXX
+#ifndef SW_CHPFLD_HXX
+#define SW_CHPFLD_HXX
#include "fldbas.hxx"
@@ -69,6 +69,10 @@ class SW_DLLPUBLIC SwChapterField : public SwField
friend class SwChapterFieldType;
BYTE nLevel;
String sTitle, sNumber, sPre, sPost;
+
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwChapterField(SwChapterFieldType*, sal_uInt32 nFmt = 0);
@@ -82,9 +86,6 @@ public:
// <--
void ChangeExpansion(const SwTxtNode &rNd, BOOL bSrchNum);
- virtual String Expand() const;
- virtual SwField* Copy() const;
-
inline BYTE GetLevel() const;
inline void SetLevel(BYTE);
@@ -99,4 +100,4 @@ inline void SwChapterField::SetLevel(BYTE nLev) { nLevel = nLev; }
inline const String& SwChapterField::GetNumber() const { return sNumber; }
inline const String& SwChapterField::GetTitle() const { return sTitle; }
-#endif // _CHPFLD_HXX
+#endif // SW_CHPFLD_HXX
diff --git a/sw/inc/dbfld.hxx b/sw/inc/dbfld.hxx
index 4114c0cfe0d3..c13c766e1147 100644
--- a/sw/inc/dbfld.hxx
+++ b/sw/inc/dbfld.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _DBFLD_HXX
-#define _DBFLD_HXX
+#ifndef SW_DBFLD_HXX
+#define SW_DBFLD_HXX
#include "swdllapi.h"
#include "fldbas.hxx"
@@ -79,6 +79,9 @@ class SW_DLLPUBLIC SwDBField : public SwValueField
BOOL bValidValue : 1;
BOOL bInitialized : 1;
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwDBField(SwDBFieldType*, ULONG nFmt = 0);
virtual ~SwDBField();
@@ -87,14 +90,11 @@ public:
// Der aktuelle Text
inline void SetExpansion(const String& rStr);
- virtual String Expand() const;
- virtual SwField* Copy() const;
virtual USHORT GetSubType() const;
virtual void SetSubType(USHORT nType);
- // Name oder Inhalt
- virtual String GetCntnt(BOOL bName = FALSE) const;
+ virtual String GetFieldName() const;
// fuer Berechnungen in Ausdruecken
void ChgValue( double d, BOOL bVal );
@@ -157,8 +157,8 @@ public:
SwDBData GetDBData(SwDoc* pDoc);
void SetDBData(const SwDBData& rDBData); // #111840#
- // Name oder Inhalt
- virtual String GetCntnt(BOOL bName = FALSE) const;
+ virtual String GetFieldName() const;
+
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, USHORT nWhich ) const;
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhich );
virtual USHORT GetSubType() const;
@@ -335,4 +335,4 @@ inline void SwDBSetNumberField::SetSetNumber(long nNum)
{ nNumber = nNum; }
-#endif // _DBFLD_HXX
+#endif // SW_DBFLD_HXX
diff --git a/sw/inc/dbmgr.hxx b/sw/inc/dbmgr.hxx
index d044f5e80fa6..fd2f694f5e3f 100644
--- a/sw/inc/dbmgr.hxx
+++ b/sw/inc/dbmgr.hxx
@@ -73,7 +73,6 @@ struct SwDBFormatData
class SwView;
class SwWrtShell;
-class SwPrtOptions;
class SfxProgress;
class ListBox;
class Button;
diff --git a/sw/inc/ddefld.hxx b/sw/inc/ddefld.hxx
index d9a011461eba..87b8a9f53dea 100644
--- a/sw/inc/ddefld.hxx
+++ b/sw/inc/ddefld.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _DDEFLD_HXX
-#define _DDEFLD_HXX
+#ifndef SW_DDEFLD_HXX
+#define SW_DDEFLD_HXX
#include <sfx2/lnkbase.hxx>
#include "swdllapi.h"
@@ -97,13 +97,14 @@ public:
class SwDDEField : public SwField
{
+private:
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwDDEField(SwDDEFieldType*);
~SwDDEField();
- virtual String Expand() const;
- virtual SwField* Copy() const;
-
// ueber Typen Parameter ermitteln
// Name kann nicht geaendert werden
virtual const String& GetPar1() const;
@@ -114,4 +115,4 @@ public:
};
-#endif // _DDEFLD_HXX
+#endif // SW_DDEFLD_HXX
diff --git a/sw/inc/docufld.hxx b/sw/inc/docufld.hxx
index 8483cf7b2d39..3607ad0cd970 100644
--- a/sw/inc/docufld.hxx
+++ b/sw/inc/docufld.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _DOCUFLD_HXX
-#define _DOCUFLD_HXX
+#ifndef SW_DOCUFLD_HXX
+#define SW_DOCUFLD_HXX
#include <tools/date.hxx>
@@ -363,6 +363,9 @@ class SwHiddenTxtField : public SwField
BOOL bIsHidden : 1; // ist es nicht sichtbar?
BOOL bValid : 1; // DB-Feld evaluiert?
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwHiddenTxtField( SwHiddenTxtFieldType*,
BOOL bConditional,
@@ -377,9 +380,7 @@ public:
const String& rFalse,
USHORT nSubType = TYP_HIDDENTXTFLD);
- virtual String GetCntnt(BOOL bName = FALSE) const;
- virtual String Expand() const;
- virtual SwField* Copy() const;
+ virtual String GetFieldName() const;
void Evaluate(SwDoc*);
@@ -463,6 +464,9 @@ class SW_DLLPUBLIC SwMacroField : public SwField
String aText;
BOOL bIsScriptURL;
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
// Direkte Eingabe alten Wert loeschen
SwMacroField( SwMacroFieldType*, const String& rLibAndName,
@@ -473,9 +477,7 @@ public:
String GetMacroName() const;
SvxMacro GetSvxMacro() const;
- virtual String GetCntnt(BOOL bName = FALSE) const;
- virtual String Expand() const;
- virtual SwField* Copy() const;
+ virtual String GetFieldName() const;
// Library und FileName
virtual const String& GetPar1() const;
@@ -571,6 +573,9 @@ class SW_DLLPUBLIC SwDocInfoField : public SwValueField
String aContent;
String aName;
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwDocInfoField(SwDocInfoFieldType*, USHORT nSub, const String& rName, sal_uInt32 nFmt=0);
SwDocInfoField(SwDocInfoFieldType*, USHORT nSub, const String& rName, const String& rValue, sal_uInt32 nFmt=0);
@@ -578,9 +583,7 @@ public:
virtual void SetSubType(USHORT);
virtual USHORT GetSubType() const;
virtual void SetLanguage(USHORT nLng);
- virtual String Expand() const;
- virtual String GetCntnt(BOOL bName = FALSE) const;
- virtual SwField* Copy() const;
+ virtual String GetFieldName() const;
String GetName() const { return aName; }
void SetName( const String& rName ) { aName = rName; }
inline void SetExpansion(const String& rStr) { aContent = rStr; }
@@ -833,4 +836,4 @@ public:
};
-#endif // _DOCUFLD_HXX
+#endif // SW_DOCUFLD_HXX
diff --git a/sw/inc/editsh.hxx b/sw/inc/editsh.hxx
index 9dc09103606e..85201ff9b5b9 100644
--- a/sw/inc/editsh.hxx
+++ b/sw/inc/editsh.hxx
@@ -201,7 +201,6 @@ public:
// change text to Upper/Lower/Hiragana/Katagana/...
void TransliterateText( sal_uInt32 nType );
- void TransliterateText( const String& rModuleName );
// count words in current selection
void CountWords( SwDocStat& rStat ) const;
@@ -416,9 +415,6 @@ public:
const SwTOXType* GetTOXType(TOXTypes eTyp, USHORT nId) const;
void InsertTOXType(const SwTOXType& rTyp);
- // new field stuff
- BOOL UpdateField(sw::mark::IFieldmark &fieldBM);
-
//AutoMark file
const String& GetTOIAutoMarkURL() const;
void SetTOIAutoMarkURL(const String& rSet);
diff --git a/sw/inc/expfld.hxx b/sw/inc/expfld.hxx
index 00598528e891..32fdbe202462 100644
--- a/sw/inc/expfld.hxx
+++ b/sw/inc/expfld.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _EXPFLD_HXX
-#define _EXPFLD_HXX
+#ifndef SW_EXPFLD_HXX
+#define SW_EXPFLD_HXX
#include <svl/svarray.hxx>
#include "swdllapi.h"
@@ -98,6 +98,9 @@ class SW_DLLPUBLIC SwGetExpField : public SwFormulaField
bool bLateInitialization; // #i82544#
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwGetExpField( SwGetExpFieldType*, const String& rFormel,
USHORT nSubType = nsSwGetSetExpType::GSE_EXPR, ULONG nFmt = 0);
@@ -105,9 +108,6 @@ public:
virtual void SetValue( const double& rVal );
virtual void SetLanguage(USHORT nLng);
- virtual String Expand() const;
- virtual SwField* Copy() const;
-
inline const String& GetExpStr() const;
inline void ChgExpStr(const String& rExpand);
@@ -119,7 +119,7 @@ public:
// (wird nur von der Formatierung aufgerufen!!)
void ChangeExpansion( const SwFrm&, const SwTxtFld& );
- virtual String GetCntnt(BOOL bName = FALSE) const;
+ virtual String GetFieldName() const;
// Die Formel aendern
virtual String GetPar2() const;
@@ -234,14 +234,14 @@ class SW_DLLPUBLIC SwSetExpField : public SwFormulaField
USHORT nSeqNo;
USHORT nSubType;
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwSetExpField(SwSetExpFieldType*, const String& rFormel, ULONG nFmt = 0);
virtual void SetValue( const double& rVal );
- virtual String Expand() const;
- virtual SwField* Copy() const;
-
inline const String& GetExpStr() const;
inline void ChgExpStr( const String& rExpand );
@@ -252,7 +252,8 @@ public:
inline void SetInputFlag(BOOL bInp);
inline BOOL GetInputFlag() const;
- virtual String GetCntnt(BOOL bName = FALSE) const;
+ virtual String GetFieldName() const;
+
virtual USHORT GetSubType() const;
virtual void SetSubType(USHORT nType);
@@ -319,15 +320,17 @@ class SW_DLLPUBLIC SwInputField : public SwField
String aHelp;
String aToolTip;
USHORT nSubType;
+
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
// Direkte Eingabe ueber Dialog alten Wert loeschen
SwInputField(SwInputFieldType*, const String& rContent ,
const String& rPrompt, USHORT nSubType = 0,
ULONG nFmt = 0);
- virtual String GetCntnt(BOOL bName = FALSE) const;
- virtual String Expand() const;
- virtual SwField* Copy() const;
+ virtual String GetFieldName() const;
// Content
virtual const String& GetPar1() const;
@@ -405,9 +408,14 @@ class SwTblField : public SwValueField, public SwTableFormula
String sExpand;
USHORT nSubType;
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
// suche den TextNode, in dem das Feld steht
virtual const SwNode* GetNodeOfFormula() const;
+ String GetCommand();
+
public:
SwTblField( SwTblFieldType*, const String& rFormel,
USHORT nSubType = 0, ULONG nFmt = 0);
@@ -415,8 +423,6 @@ public:
virtual void SetValue( const double& rVal );
virtual USHORT GetSubType() const;
virtual void SetSubType(USHORT nType);
- virtual String Expand() const;
- virtual SwField* Copy() const;
const String& GetExpStr() const { return sExpand; }
void ChgExpStr(const String& rStr) { sExpand = rStr; }
@@ -424,7 +430,8 @@ public:
// berechne sich selbst
void CalcField( SwTblCalcPara& rCalcPara );
- virtual String GetCntnt(BOOL bName = FALSE) const;
+ virtual String GetFieldName() const;
+
// Die Formel
virtual String GetPar2() const;
virtual void SetPar2(const String& rStr);
@@ -433,4 +440,4 @@ public:
};
-#endif // _EXPFLD_HXX
+#endif // SW_EXPFLD_HXX
diff --git a/sw/inc/fldbas.hxx b/sw/inc/fldbas.hxx
index a2e08366ba24..fd570f623eaf 100644
--- a/sw/inc/fldbas.hxx
+++ b/sw/inc/fldbas.hxx
@@ -24,10 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _FLDBAS_HXX
-#define _FLDBAS_HXX
-
-#ifndef FIELDIDS_ONLY // SWG-Testreader!!
+#ifndef SW_FLDBAS_HXX
+#define SW_FLDBAS_HXX
#include <i18npool/lang.h>
#include <tools/debug.hxx>
@@ -40,7 +38,6 @@ class SwDoc;
class SvStringsDtor;
class SvNumberFormatter;
-#endif // FIELDIDS_ONLY
/*--------------------------------------------------------------------
Beschreibung: die ID's fuer die Feldtypen
@@ -236,8 +233,6 @@ enum SwDateTimeSubType
TIMEFLD = 4
};
-#ifndef FIELDIDS_ONLY // SWG-Testreader!!
-
extern USHORT __FAR_DATA aTypeTab[];
@@ -331,13 +326,16 @@ public:
virtual SwFieldType* ChgTyp( SwFieldType* );
/** expand the field.
- @param bInClipboard field is in clipboard document?
+ @param bCached return cached field value.
+ @remark most callers should use the cached field value.
+ this is because various fields need special handing
+ (ChangeExpansion()) to return correct values, and only
+ SwTxtFormatter::NewFldPortion() sets things up properly.
@return the generated text (suitable for display)
*/
- String ExpandField(bool const bInClipboard) const;
+ String ExpandField(bool const bCached) const;
- // liefert den Namen oder den Inhalt
- virtual String GetCntnt(BOOL bName = FALSE) const;
+ virtual String GetFieldName() const;
SwField * CopyField() const;
@@ -461,5 +459,4 @@ public:
String GetExpandedFormula() const;
};
-#endif // FIELDIDS_ONLY
-#endif // _FLDBAS_HXX
+#endif // SW_FLDBAS_HXX
diff --git a/sw/inc/flddat.hxx b/sw/inc/flddat.hxx
index d302f45a96bc..1196f0f1264d 100644
--- a/sw/inc/flddat.hxx
+++ b/sw/inc/flddat.hxx
@@ -25,8 +25,8 @@
*
************************************************************************/
-#ifndef _FLDDAT_HXX
-#define _FLDDAT_HXX
+#ifndef SW_FLDDAT_HXX
+#define SW_FLDDAT_HXX
#include <tools/string.hxx>
@@ -115,6 +115,9 @@ class SW_DLLPUBLIC SwDateTimeField : public SwValueField
USHORT nSubType;
long nOffset; // Offset in Minuten
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwDateTimeField(SwDateTimeFieldType* pType, USHORT nSubType = DATEFLD,
ULONG nFmt = 0, USHORT nLng = 0);
@@ -138,11 +141,8 @@ public:
void SetDateTime(const DateTime& rDT);
static double GetDateTime(SwDoc* pDoc, const DateTime& rDT);
- virtual String Expand() const;
- virtual SwField* Copy() const;
-
virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, USHORT nMId ) const;
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, USHORT nMId );
};
-#endif // _FLDDAT_HXX
+#endif // SW_FLDDAT_HXX
diff --git a/sw/inc/flddropdown.hxx b/sw/inc/flddropdown.hxx
index 77963bf1510a..e3e40a82b940 100644
--- a/sw/inc/flddropdown.hxx
+++ b/sw/inc/flddropdown.hxx
@@ -24,19 +24,14 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _FLDDROPDOWN_HXX
-#define _FLDDROPDOWN_HXX
+#ifndef SW_FLDDROPDOWN_HXX
+#define SW_FLDDROPDOWN_HXX
-#ifndef _COM_SUN_STAR_UNO_SEQUENCE_HXX
#include "com/sun/star/uno/Sequence.hxx"
-#endif
#include "swdllapi.h"
#include "fldbas.hxx"
-#ifndef INCLUDED_VECTOR
#include <vector>
-#define INCLUDED_VECTOR
-#endif
/**
Field type for dropdown boxes.
@@ -95,6 +90,23 @@ class SW_DLLPUBLIC SwDropDownField : public SwField
*/
String aToolTip;
+ /**
+ Expands the field.
+
+ The expanded value of the field is the value of the selected
+ item. If no item is selected, an empty string is returned.
+
+ @return the expanded value of the field
+ */
+ virtual String Expand() const;
+
+ /**
+ Creates a copy of this field.
+
+ @return the copy of this field
+ */
+ virtual SwField * Copy() const;
+
public:
/**
Constructor
@@ -116,23 +128,6 @@ public:
virtual ~SwDropDownField();
/**
- Expands the field.
-
- The expanded value of the field is the value of the selected
- item. If no item is selected, an empty string is returned.
-
- @return the expanded value of the field
- */
- virtual String Expand() const;
-
- /**
- Creates a copy of this field.
-
- @return the copy of this field
- */
- virtual SwField * Copy() const;
-
- /**
Returns the selected value.
@see Expand
diff --git a/sw/inc/inetfld.hxx b/sw/inc/inetfld.hxx
index 2bb3c6f9c880..de3f81c49e31 100644
--- a/sw/inc/inetfld.hxx
+++ b/sw/inc/inetfld.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _INETFLD_HXX
-#define _INETFLD_HXX
+#ifndef SW_INETFLD_HXX
+#define SW_INETFLD_HXX
#include "fldbas.hxx"
@@ -69,15 +69,16 @@ class SwINetField : public SwField
String sText;
SvxMacroTableDtor* pMacroTbl;
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
// Direkte Eingabe alten Wert loeschen
SwINetField( SwINetFieldType* pTyp, USHORT nFmt,
const String& rURL, const String& rText );
virtual ~SwINetField();
- virtual String GetCntnt(BOOL bName = FALSE) const;
- virtual String Expand() const;
- virtual SwField* Copy() const;
+ virtual String GetFieldName() const;
// URL
virtual const String& GetPar1() const;
@@ -105,5 +106,5 @@ public:
};
-#endif // _INETFLD_HXX
+#endif // SW_INETFLD_HXX
diff --git a/sw/inc/pagepreviewlayout.hxx b/sw/inc/pagepreviewlayout.hxx
index 589e2850b1ab..01d83afae52e 100644
--- a/sw/inc/pagepreviewlayout.hxx
+++ b/sw/inc/pagepreviewlayout.hxx
@@ -558,9 +558,6 @@ public:
sal_uInt16 GetColOfPage( sal_uInt16 _nPageNum ) const;
// OD 18.12.2002 #103492#
- Size GetMaxPageSize() const;
-
- // OD 18.12.2002 #103492#
Size GetPrevwDocSize() const;
/** get size of a preview page by its physical page number
diff --git a/sw/inc/printdata.hxx b/sw/inc/printdata.hxx
index f76ac65e747a..02df0280cdbf 100755..100644
--- a/sw/inc/printdata.hxx
+++ b/sw/inc/printdata.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _SW_PRINTDATA_HXX
-#define _SW_PRINTDATA_HXX
+#ifndef SW_PRINTDATA_HXX
+#define SW_PRINTDATA_HXX
#include <sal/types.h>
@@ -45,7 +45,6 @@ class _SetGetExpFlds;
class SwViewOption;
class OutputDevice;
class SwViewOptionAdjust_Impl;
-class SwPrtOptions;
class SwWrtShell;
class SfxViewShell;
@@ -248,7 +247,7 @@ class SwRenderData
// the view options to be applied for printing
SwViewOptionAdjust_Impl * m_pViewOptionAdjust;
- SwPrtOptions * m_pPrtOptions;
+ SwPrintData * m_pPrtOptions;
public:
@@ -269,14 +268,14 @@ public:
bool IsViewOptionAdjust() const { return m_pViewOptionAdjust != 0; }
bool NeedNewViewOptionAdjust( const SwWrtShell& ) const;
void ViewOptionAdjustStart( SwWrtShell &rSh, const SwViewOption &rViewOptions );
- void ViewOptionAdjust( const SwPrtOptions *pPrtOptions );
+ void ViewOptionAdjust( SwPrintData const*const pPrtOptions );
void ViewOptionAdjustStop();
bool HasSwPrtOptions() const { return m_pPrtOptions != 0; }
- void SetSwPrtOptions( SwPrtOptions * pOpt ) { m_pPrtOptions = pOpt; }
- const SwPrtOptions * GetSwPrtOptions() const { return m_pPrtOptions; }
- SwPrtOptions & GetSwPrtOptionsRef() { return *m_pPrtOptions; }
- void MakeSwPrtOptions( SwPrtOptions &rOptions, const SwDocShell *pDocShell,
+ void SetSwPrtOptions(SwPrintData *const pOpt) { m_pPrtOptions = pOpt; }
+ SwPrintData const* GetSwPrtOptions() const { return m_pPrtOptions; }
+ SwPrintData & GetSwPrtOptionsRef() { return *m_pPrtOptions; }
+ void MakeSwPrtOptions( SwPrintData & rOptions, const SwDocShell *pDocShell,
const SwPrintUIOptions *pOpt, const SwRenderData *pData, bool bIsPDFExport );
@@ -320,4 +319,17 @@ public:
////////////////////////////////////////////////////////////
-#endif //_SW_PRINTDATA_HXX
+// last remnants of swprtopt.hxx:
+
+#define POSTITS_NONE 0
+#define POSTITS_ONLY 1
+#define POSTITS_ENDDOC 2
+#define POSTITS_ENDPAGE 3
+
+namespace sw {
+
+void InitPrintOptionsFromApplication(SwPrintData & o_rData, bool const bWeb);
+
+} // namespace sw
+
+#endif // SW_PRINTDATA_HXX
diff --git a/sw/inc/reffld.hxx b/sw/inc/reffld.hxx
index b2b61dff6434..44d17eb38ca8 100644
--- a/sw/inc/reffld.hxx
+++ b/sw/inc/reffld.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _REFFLD_HXX
-#define _REFFLD_HXX
+#ifndef SW_REFFLD_HXX
+#define SW_REFFLD_HXX
#include <fldbas.hxx>
@@ -99,6 +99,9 @@ private:
USHORT nSubType;
USHORT nSeqNo;
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
// --> OD 2007-08-24 #i81002#
String MakeRefNumStr( const SwTxtNode& rTxtNodeOfField,
const SwTxtNode& rTxtNodeOfReferencedItem,
@@ -110,9 +113,7 @@ public:
virtual ~SwGetRefField();
- virtual String GetCntnt(BOOL bName = FALSE) const;
- virtual String Expand() const;
- virtual SwField* Copy() const;
+ virtual String GetFieldName() const;
const String& GetSetRefName() const { return sSetRefName; }
@@ -158,5 +159,5 @@ public:
};
-#endif // _REFFLD_HXX
+#endif // SW_REFFLD_HXX
diff --git a/sw/inc/swprtopt.hxx b/sw/inc/swprtopt.hxx
deleted file mode 100644
index 626c74d88feb..000000000000
--- a/sw/inc/swprtopt.hxx
+++ /dev/null
@@ -1,102 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _SWPRTOPT_HXX
-#define _SWPRTOPT_HXX
-
-#include <tools/multisel.hxx>
-#include <printdata.hxx>
-
-#include <set>
-#include <map>
-#include <vector>
-#include <utility>
-
-#define POSTITS_NONE 0
-#define POSTITS_ONLY 1
-#define POSTITS_ENDDOC 2
-#define POSTITS_ENDPAGE 3
-
-
-class PrintDialog;
-class SfxPrinter;
-
-
-////////////////////////////////////////////////////////////
-
-
-class SwPrtOptions : public SwPrintData
-{
- USHORT nJobNo;
- String sJobName;
-
-public:
- MultiSelection aMulti;
- Point aOffset;
- ULONG nMergeCnt; // Anzahl der Serienbriefe
- ULONG nMergeAct; // Aktueller Serienbriefnr.
- USHORT nCopyCount;
-
- BOOL bCollate,
- bPrintSelection, // Markierung drucken
- bJobStartet;
-
- SwPrtOptions( const String& rJobName ) :
- nJobNo( 1 ),
- sJobName( rJobName ),
- aOffset( Point(0,0) ),
- nMergeCnt( 0 ),
- nMergeAct( 0 ),
- bCollate(FALSE),
- bPrintSelection (FALSE),
- bJobStartet(FALSE)
- {}
-
- const String& MakeNextJobName(); // steht in vprint.cxx
- const String& GetJobName() const { return sJobName; }
-
-#if defined(TCPP)
- // seit neuestem (SV 223) kann der keinen mehr generieren
- inline SwPrtOptions(const SwPrtOptions& rNew) {*this = rNew;}
-#endif
-
-
- SwPrtOptions& operator=(const SwPrintData& rData)
- {
- SwPrintData::operator=(rData);
- return *this;
- }
-
- // get print options
- void MakeOptions( BOOL bWeb );
-};
-
-
-////////////////////////////////////////////////////////////
-
-#endif //_SWPRTOPT_HXX
-
diff --git a/sw/inc/txtfld.hxx b/sw/inc/txtfld.hxx
index d0be4a008cab..6dd556a84436 100644
--- a/sw/inc/txtfld.hxx
+++ b/sw/inc/txtfld.hxx
@@ -41,8 +41,7 @@ class SwTxtFld : public SwTxtAttr
SwTxtNode * m_pTxtNode;
public:
- SwTxtFld(SwFmtFld & rAttr, xub_StrLen const nStart,
- bool const bInClipboard);
+ SwTxtFld(SwFmtFld & rAttr, xub_StrLen const nStart);
virtual ~SwTxtFld();
void CopyFld( SwTxtFld *pDest ) const;
diff --git a/sw/inc/unotbl.hxx b/sw/inc/unotbl.hxx
index 372b55ca9193..3121a6420a69 100644
--- a/sw/inc/unotbl.hxx
+++ b/sw/inc/unotbl.hxx
@@ -421,8 +421,6 @@ public:
virtual void Modify( SfxPoolItem *pOld, SfxPoolItem *pNew);
SwFrmFmt* GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
-
- static SwXTextTable* GetImplementation(::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface> xRef );
};
/* -----------------27.04.98 16:41-------------------
diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index b50d5b0a1b76..2869415d3978 100755..100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -129,7 +129,6 @@ class SfxViewFrame;
class SwPrintUIOptions;
class SwPrintData;
class SwRenderData;
-class SwPrtOptions;
class SwWrtShell;
@@ -606,7 +605,7 @@ public:
SwViewOptionAdjust_Impl( SwWrtShell& rSh, const SwViewOption &rViewOptions );
~SwViewOptionAdjust_Impl();
- void AdjustViewOptions( const SwPrtOptions *pPrtOptions );
+ void AdjustViewOptions( SwPrintData const*const pPrtOptions );
bool checkShell( const SwWrtShell& rCompare ) const
{ return &rCompare == &m_rShell; }
diff --git a/sw/inc/usrfld.hxx b/sw/inc/usrfld.hxx
index b755cbc1631b..dea534074179 100644
--- a/sw/inc/usrfld.hxx
+++ b/sw/inc/usrfld.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _USRFLD_HXX
-#define _USRFLD_HXX
+#ifndef SW_USRFLD_HXX
+#define SW_USRFLD_HXX
#include "swdllapi.h"
#include "fldbas.hxx"
@@ -106,6 +106,9 @@ class SW_DLLPUBLIC SwUserField : public SwValueField
{
USHORT nSubType;
+ virtual String Expand() const;
+ virtual SwField* Copy() const;
+
public:
SwUserField(SwUserFieldType*, USHORT nSub = 0, sal_uInt32 nFmt = 0);
@@ -115,9 +118,7 @@ public:
virtual double GetValue() const;
virtual void SetValue( const double& rVal );
- virtual String Expand() const;
- virtual SwField* Copy() const;
- virtual String GetCntnt(BOOL bName = FALSE) const;
+ virtual String GetFieldName() const;
// Name kann nicht geaendert werden
virtual const String& GetPar1() const;
@@ -129,4 +130,4 @@ public:
virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, USHORT nWhichId );
};
-#endif // _USRFLD_HXX
+#endif // SW_USRFLD_HXX
diff --git a/sw/inc/viewsh.hxx b/sw/inc/viewsh.hxx
index 6c7011d78bb4..480876904d59 100755..100644
--- a/sw/inc/viewsh.hxx
+++ b/sw/inc/viewsh.hxx
@@ -24,8 +24,9 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _VIEWSH_HXX
-#define _VIEWSH_HXX
+#ifndef SW_VIEWSH_HXX
+#define SW_VIEWSH_HXX
+
#include <com/sun/star/embed/XClassifiedObject.hpp>
#include <com/sun/star/embed/XEmbeddedObject.hpp>
#include <tools/rtti.hxx>
@@ -67,7 +68,6 @@ class SfxItemPool;
class SfxViewShell;
class SwViewOption;
class SwViewImp;
-class SwPrtOptions;
class SwPrintData;
class SwPagePreViewPrtData;
class Window;
@@ -357,7 +357,8 @@ public:
// printing of one page.
// bIsPDFExport == true is: do PDF Export (no printing!)
- sal_Bool PrintOrPDFExport( OutputDevice *pOutDev, const SwPrtOptions &rPrintData,
+ sal_Bool PrintOrPDFExport( OutputDevice *pOutDev,
+ SwPrintData const& rPrintData,
sal_Int32 nRenderer /* offset in vector of pages to print */ );
// printing of one brochure page
@@ -368,8 +369,7 @@ public:
static void PrtOle2( SwDoc *pDoc, const SwViewOption *pOpt, const SwPrintData& rOptions,
OutputDevice* pOleOut, const Rectangle& rRect );
- // creates temporary doc with selected text for PDF export
- SwDoc * CreatePrtDoc( SfxObjectShellRef& );
+ /// fill temporary doc with selected text for Print or PDF export
SwDoc * FillPrtDoc( SwDoc* pPrtDoc, const SfxPrinter* pPrt );
//Wird intern fuer die Shell gerufen die Druckt. Formatiert die Seiten.
@@ -467,7 +467,7 @@ public:
input parameter - constant reference to print options, to which the
view option will be adjusted.
*/
- void AdjustOptionsForPagePreview( const SwPrtOptions &_rPrintOptions );
+ void AdjustOptionsForPagePreview( SwPrintData const& rPrintOptions );
sal_Bool IsViewLocked() const { return bViewLocked; }
void LockView( sal_Bool b ) { bViewLocked = b; }
@@ -633,4 +633,4 @@ inline const SfxItemPool& ViewShell::GetAttrPool() const
-#endif //_VIEWSH_HXX
+#endif // SW_VIEWSH_HXX
diff --git a/sw/qa/complex/writer/LoadSaveTest.java b/sw/qa/complex/writer/LoadSaveTest.java
new file mode 100644
index 000000000000..a1600488c7bc
--- /dev/null
+++ b/sw/qa/complex/writer/LoadSaveTest.java
@@ -0,0 +1,254 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package complex.writer;
+
+import complexlib.ComplexTestCase;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.WrappedTargetRuntimeException;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.Pair;
+import com.sun.star.util.XCloseable;
+import com.sun.star.frame.XStorable;
+import com.sun.star.document.DocumentEvent;
+import com.sun.star.document.XDocumentEventBroadcaster;
+import com.sun.star.document.XDocumentEventListener;
+import com.sun.star.text.XTextDocument;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.io.File;
+
+/**
+ * a small program to load documents from one directory (recursively)
+ * and store them in another, implemented as a complex test.
+ */
+public class LoadSaveTest extends ComplexTestCase
+{
+ private XMultiServiceFactory m_xMSF = null;
+ private XComponentContext m_xContext = null;
+ private XDocumentEventBroadcaster m_xGEB = null;
+ private String m_TmpDir = null;
+
+ private String m_fileURL = "file://";
+ // these should be parameters or something?
+ private String m_SourceDir = "FIXME";
+ private String m_TargetDir = "/tmp/out";
+
+ public String[] getTestMethodNames() {
+ return new String[] { "testLoadStore" };
+ }
+
+ public void before() throws Exception
+ {
+ m_xMSF = (XMultiServiceFactory) param.getMSF();
+ XPropertySet xPropertySet = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, m_xMSF);
+ Object defaultCtx = xPropertySet.getPropertyValue("DefaultContext");
+ m_xContext = (XComponentContext)
+ UnoRuntime.queryInterface(XComponentContext.class, defaultCtx);
+ assure("could not get component context.", m_xContext != null);
+ Object oGEB = m_xMSF.createInstance(
+ "com.sun.star.frame.GlobalEventBroadcaster");
+ m_xGEB = (XDocumentEventBroadcaster)
+ UnoRuntime.queryInterface(XDocumentEventBroadcaster.class, oGEB);
+ assure("could not get global event broadcaster.", m_xGEB != null);
+ m_TmpDir = util.utils.getOfficeTemp/*Dir*/(m_xMSF);
+ log.println("tempdir: " + m_TmpDir);
+ log.println("sourcedir: " + m_SourceDir);
+ log.println("targetdir: " + m_TargetDir);
+ }
+
+ /*
+ public void after()
+ {
+ }
+ */
+
+ public void testLoadStore() throws Exception
+ {
+ Pair<List<String>, List<String>> dirsFiles =
+ getDirAndFileNames(m_SourceDir);
+ makeDirs(m_TargetDir, dirsFiles.First);
+ for (String fileName : dirsFiles.Second)
+ {
+ try {
+ testDoc(fileName);
+ } catch (Exception e) {
+ report(e);
+ }
+ }
+ }
+
+ public void testDoc(String fileName) throws Exception
+ {
+ XComponent xDoc = null;
+ EventListener xListener = new EventListener();
+ try {
+ m_xGEB.addDocumentEventListener(xListener);
+
+ log.println("Loading document: " + fileName + " ...");
+
+ PropertyValue[] loadProps = new PropertyValue[1];
+ loadProps[0] = new PropertyValue();
+ loadProps[0].Name = "ReadOnly";
+ loadProps[0].Value = new Boolean(true);
+
+ String sourceFile = m_fileURL + m_SourceDir + fileName;
+
+ xDoc = util.DesktopTools.loadDoc(m_xMSF, sourceFile, loadProps);
+
+ log.println("... done");
+
+ {
+ // apparently OnLayoutFinished is not sent for every doc???
+ // 10 seconds is evidently not enough for large documents
+ int time = 0;
+ while (!xListener.IsLayoutFinished() && (time < 30000)) {
+ Thread.sleep(100);
+ time += 100;
+ }
+ if (time >= 30000) {
+ log.println("timeout: no OnLayoutFinished received!");
+ }
+ }
+
+ log.println("Storing document: " + fileName + " ...");
+
+ XStorable xStor = (XStorable) UnoRuntime.queryInterface(
+ XStorable.class, xDoc);
+
+ String targetFile = m_fileURL + m_TargetDir + fileName;
+
+ xStor.storeToURL(targetFile, new PropertyValue[0]);
+
+ log.println("... done");
+
+ } finally {
+ if (xDoc != null) {
+ util.DesktopTools.closeDoc(xDoc);
+ }
+ if (xListener != null) {
+ m_xGEB.removeDocumentEventListener(xListener);
+ }
+ }
+ }
+
+ class EventListener implements XDocumentEventListener
+ {
+ boolean m_isLayoutFinished = false;
+ boolean IsLayoutFinished() { return m_isLayoutFinished; }
+ public void documentEventOccured(DocumentEvent Event)
+ {
+// log.println("event: " + Event.EventName);
+ if ("OnLayoutFinished".equals(Event.EventName))
+ {
+ // we only have one doc at any time, so no need to check
+ m_isLayoutFinished = true;
+// log.println("received OnLayoutFinished");
+ }
+ }
+ public void disposing(EventObject Event) { }
+ }
+
+ void report2(Exception e)
+ {
+ if (e instanceof WrappedTargetException)
+ {
+ log.println("Cause:");
+ Exception cause = (Exception)
+ (((WrappedTargetException)e).TargetException);
+ log.println(cause.toString());
+ report2(cause);
+ } else if (e instanceof WrappedTargetRuntimeException) {
+ log.println("Cause:");
+ Exception cause = (Exception)
+ (((WrappedTargetRuntimeException)e).TargetException);
+ log.println(cause.toString());
+ report2(cause);
+ }
+ }
+
+ void report(Exception e) {
+ log.println("Exception occurred:");
+ log.println(e.toString());
+ e.printStackTrace((java.io.PrintWriter) log);
+ report2(e);
+// failed();
+ }
+
+ Pair<List<String>, List<String>> getDirAndFileNames(String dir)
+ {
+ List<String> dirs = new ArrayList<String>();
+ List<String> files = new ArrayList<String>();
+ File root = new File(dir);
+ getDirAndFileNames(root, "", dirs, files);
+ return new Pair<List<String>, List<String>>(dirs, files);
+ }
+
+ void getDirAndFileNames(File file, String relPath,
+ List<String> dirs, List<String> files)
+ {
+ assure("does not exist: " + relPath, file.exists());
+ if (file.isDirectory()) {
+ dirs.add(relPath);
+ File[] subfiles = file.listFiles();
+ for (File subfile : subfiles)
+ {
+ String subfileName =
+ relPath + File.separator + subfile.getName();
+ getDirAndFileNames(subfile, subfileName, dirs, files);
+ }
+ }
+ else if (file.isFile()) {
+ if (file.getName().endsWith(".odt")) {
+ files.add(relPath);
+ }
+ }
+ }
+
+ void makeDirs(String target, List<String> dirs) throws Exception
+ {
+ for (String dir : dirs) {
+ File f = new File(target + dir);
+ if (!f.exists()) {
+ if (!f.mkdir()) {
+ throw new Exception("cannot mkdir: " + target + dir);
+ }
+ }
+ }
+ }
+}
+
diff --git a/sw/qa/unoapi/knownissues.xcl b/sw/qa/unoapi/knownissues.xcl
index ea5bf843f3ec..99d7c7f12881 100644
--- a/sw/qa/unoapi/knownissues.xcl
+++ b/sw/qa/unoapi/knownissues.xcl
@@ -21,9 +21,6 @@ sw.XMLStylesImporter::com::sun::star::xml::sax::XDocumentHandler
### i23422 ###
sw.SwXTextViewCursor::com::sun::star::beans::XMultiPropertyStates
-### i112111 ###
-sw.SwXViewSettings::com::sun::star::beans::XPropertySet
-
### i23623 ###
sw.SwXStyleFamily::com::sun::star::container::XNameReplace
diff --git a/sw/source/core/bastyp/calc.cxx b/sw/source/core/bastyp/calc.cxx
index f837fa7a108c..baf76e5fe5ec 100644
--- a/sw/source/core/bastyp/calc.cxx
+++ b/sw/source/core/bastyp/calc.cxx
@@ -38,6 +38,7 @@
// #include <cmath>
#include <cfloat>
#include <hintids.hxx>
+#include <osl/diagnose.hxx>
#include <rtl/math.hxx>
#include <editeng/langitem.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -270,7 +271,7 @@ SwCalc::SwCalc( SwDoc& rD )
:
aErrExpr( aEmptyStr, SwSbxValue(), 0 ),
rDoc( rD ),
- pLclData( &SvtSysLocale().GetLocaleData() ),
+ pLclData( m_aSysLocale.GetLocaleDataPtr() ),
pCharClass( &GetAppCharClass() ),
nListPor( 0 ),
eError( CALC_NOERR )
@@ -419,7 +420,7 @@ SwCalc::~SwCalc()
{
for( USHORT n = 0; n < TBLSZ; ++n )
delete VarTable[n];
- if( pLclData != &SvtSysLocale().GetLocaleData() )
+ if( pLclData != m_aSysLocale.GetLocaleDataPtr() )
delete pLclData;
if( pCharClass != &GetAppCharClass() )
delete pCharClass;
@@ -1608,63 +1609,64 @@ String SwCalc::GetDBName(const String& rName)
//------------------------------------------------------------------------------
-/******************************************************************************
- * Methode : BOOL SwCalc::Str2Double( double& )
- * Beschreibung:
- * Erstellt : OK 07.06.94 12:56
- * Aenderung : JP 27.10.98
- ******************************************************************************/
-BOOL SwCalc::Str2Double( const String& rCommand, xub_StrLen& rCommandPos,
- double& rVal, const LocaleDataWrapper* pLclData )
+namespace
{
- const LocaleDataWrapper* pLclD = pLclData;
- if( !pLclD )
- pLclD = &SvtSysLocale().GetLocaleData();
+static bool
+lcl_Str2Double( const String& rCommand, xub_StrLen& rCommandPos, double& rVal,
+ const LocaleDataWrapper* const pLclData )
+{
+ OSL_ASSERT(pLclData);
const xub_Unicode nCurrCmdPos = rCommandPos;
rtl_math_ConversionStatus eStatus;
const sal_Unicode* pEnd;
rVal = rtl_math_uStringToDouble( rCommand.GetBuffer() + rCommandPos,
rCommand.GetBuffer() + rCommand.Len(),
- pLclD->getNumDecimalSep().GetChar(0),
- pLclD->getNumThousandSep().GetChar(0),
+ pLclData->getNumDecimalSep().GetChar(0),
+ pLclData->getNumThousandSep().GetChar(0),
&eStatus, &pEnd );
rCommandPos = static_cast<xub_StrLen>(pEnd - rCommand.GetBuffer());
- if( !pLclData && pLclD != &SvtSysLocale().GetLocaleData() )
- delete (LocaleDataWrapper*)pLclD;
-
return rtl_math_ConversionStatus_Ok == eStatus && nCurrCmdPos != rCommandPos;
}
-BOOL SwCalc::Str2Double( const String& rCommand, xub_StrLen& rCommandPos,
- double& rVal, SwDoc* pDoc )
+}
+
+/******************************************************************************
+ * Methode : BOOL SwCalc::Str2Double( double& )
+ * Beschreibung:
+ * Erstellt : OK 07.06.94 12:56
+ * Aenderung : JP 27.10.98
+ ******************************************************************************/
+bool SwCalc::Str2Double( const String& rCommand, xub_StrLen& rCommandPos,
+ double& rVal, const LocaleDataWrapper* const pLclData )
+{
+ const SvtSysLocale aSysLocale;
+ return lcl_Str2Double( rCommand, rCommandPos, rVal,
+ pLclData ? pLclData : aSysLocale.GetLocaleDataPtr() );
+}
+
+bool SwCalc::Str2Double( const String& rCommand, xub_StrLen& rCommandPos,
+ double& rVal, SwDoc* const pDoc )
{
- const LocaleDataWrapper* pLclD = &SvtSysLocale().GetLocaleData();
+ const SvtSysLocale aSysLocale;
+ ::std::auto_ptr<const LocaleDataWrapper> pLclD;
if( pDoc )
{
-
LanguageType eLang = GetDocAppScriptLang( *pDoc );
- if( eLang != SvxLocaleToLanguage( pLclD->getLocale() ) )
- pLclD = new LocaleDataWrapper(
+ if (eLang !=
+ SvxLocaleToLanguage(aSysLocale.GetLocaleData().getLocale()))
+ {
+ pLclD.reset( new LocaleDataWrapper(
::comphelper::getProcessServiceFactory(),
- SvxCreateLocale( eLang ) );
+ SvxCreateLocale( eLang ) ) );
+ }
}
- const xub_Unicode nCurrCmdPos = rCommandPos;
- rtl_math_ConversionStatus eStatus;
- const sal_Unicode* pEnd;
- rVal = rtl_math_uStringToDouble( rCommand.GetBuffer() + rCommandPos,
- rCommand.GetBuffer() + rCommand.Len(),
- pLclD->getNumDecimalSep().GetChar(0),
- pLclD->getNumThousandSep().GetChar(0),
- &eStatus, &pEnd );
- rCommandPos = static_cast<xub_StrLen>(pEnd - rCommand.GetBuffer());
-
- if( pLclD != &SvtSysLocale().GetLocaleData() )
- delete (LocaleDataWrapper*)pLclD;
+ bool const bRet = lcl_Str2Double( rCommand, rCommandPos, rVal,
+ (pLclD.get()) ? pLclD.get() : aSysLocale.GetLocaleDataPtr() );
- return rtl_math_ConversionStatus_Ok == eStatus && nCurrCmdPos != rCommandPos;
+ return bRet;
}
//------------------------------------------------------------------------------
diff --git a/sw/source/core/crsr/callnk.cxx b/sw/source/core/crsr/callnk.cxx
index bf06a19d83b0..37087c189355 100644
--- a/sw/source/core/crsr/callnk.cxx
+++ b/sw/source/core/crsr/callnk.cxx
@@ -196,6 +196,10 @@ SwCallLink::~SwCallLink()
{
const SwNodeIndex* pIndex = pFlyFrm->GetFmt()->GetCntnt().GetCntntIdx();
ASSERT( pIndex, "Fly ohne Cntnt" );
+
+ if (!pIndex)
+ return;
+
const SwNode& rStNd = pIndex->GetNode();
if( rStNd.EndOfSectionNode()->StartOfSectionIndex() > nNode ||
diff --git a/sw/source/core/crsr/crstrvl.cxx b/sw/source/core/crsr/crstrvl.cxx
index c11092c5fd9d..e16207f03fa0 100644
--- a/sw/source/core/crsr/crstrvl.cxx
+++ b/sw/source/core/crsr/crstrvl.cxx
@@ -484,10 +484,10 @@ BOOL SwCrsrShell::GotoNxtPrvTblFormula( BOOL bNext, BOOL bOnlyErrors )
{
const SfxPoolItem* pItem;
const SwTableBox* pTBox;
- USHORT n, nMaxItems = GetDoc()->GetAttrPool().GetItemCount( RES_BOXATR_FORMULA );
+ sal_uInt32 n, nMaxItems = GetDoc()->GetAttrPool().GetItemCount2( RES_BOXATR_FORMULA );
for( n = 0; n < nMaxItems; ++n )
- if( 0 != (pItem = GetDoc()->GetAttrPool().GetItem(
+ if( 0 != (pItem = GetDoc()->GetAttrPool().GetItem2(
RES_BOXATR_FORMULA, n ) ) &&
0 != (pTBox = ((SwTblBoxFormula*)pItem)->GetTableBox() ) &&
pTBox->GetSttNd() &&
@@ -556,10 +556,10 @@ BOOL SwCrsrShell::GotoNxtPrvTOXMark( BOOL bNext )
const SwCntntFrm* pCFrm;
const SwTxtNode* pTxtNd;
const SwTxtTOXMark* pTxtTOX;
- USHORT n, nMaxItems = GetDoc()->GetAttrPool().GetItemCount( RES_TXTATR_TOXMARK );
+ sal_uInt32 n, nMaxItems = GetDoc()->GetAttrPool().GetItemCount2( RES_TXTATR_TOXMARK );
for( n = 0; n < nMaxItems; ++n )
- if( 0 != (pItem = GetDoc()->GetAttrPool().GetItem(
+ if( 0 != (pItem = GetDoc()->GetAttrPool().GetItem2(
RES_TXTATR_TOXMARK, n ) ) &&
0 != (pTxtTOX = ((SwTOXMark*)pItem)->GetTxtTOXMark() ) &&
( pTxtNd = &pTxtTOX->GetTxtNode())->GetNodes().IsDocNodes() &&
@@ -717,8 +717,7 @@ BOOL SwCrsrShell::MoveFldType( const SwFieldType* pFldType, BOOL bNext,
SwFmtFld* pFmtFld = new SwFmtFld( SwDateTimeField(
(SwDateTimeFieldType*)pDoc->GetSysFldType( RES_DATETIMEFLD ) ) );
- pTxtFld = new SwTxtFld( *pFmtFld, rPos.nContent.GetIndex(),
- pDoc->IsClipBoard() );
+ pTxtFld = new SwTxtFld( *pFmtFld, rPos.nContent.GetIndex() );
pTxtFld->ChgTxtNode( pTNd );
}
diff --git a/sw/source/core/crsr/findtxt.cxx b/sw/source/core/crsr/findtxt.cxx
index 4a0697692975..ed4bcc089957 100644
--- a/sw/source/core/crsr/findtxt.cxx
+++ b/sw/source/core/crsr/findtxt.cxx
@@ -143,8 +143,7 @@ String& lcl_CleanStr( const SwTxtNode& rNd, xub_StrLen nStart,
// hinterher alle am Stringende (koenten ja 'normale' 0x7f drinstehen
BOOL bEmpty = RES_TXTATR_FIELD != pHt->Which() ||
!(static_cast<SwTxtFld const*>(pHt)
- ->GetFld().GetFld()->ExpandField(
- rNd.GetDoc()->IsClipBoard()).Len());
+ ->GetFld().GetFld()->ExpandField(true).Len());
if ( bEmpty && nStart == nAkt )
{
rArr.Insert( nAkt, rArr.Count() );
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index 2df835f06c12..d4de8d35a87e 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -100,7 +100,6 @@
#include <fldupde.hxx>
#include <swbaslnk.hxx>
#include <printdata.hxx>
-#include <swprtopt.hxx>
#include <cmdid.h> // fuer den dflt - Printer in SetJob
#include <statstr.hrc> // StatLine-String
#include <comcore.hrc>
@@ -1843,10 +1842,10 @@ void SwDoc::DocInfoChgd( )
const SwFmtRefMark* SwDoc::GetRefMark( const String& rName ) const
{
const SfxPoolItem* pItem;
- USHORT nMaxItems = GetAttrPool().GetItemCount( RES_TXTATR_REFMARK );
- for( USHORT n = 0; n < nMaxItems; ++n )
+ sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_REFMARK );
+ for( sal_uInt32 n = 0; n < nMaxItems; ++n )
{
- if( 0 == (pItem = GetAttrPool().GetItem( RES_TXTATR_REFMARK, n ) ))
+ if( 0 == (pItem = GetAttrPool().GetItem2( RES_TXTATR_REFMARK, n ) ))
continue;
const SwFmtRefMark* pFmtRef = (SwFmtRefMark*)pItem;
@@ -1865,10 +1864,10 @@ const SwFmtRefMark* SwDoc::GetRefMark( USHORT nIndex ) const
const SwTxtRefMark* pTxtRef;
const SwFmtRefMark* pRet = 0;
- USHORT nMaxItems = GetAttrPool().GetItemCount( RES_TXTATR_REFMARK );
- USHORT nCount = 0;
- for( USHORT n = 0; n < nMaxItems; ++n )
- if( 0 != (pItem = GetAttrPool().GetItem( RES_TXTATR_REFMARK, n )) &&
+ sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_REFMARK );
+ sal_uInt32 nCount = 0;
+ for( sal_uInt32 n = 0; n < nMaxItems; ++n )
+ if( 0 != (pItem = GetAttrPool().GetItem2( RES_TXTATR_REFMARK, n )) &&
0 != (pTxtRef = ((SwFmtRefMark*)pItem)->GetTxtRefMark()) &&
&pTxtRef->GetTxtNode().GetNodes() == &GetNodes() )
{
@@ -1891,10 +1890,10 @@ USHORT SwDoc::GetRefMarks( SvStringsDtor* pNames ) const
const SfxPoolItem* pItem;
const SwTxtRefMark* pTxtRef;
- USHORT nMaxItems = GetAttrPool().GetItemCount( RES_TXTATR_REFMARK );
- USHORT nCount = 0;
- for( USHORT n = 0; n < nMaxItems; ++n )
- if( 0 != (pItem = GetAttrPool().GetItem( RES_TXTATR_REFMARK, n )) &&
+ sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_REFMARK );
+ sal_uInt32 nCount = 0;
+ for( sal_uInt32 n = 0; n < nMaxItems; ++n )
+ if( 0 != (pItem = GetAttrPool().GetItem2( RES_TXTATR_REFMARK, n )) &&
0 != (pTxtRef = ((SwFmtRefMark*)pItem)->GetTxtRefMark()) &&
&pTxtRef->GetTxtNode().GetNodes() == &GetNodes() )
{
@@ -2135,9 +2134,9 @@ const SwFmtINetFmt* SwDoc::FindINetAttr( const String& rName ) const
const SwFmtINetFmt* pItem;
const SwTxtINetFmt* pTxtAttr;
const SwTxtNode* pTxtNd;
- USHORT n, nMaxItems = GetAttrPool().GetItemCount( RES_TXTATR_INETFMT );
+ sal_uInt32 n, nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_INETFMT );
for( n = 0; n < nMaxItems; ++n )
- if( 0 != (pItem = (SwFmtINetFmt*)GetAttrPool().GetItem(
+ if( 0 != (pItem = (SwFmtINetFmt*)GetAttrPool().GetItem2(
RES_TXTATR_INETFMT, n ) ) &&
pItem->GetName().Equals( rName ) &&
0 != ( pTxtAttr = pItem->GetTxtINetFmt()) &&
@@ -2451,7 +2450,7 @@ BOOL SwDoc::ConvertFieldsToText()
nWhich != RES_REFPAGEGETFLD&&
nWhich != RES_REFPAGESETFLD))
{
- String sText = pField->GetCntnt();
+ String sText = pField->ExpandField(true);
//database fields should not convert their command into text
if( RES_DBFLD == pCurType->Which() && !static_cast<const SwDBField*>(pField)->IsInitialized())
sText.Erase();
diff --git a/sw/source/core/doc/docbasic.cxx b/sw/source/core/doc/docbasic.cxx
index f52c7ad89dbf..37568933e522 100644
--- a/sw/source/core/doc/docbasic.cxx
+++ b/sw/source/core/doc/docbasic.cxx
@@ -167,9 +167,9 @@ USHORT SwDoc::CallEvent( USHORT nEvent, const SwCallMouseEvent& rCallEvent,
if( bCheckPtr )
{
const SfxPoolItem* pItem;
- USHORT n, nMaxItems = GetAttrPool().GetItemCount( RES_TXTATR_INETFMT );
+ sal_uInt32 n, nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_INETFMT );
for( n = 0; n < nMaxItems; ++n )
- if( 0 != (pItem = GetAttrPool().GetItem( RES_TXTATR_INETFMT, n ) )
+ if( 0 != (pItem = GetAttrPool().GetItem2( RES_TXTATR_INETFMT, n ) )
&& rCallEvent.PTR.pINetAttr == pItem )
{
bCheckPtr = FALSE; // als Flag missbrauchen
diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 0080694722ba..587c846667f4 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -305,7 +305,7 @@ namespace sw { namespace mark
MarkManager::MarkManager(SwDoc& rDoc)
: m_pDoc(&rDoc)
{ }
-
+#if OSL_DEBUG_LEVEL > 1
void MarkManager::dumpFieldmarks( ) const
{
const_iterator_t pIt = m_vFieldmarks.begin();
@@ -316,7 +316,7 @@ namespace sw { namespace mark
::rtl::OUStringToOString(str, RTL_TEXTENCODING_UTF8).getStr());
}
}
-
+#endif
::sw::mark::IMark* MarkManager::makeMark(const SwPaM& rPaM,
const ::rtl::OUString& rName,
const IDocumentMarkAccess::MarkType eType)
diff --git a/sw/source/core/doc/doccorr.cxx b/sw/source/core/doc/doccorr.cxx
index e567a52085be..0520a9b5c81c 100644
--- a/sw/source/core/doc/doccorr.cxx
+++ b/sw/source/core/doc/doccorr.cxx
@@ -73,9 +73,9 @@
namespace
{
- // find the relevant section in which the SwUnoCrsr may wander. returns NULL if
- // no restrictions apply
- const SwStartNode* lcl_FindUnoCrsrSection( const SwNode& rNode )
+ // find the relevant section in which the SwUnoCrsr may wander.
+ // returns NULL if no restrictions apply
+ static const SwStartNode* lcl_FindUnoCrsrSection( const SwNode& rNode )
{
const SwStartNode* pStartNode = rNode.StartOfSectionNode();
while( ( pStartNode != NULL ) &&
@@ -86,45 +86,28 @@ namespace
return pStartNode;
}
- static inline void lcl_PaMCorrAbs1(SwPaM * pPam,
- SwNode const * const pOldNode,
- const SwPosition& rNewPos,
- const xub_StrLen nOffset)
- {
- for(int nb = 0; nb < 2; ++nb)
- if(&((pPam)->GetBound(BOOL(nb)).nNode.GetNode()) == pOldNode)
- {
- (pPam)->GetBound(BOOL(nb)) = rNewPos;
- (pPam)->GetBound(BOOL(nb)).nContent += nOffset;
- }
- };
-
- static inline bool lcl_PaMCorrAbs2(SwPaM* pPam,
- const SwPosition& rNewPos,
- ULONG nSttNode,
- ULONG nEndNode)
+ static inline bool lcl_PosCorrAbs(SwPosition & rPos,
+ const SwPosition& rStart,
+ const SwPosition& rEnd,
+ const SwPosition& rNewPos)
{
- bool bRet = false;
-
- for(int nb = 0; nb < 2; ++nb)
- if((pPam)->GetBound(BOOL(nb)).nNode >= nSttNode &&
- (pPam)->GetBound(BOOL(nb)).nNode <= nEndNode)
- {
- (pPam)->GetBound(BOOL(nb)) = rNewPos;
- bRet = true;
- }
- return bRet;
+ if ((rStart <= rPos) && (rPos <= rEnd))
+ {
+ rPos = rNewPos;
+ return true;
+ }
+ return false;
};
- static inline void lcl_PaMCorrAbs3(SwPaM * pPam,
+ static inline bool lcl_PaMCorrAbs(SwPaM & rPam,
const SwPosition& rStart,
const SwPosition& rEnd,
const SwPosition& rNewPos)
{
- for(int nb = 0; nb < 2; ++nb)
- if(rStart <= (pPam)->GetBound(BOOL(nb)) &&
- (pPam)->GetBound(BOOL(nb)) <= rEnd )
- (pPam)->GetBound(BOOL(nb)) = rNewPos;
+ bool bRet = false;
+ bRet |= lcl_PosCorrAbs(rPam.GetBound(true ), rStart, rEnd, rNewPos);
+ bRet |= lcl_PosCorrAbs(rPam.GetBound(false), rStart, rEnd, rNewPos);
+ return bRet;
};
static inline void lcl_PaMCorrRel1(SwPaM * pPam,
@@ -143,119 +126,69 @@ namespace
}
}
-void PaMCorrAbs( const SwNodeIndex &rOldNode,
- const SwPosition &rNewPos,
- const xub_StrLen nOffset)
-{
- const SwNode* pOldNode = &rOldNode.GetNode();
- const SwPosition aNewPos( rNewPos );
- const SwDoc* pDoc = pOldNode->GetDoc();
- SwCrsrShell* pShell = pDoc->GetEditShell();
-
- if( pShell )
- {
- FOREACHSHELL_START( pShell )
- SwPaM *_pStkCrsr = PCURSH->GetStkCrsr();
- if( _pStkCrsr )
- do {
- lcl_PaMCorrAbs1( _pStkCrsr, pOldNode, aNewPos, nOffset );
- } while ( (_pStkCrsr != 0 ) &&
- ((_pStkCrsr=(SwPaM *)_pStkCrsr->GetNext()) != PCURSH->GetStkCrsr()) );
-
- FOREACHPAM_START( PCURSH->_GetCrsr() )
- lcl_PaMCorrAbs1( PCURCRSR, pOldNode, aNewPos, nOffset );
- FOREACHPAM_END()
-
- if( PCURSH->IsTableMode() )
- lcl_PaMCorrAbs1( PCURSH->GetTblCrs(), pOldNode, aNewPos, nOffset );
-
- FOREACHSHELL_END( pShell )
- }
-
- {
- SwUnoCrsrTbl& rTbl = (SwUnoCrsrTbl&)pDoc->GetUnoCrsrTbl();
- for( USHORT n = 0; n < rTbl.Count(); ++n )
- {
- FOREACHPAM_START( rTbl[ n ] )
- lcl_PaMCorrAbs1( PCURCRSR, pOldNode, aNewPos, nOffset );
- FOREACHPAM_END()
-
- SwUnoTableCrsr* pUnoTblCrsr =
- dynamic_cast<SwUnoTableCrsr*>(rTbl[ n ]);
- if( pUnoTblCrsr )
- {
- FOREACHPAM_START( &pUnoTblCrsr->GetSelRing() )
- lcl_PaMCorrAbs1( PCURCRSR, pOldNode, aNewPos, nOffset );
- FOREACHPAM_END()
- }
- }
- }
-}
-
-void PaMCorrAbs( const SwNodeIndex &rStartNode,
- const SwNodeIndex &rEndNode,
- const SwPosition &rNewPos )
+void PaMCorrAbs( const SwPaM& rRange,
+ const SwPosition& rNewPos )
{
- const ULONG nSttNode = rStartNode.GetIndex();
- const ULONG nEndNode = rEndNode.GetIndex();
- const SwPosition aNewPos( rNewPos );
- SwDoc* pDoc = rStartNode.GetNode().GetDoc();
+ SwPosition const aStart( *rRange.Start() );
+ SwPosition const aEnd( *rRange.End() );
+ SwPosition const aNewPos( rNewPos );
+ SwDoc *const pDoc = aStart.nNode.GetNode().GetDoc();
+ SwCrsrShell *const pShell = pDoc->GetEditShell();
- SwCrsrShell* pShell = pDoc->GetEditShell();
if( pShell )
{
FOREACHSHELL_START( pShell )
SwPaM *_pStkCrsr = PCURSH->GetStkCrsr();
if( _pStkCrsr )
do {
- lcl_PaMCorrAbs2( _pStkCrsr, aNewPos, nSttNode, nEndNode );
+ lcl_PaMCorrAbs( *_pStkCrsr, aStart, aEnd, aNewPos );
} while ( (_pStkCrsr != 0 ) &&
((_pStkCrsr=(SwPaM *)_pStkCrsr->GetNext()) != PCURSH->GetStkCrsr()) );
FOREACHPAM_START( PCURSH->_GetCrsr() )
- lcl_PaMCorrAbs2( PCURCRSR, aNewPos, nSttNode, nEndNode );
+ lcl_PaMCorrAbs( *PCURCRSR, aStart, aEnd, aNewPos );
FOREACHPAM_END()
if( PCURSH->IsTableMode() )
- lcl_PaMCorrAbs2( PCURSH->GetTblCrs(), aNewPos, nSttNode, nEndNode );
+ lcl_PaMCorrAbs( *PCURSH->GetTblCrs(), aStart, aEnd, aNewPos );
FOREACHSHELL_END( pShell )
}
-
{
- SwUnoCrsrTbl& rTbl = (SwUnoCrsrTbl&)pDoc->GetUnoCrsrTbl();
+ SwUnoCrsrTbl& rTbl = const_cast<SwUnoCrsrTbl&>(pDoc->GetUnoCrsrTbl());
+
for( USHORT n = 0; n < rTbl.Count(); ++n )
{
- bool bChange = false;
+ SwUnoCrsr *const pUnoCursor = rTbl[ n ];
- SwUnoCrsr* pUnoCursor = rTbl[ n ];
+ bool bChange = false; // has the UNO cursor been corrected?
// determine whether the UNO cursor will leave it's designated
// section
- bool bLeaveSection =
+ bool const bLeaveSection =
pUnoCursor->IsRemainInSection() &&
( lcl_FindUnoCrsrSection( aNewPos.nNode.GetNode() ) !=
lcl_FindUnoCrsrSection(
pUnoCursor->GetPoint()->nNode.GetNode() ) );
FOREACHPAM_START( pUnoCursor )
- bChange |= lcl_PaMCorrAbs2(PCURCRSR, aNewPos, nSttNode, nEndNode);
+ bChange |= lcl_PaMCorrAbs( *PCURCRSR, aStart, aEnd, aNewPos );
FOREACHPAM_END()
- SwUnoTableCrsr* pUnoTblCrsr =
- dynamic_cast<SwUnoTableCrsr*>(pUnoCursor);
+ SwUnoTableCrsr *const pUnoTblCrsr =
+ dynamic_cast<SwUnoTableCrsr *>(rTbl[ n ]);
if( pUnoTblCrsr )
{
FOREACHPAM_START( &pUnoTblCrsr->GetSelRing() )
bChange |=
- lcl_PaMCorrAbs2( PCURCRSR, aNewPos, nSttNode, nEndNode );
+ lcl_PaMCorrAbs( *PCURCRSR, aStart, aEnd, aNewPos );
FOREACHPAM_END()
}
// if a UNO cursor leaves its designated section, we must inform
// (and invalidate) said cursor
- if( bChange && bLeaveSection )
+ if (bChange && bLeaveSection)
{
// the UNO cursor has left its section. We need to notify it!
SwMsgPoolItem aHint( RES_UNOCURSOR_LEAVES_SECTION );
@@ -265,72 +198,31 @@ void PaMCorrAbs( const SwNodeIndex &rStartNode,
}
}
-
-void PaMCorrAbs( const SwPaM& rRange,
- const SwPosition& rNewPos )
-{
- SwPosition aStart( *rRange.Start() );
- SwPosition aEnd( *rRange.End() );
- SwPosition aNewPos( rNewPos );
- SwDoc* pDoc = aStart.nNode.GetNode().GetDoc();
- SwCrsrShell* pShell = pDoc->GetEditShell();
-
- if( pShell )
- {
- FOREACHSHELL_START( pShell )
- SwPaM *_pStkCrsr = PCURSH->GetStkCrsr();
- if( _pStkCrsr )
- do {
- lcl_PaMCorrAbs3( _pStkCrsr, aStart, aEnd, aNewPos );
- } while ( (_pStkCrsr != 0 ) &&
- ((_pStkCrsr=(SwPaM *)_pStkCrsr->GetNext()) != PCURSH->GetStkCrsr()) );
-
- FOREACHPAM_START( PCURSH->_GetCrsr() )
- lcl_PaMCorrAbs3( PCURCRSR, aStart, aEnd, aNewPos );
- FOREACHPAM_END()
-
- if( PCURSH->IsTableMode() )
- lcl_PaMCorrAbs3( PCURSH->GetTblCrs(), aStart, aEnd, aNewPos );
-
- FOREACHSHELL_END( pShell )
- }
- {
- SwUnoCrsrTbl& rTbl = (SwUnoCrsrTbl&)pDoc->GetUnoCrsrTbl();
- for( USHORT n = 0; n < rTbl.Count(); ++n )
- {
- FOREACHPAM_START( rTbl[ n ] )
- lcl_PaMCorrAbs3( PCURCRSR, aStart, aEnd, aNewPos );
- FOREACHPAM_END()
-
- SwUnoTableCrsr* pUnoTblCrsr =
- dynamic_cast<SwUnoTableCrsr*>(rTbl[ n ]);
- if( pUnoTblCrsr )
- {
- FOREACHPAM_START( &pUnoTblCrsr->GetSelRing() )
- lcl_PaMCorrAbs3( PCURCRSR, aStart, aEnd, aNewPos );
- FOREACHPAM_END()
- }
- }
- }
-}
-
void SwDoc::CorrAbs(const SwNodeIndex& rOldNode,
const SwPosition& rNewPos,
const xub_StrLen nOffset,
BOOL bMoveCrsr)
{
+ SwCntntNode *const pCntntNode( rOldNode.GetNode().GetCntntNode() );
+ SwPaM const aPam(rOldNode, 0,
+ rOldNode, (pCntntNode) ? pCntntNode->Len() : 0);
+ SwPosition aNewPos(rNewPos);
+ aNewPos.nContent += nOffset;
+
getIDocumentMarkAccess()->correctMarksAbsolute(rOldNode, rNewPos, nOffset);
- { // fix readlines
+ { // fix redlines
SwRedlineTbl& rTbl = *pRedlineTbl;
for( USHORT n = 0; n < rTbl.Count(); ++n )
{
// is on position ??
- lcl_PaMCorrAbs1( rTbl[ n ], &rOldNode.GetNode(), SwPosition(rNewPos), nOffset );
+ lcl_PaMCorrAbs(*rTbl[ n ], *aPam.Start(), *aPam.End(), aNewPos);
}
}
if(bMoveCrsr)
- ::PaMCorrAbs(rOldNode, rNewPos, nOffset);
+ {
+ ::PaMCorrAbs(aPam, aNewPos);
+ }
}
void SwDoc::CorrAbs(const SwPaM& rRange,
@@ -352,12 +244,15 @@ void SwDoc::CorrAbs(const SwNodeIndex& rStartNode,
const SwPosition& rNewPos,
BOOL bMoveCrsr)
{
- SwPosition aNewPos(rNewPos);
-
_DelBookmarks(rStartNode, rEndNode);
if(bMoveCrsr)
- ::PaMCorrAbs(rStartNode, rEndNode, rNewPos);
+ {
+ SwCntntNode *const pCntntNode( rEndNode.GetNode().GetCntntNode() );
+ SwPaM const aPam(rStartNode, 0,
+ rEndNode, (pCntntNode) ? pCntntNode->Len() : 0);
+ ::PaMCorrAbs(aPam, rNewPos);
+ }
}
diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index f4e80e9de52a..7e18e990d070 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -436,9 +436,8 @@ void SwDoc::UpdateTblFlds( SfxPoolItem* pHt )
"Was ist das fuer ein MessageItem?" );
SwFieldType* pFldType(0);
- USHORT i;
- for( i = 0; i < pFldTypes->Count(); ++i )
+ for (USHORT i = 0; i < pFldTypes->Count(); ++i)
{
if( RES_TABLEFLD == ( pFldType = (*pFldTypes)[i] )->Which() )
{
@@ -507,13 +506,15 @@ void SwDoc::UpdateTblFlds( SfxPoolItem* pHt )
// und dann noch alle Tabellen Box Formeln abklappern
const SfxPoolItem* pItem;
- USHORT nMaxItems = GetAttrPool().GetItemCount( RES_BOXATR_FORMULA );
- for( i = 0; i < nMaxItems; ++i )
- if( 0 != (pItem = GetAttrPool().GetItem( RES_BOXATR_FORMULA, i ) ) &&
+ sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_BOXATR_FORMULA );
+ for (sal_uInt32 i = 0; i < nMaxItems; ++i)
+ {
+ if( 0 != (pItem = GetAttrPool().GetItem2( RES_BOXATR_FORMULA, i ) ) &&
((SwTblBoxFormula*)pItem)->GetDefinedIn() )
{
((SwTblBoxFormula*)pItem)->ChangeState( pHt );
}
+ }
// alle Felder/Boxen sind jetzt invalide, also kann das Rechnen anfangen
@@ -608,8 +609,9 @@ void SwDoc::UpdateTblFlds( SfxPoolItem* pHt )
}
// dann berechene noch die Formeln an den Boxen
- for( i = 0; i < nMaxItems; ++i )
- if( 0 != (pItem = GetAttrPool().GetItem( RES_BOXATR_FORMULA, i ) ) &&
+ for (sal_uInt32 i = 0; i < nMaxItems; ++i )
+ {
+ if( 0 != (pItem = GetAttrPool().GetItem2( RES_BOXATR_FORMULA, i ) ) &&
((SwTblBoxFormula*)pItem)->GetDefinedIn() &&
!((SwTblBoxFormula*)pItem)->IsValid() )
{
@@ -685,6 +687,7 @@ void SwDoc::UpdateTblFlds( SfxPoolItem* pHt )
}
}
}
+ }
if( pCalc )
delete pCalc;
@@ -1732,7 +1735,6 @@ String lcl_DBDataToString(const SwDBData& rData)
void SwDoc::GetAllUsedDB( SvStringsDtor& rDBNameList,
const SvStringsDtor* pAllDBNames )
{
- USHORT n;
SvStringsDtor aUsedDBNames;
SvStringsDtor aAllDBNames;
@@ -1743,7 +1745,7 @@ void SwDoc::GetAllUsedDB( SvStringsDtor& rDBNameList,
}
SwSectionFmts& rArr = GetSections();
- for( n = rArr.Count(); n; )
+ for (USHORT n = rArr.Count(); n; )
{
SwSection* pSect = rArr[ --n ]->GetSection();
@@ -1757,10 +1759,10 @@ void SwDoc::GetAllUsedDB( SvStringsDtor& rDBNameList,
}
const SfxPoolItem* pItem;
- USHORT nMaxItems = GetAttrPool().GetItemCount( RES_TXTATR_FIELD );
- for( n = 0; n < nMaxItems; ++n )
+ sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_FIELD );
+ for (sal_uInt32 n = 0; n < nMaxItems; ++n)
{
- if( 0 == (pItem = GetAttrPool().GetItem( RES_TXTATR_FIELD, n ) ))
+ if( 0 == (pItem = GetAttrPool().GetItem2( RES_TXTATR_FIELD, n ) ))
continue;
const SwFmtFld* pFmtFld = (SwFmtFld*)pItem;
@@ -1916,10 +1918,9 @@ void SwDoc::ChangeDBFields( const SvStringsDtor& rOldNames,
aNewDBData.nCommandType = (short)rNewName.GetToken(2, DB_DELIM).ToInt32();
String sFormel;
- USHORT n;
SwSectionFmts& rArr = GetSections();
- for( n = rArr.Count(); n; )
+ for (USHORT n = rArr.Count(); n; )
{
SwSection* pSect = rArr[ --n ]->GetSection();
@@ -1932,11 +1933,11 @@ void SwDoc::ChangeDBFields( const SvStringsDtor& rOldNames,
}
const SfxPoolItem* pItem;
- USHORT nMaxItems = GetAttrPool().GetItemCount( RES_TXTATR_FIELD );
+ sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_FIELD );
- for( n = 0; n < nMaxItems; ++n )
+ for (sal_uInt32 n = 0; n < nMaxItems; ++n )
{
- if( 0 == (pItem = GetAttrPool().GetItem( RES_TXTATR_FIELD, n ) ))
+ if( 0 == (pItem = GetAttrPool().GetItem2( RES_TXTATR_FIELD, n ) ))
continue;
SwFmtFld* pFmtFld = (SwFmtFld*)pItem;
@@ -2329,9 +2330,8 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
SwSectionNode* pSectNd;
USHORT nArrStt = 0;
ULONG nSttCntnt = rDoc.GetNodes().GetEndOfExtras().GetIndex();
- USHORT n;
- for( n = rArr.Count(); n; )
+ for (USHORT n = rArr.Count(); n; )
{
SwSection* pSect = rArr[ --n ]->GetSection();
if( pSect && pSect->IsHidden() && pSect->GetCondition().Len() &&
@@ -2351,13 +2351,13 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
// erst alle anzeigen, damit die Frames vorhanden sind. Mit deren
// Position wird das BodyAnchor ermittelt.
// Dafuer erst den ContentBereich, dann die Sonderbereiche!!!
- for( n = nArrStt; n < aTmpArr.Count(); ++n )
+ for (USHORT n = nArrStt; n < aTmpArr.Count(); ++n)
{
pSectNd = rDoc.GetNodes()[ aTmpArr[ n ] ]->GetSectionNode();
ASSERT( pSectNd, "Wo ist mein SectionNode" );
pSectNd->GetSection().SetCondHidden( FALSE );
}
- for( n = 0; n < nArrStt; ++n )
+ for (USHORT n = 0; n < nArrStt; ++n)
{
pSectNd = rDoc.GetNodes()[ aTmpArr[ n ] ]->GetSectionNode();
ASSERT( pSectNd, "Wo ist mein SectionNode" );
@@ -2365,8 +2365,10 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
}
// so, erst jetzt alle sortiert in die Liste eintragen
- for( n = 0; n < aTmpArr.Count(); ++n )
+ for (USHORT n = 0; n < aTmpArr.Count(); ++n)
+ {
GetBodyNode( *rDoc.GetNodes()[ aTmpArr[ n ] ]->GetSectionNode() );
+ }
}
String sTrue( String::CreateFromAscii(
@@ -2378,10 +2380,10 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
USHORT nWhich, n;
const String* pFormel = 0;
const SfxPoolItem* pItem;
- USHORT nMaxItems = rDoc.GetAttrPool().GetItemCount( RES_TXTATR_FIELD );
+ sal_uInt32 nMaxItems = rDoc.GetAttrPool().GetItemCount2( RES_TXTATR_FIELD );
for( n = 0; n < nMaxItems; ++n )
{
- if( 0 == (pItem = rDoc.GetAttrPool().GetItem( RES_TXTATR_FIELD, n )) )
+ if( 0 == (pItem = rDoc.GetAttrPool().GetItem2( RES_TXTATR_FIELD, n )) )
continue;
const SwFmtFld* pFmtFld = (SwFmtFld*)pItem;
@@ -2464,24 +2466,26 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
{
SwDBData aDBData(((SwDBNumSetField*)pFld)->GetDBData(&rDoc));
- if( bIsDBMgr &&
- rDoc.GetNewDBMgr()->OpenDataSource( aDBData.sDataSource, aDBData.sCommand )&&
- GETFLD_ALL == eGetMode ||
- ( GETFLD_CALC & eGetMode &&
- ((SwDBNumSetField*)pFld)->IsCondValid()))
+ if (
+ (bIsDBMgr && rDoc.GetNewDBMgr()->OpenDataSource(aDBData.sDataSource, aDBData.sCommand)) &&
+ (GETFLD_ALL == eGetMode || (GETFLD_CALC & eGetMode && ((SwDBNumSetField*)pFld)->IsCondValid()))
+ )
+ {
pFormel = &pFld->GetPar1();
+ }
}
break;
case RES_DBNEXTSETFLD:
{
SwDBData aDBData(((SwDBNextSetField*)pFld)->GetDBData(&rDoc));
- if( bIsDBMgr &&
- rDoc.GetNewDBMgr()->OpenDataSource( aDBData.sDataSource, aDBData.sCommand )&&
- GETFLD_ALL == eGetMode ||
- ( GETFLD_CALC & eGetMode &&
- ((SwDBNextSetField*)pFld)->IsCondValid() ))
+ if (
+ (bIsDBMgr && rDoc.GetNewDBMgr()->OpenDataSource(aDBData.sDataSource, aDBData.sCommand)) &&
+ (GETFLD_ALL == eGetMode || (GETFLD_CALC & eGetMode && ((SwDBNextSetField*)pFld)->IsCondValid()))
+ )
+ {
pFormel = &pFld->GetPar1();
+ }
}
break;
}
diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx
index d971ac0c51fe..eba51c0354f8 100644
--- a/sw/source/core/doc/docfmt.cxx
+++ b/sw/source/core/doc/docfmt.cxx
@@ -1347,9 +1347,9 @@ void SwDoc::SetDefault( const SfxItemSet& rSet )
nOldWidth = ((SvxTabStopItem&)aOld.Get(RES_PARATR_TABSTOP))[ 0 ].GetTabPos();
int bChg = FALSE;
- USHORT nMaxItems = GetAttrPool().GetItemCount( RES_PARATR_TABSTOP );
- for( USHORT n = 0; n < nMaxItems; ++n )
- if( 0 != (pTmpItem = GetAttrPool().GetItem( RES_PARATR_TABSTOP, n ) ))
+ sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_PARATR_TABSTOP );
+ for( sal_uInt32 n = 0; n < nMaxItems; ++n )
+ if( 0 != (pTmpItem = GetAttrPool().GetItem2( RES_PARATR_TABSTOP, n ) ))
bChg |= lcl_SetNewDefTabStops( nOldWidth, nNewWidth,
*(SvxTabStopItem*)pTmpItem );
diff --git a/sw/source/core/doc/docftn.cxx b/sw/source/core/doc/docftn.cxx
index 61bab9fdd525..306f7b3dfcc8 100644
--- a/sw/source/core/doc/docftn.cxx
+++ b/sw/source/core/doc/docftn.cxx
@@ -333,10 +333,15 @@ void SwDoc::SetEndNoteInfo(const SwEndNoteInfo& rInfo)
}
BOOL bNumChg = rInfo.nFtnOffset != GetEndNoteInfo().nFtnOffset;
- BOOL bExtra = !bNumChg &&
- rInfo.aFmt.GetNumberingType() != GetEndNoteInfo().aFmt.GetNumberingType()||
- rInfo.GetPrefix() != GetEndNoteInfo().GetPrefix() ||
- rInfo.GetSuffix() != GetEndNoteInfo().GetSuffix();
+ // this seems to be an optimization: UpdateAllFtn() is only called
+ // if the offset changes; if the offset is the same,
+ // but type/prefix/suffix changes, just set new numbers.
+ bool const bExtra = !bNumChg &&
+ ( (rInfo.aFmt.GetNumberingType() !=
+ GetEndNoteInfo().aFmt.GetNumberingType())
+ || (rInfo.GetPrefix() != GetEndNoteInfo().GetPrefix())
+ || (rInfo.GetSuffix() != GetEndNoteInfo().GetSuffix())
+ );
BOOL bFtnDesc = rInfo.GetPageDesc( *this ) !=
GetEndNoteInfo().GetPageDesc( *this );
SwCharFmt *pOldChrFmt = GetEndNoteInfo().GetCharFmt( *this ),
diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index 1b3d5fe6eb55..ebd93bbfd692 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -835,8 +835,8 @@ void SwDoc::ClearDoc()
pFirstNd->SetAttr( SwFmtPageDesc( pDummyPgDsc ));
SwPosition aPos( *pFirstNd, SwIndex( pFirstNd ));
- ::PaMCorrAbs( aSttIdx, SwNodeIndex( GetNodes().GetEndOfContent() ),
- aPos );
+ SwPaM const tmpPaM(aSttIdx, SwNodeIndex(GetNodes().GetEndOfContent()));
+ ::PaMCorrAbs(tmpPaM, aPos);
}
GetNodes().Delete( aSttIdx,
diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index 1224c5c02f17..6ba37816b0dc 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -1092,7 +1092,23 @@ void SwDoc::SetNumRule( const SwPaM& rPam,
{
SvUShortsSort aResetAttrsArray;
aResetAttrsArray.Insert( RES_LR_SPACE );
- ResetAttrs( rPam, sal_True, &aResetAttrsArray );
+ // --> OD 2010-10-05 #i114929#
+ // On a selection setup a corresponding Point-and-Mark in order to get
+ // the indentation attribute reset on all paragraphs touched by the selection
+ if ( rPam.HasMark() &&
+ rPam.End()->nNode.GetNode().GetTxtNode() )
+ {
+ SwPaM aPam( rPam.Start()->nNode,
+ rPam.End()->nNode );
+ aPam.Start()->nContent = 0;
+ aPam.End()->nContent = rPam.End()->nNode.GetNode().GetTxtNode()->Len();
+ ResetAttrs( aPam, FALSE, &aResetAttrsArray );
+ }
+ else
+ {
+ ResetAttrs( rPam, FALSE, &aResetAttrsArray );
+ }
+ // <--
}
// <--
@@ -1104,22 +1120,27 @@ void SwDoc::SetNumRule( const SwPaM& rPam,
void SwDoc::SetCounted(const SwPaM & rPam, bool bCounted)
{
- // --> OD 2008-04-03 #refactorlists#
-// ULONG nStartPos = rPam.Start()->nNode.GetIndex();
-// ULONG nEndPos = rPam.End()->nNode.GetIndex();
-
-// for (ULONG n = nStartPos; n <= nEndPos; n++)
-// {
-// SwTxtNode * pNd = GetNodes()[n]->GetTxtNode();
-
-// if (pNd)
-// pNd->SetCountedInList(bCounted);
-// }
if ( bCounted )
{
SvUShortsSort aResetAttrsArray;
aResetAttrsArray.Insert( RES_PARATR_LIST_ISCOUNTED );
- ResetAttrs( rPam, sal_True, &aResetAttrsArray );
+ // --> OD 2010-10-05 #i114929#
+ // On a selection setup a corresponding Point-and-Mark in order to get
+ // the list-is-counted attribute reset on all paragraphs touched by the selection
+ if ( rPam.HasMark() &&
+ rPam.End()->nNode.GetNode().GetTxtNode() )
+ {
+ SwPaM aPam( rPam.Start()->nNode,
+ rPam.End()->nNode );
+ aPam.Start()->nContent = 0;
+ aPam.End()->nContent = rPam.End()->nNode.GetNode().GetTxtNode()->Len();
+ ResetAttrs( aPam, FALSE, &aResetAttrsArray );
+ }
+ else
+ {
+ ResetAttrs( rPam, FALSE, &aResetAttrsArray );
+ }
+ // <--
}
else
{
@@ -1128,30 +1149,6 @@ void SwDoc::SetCounted(const SwPaM & rPam, bool bCounted)
}
}
-//void SwDoc::ReplaceNumRule(const SwPaM & rPaM, const SwNumRule & rNumRule)
-//{
-// if (DoesUndo())
-// StartUndo(UNDO_START, NULL);
-
-// ULONG nStt = rPaM.Start()->nNode.GetIndex();
-// ULONG nEnd = rPaM.End()->nNode.GetIndex();
-
-// for (ULONG n = nStt; n <= nEnd; n++)
-// {
-// SwTxtNode * pCNd = GetNodes()[n]->GetTxtNode();
-
-// if (pCNd && NULL != pCNd->GetNumRule())
-// {
-// SwPaM aPam(*pCNd);
-
-// InsertPoolItem(aPam, SwNumRuleItem(rNumRule.GetName()), 0);
-// }
-// }
-
-// if (DoesUndo())
-// EndUndo(UNDO_START, NULL);
-//}
-
void SwDoc::SetNumRuleStart( const SwPosition& rPos, BOOL bFlag )
{
SwTxtNode* pTxtNd = rPos.nNode.GetNode().GetTxtNode();
diff --git a/sw/source/core/doc/doctxm.cxx b/sw/source/core/doc/doctxm.cxx
index 58b3e084cf7a..e144c47ee9a1 100644
--- a/sw/source/core/doc/doctxm.cxx
+++ b/sw/source/core/doc/doctxm.cxx
@@ -110,9 +110,9 @@ USHORT SwDoc::GetTOIKeys( SwTOIKeyType eTyp, SvStringsSort& rArr ) const
const SwTxtTOXMark* pMark;
const SfxPoolItem* pItem;
const SwTOXType* pTOXType;
- USHORT i, nMaxItems = GetAttrPool().GetItemCount( RES_TXTATR_TOXMARK );
+ sal_uInt32 i, nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_TOXMARK );
for( i = 0; i < nMaxItems; ++i )
- if( 0 != (pItem = GetAttrPool().GetItem( RES_TXTATR_TOXMARK, i ) ) &&
+ if( 0 != (pItem = GetAttrPool().GetItem2( RES_TXTATR_TOXMARK, i ) ) &&
0!= ( pTOXType = ((SwTOXMark*)pItem)->GetTOXType()) &&
TOX_INDEX == pTOXType->GetType() &&
0 != ( pMark = ((SwTOXMark*)pItem)->GetTxtTOXMark() ) &&
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index bb10e9c1941b..e967e7f33fa8 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -71,9 +71,7 @@
#include <poolfmt.hxx>
#include <mdiexp.hxx>
#include <swwait.hxx>
-#ifndef _COMCORE_HRC
#include <comcore.hrc>
-#endif
#include <accessibilityoptions.hxx>
#include <com/sun/star/embed/EmbedMisc.hpp>
#include <com/sun/star/embed/EmbedStates.hpp>
@@ -266,7 +264,7 @@ void lcl_ClearArea( const SwFrm &rFrm,
|*
*************************************************************************/
-void SwNoTxtFrm::Paint( const SwRect &rRect, const SwPrtOptions * /*pPrintData*/ ) const
+void SwNoTxtFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
{
if ( Frm().IsEmpty() )
return;
diff --git a/sw/source/core/doc/visiturl.cxx b/sw/source/core/doc/visiturl.cxx
index 0bea7c73f65b..322d27d7a859 100644
--- a/sw/source/core/doc/visiturl.cxx
+++ b/sw/source/core/doc/visiturl.cxx
@@ -71,9 +71,9 @@ void SwURLStateChanged::Notify( SfxBroadcaster& , const SfxHint& rHint )
const SwFmtINetFmt* pItem;
const SwTxtINetFmt* pTxtAttr;
const SwTxtNode* pTxtNd;
- USHORT n, nMaxItems = pDoc->GetAttrPool().GetItemCount( RES_TXTATR_INETFMT );
+ sal_uInt32 n, nMaxItems = pDoc->GetAttrPool().GetItemCount2( RES_TXTATR_INETFMT );
for( n = 0; n < nMaxItems; ++n )
- if( 0 != (pItem = (SwFmtINetFmt*)pDoc->GetAttrPool().GetItem(
+ if( 0 != (pItem = (SwFmtINetFmt*)pDoc->GetAttrPool().GetItem2(
RES_TXTATR_INETFMT, n ) ) &&
( pItem->GetValue() == sURL ||
( sBkmk.Len() && pItem->GetValue() == sBkmk )) &&
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index f0683ae700a5..588ef88f7740 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -2126,9 +2126,10 @@ BOOL SwDoc::DeleteRowCol( const SwSelBoxes& rBoxes, bool bColumn )
*aSavePaM.GetMark() = SwPosition( *pTblNd );
aSavePaM.Move( fnMoveBackward, fnGoNode );
}
- ::PaMCorrAbs( SwNodeIndex( *pTblNd ),
- SwNodeIndex( *pTblNd->EndOfSectionNode() ),
- *aSavePaM.GetMark() );
+ {
+ SwPaM const tmpPaM(*pTblNd, *pTblNd->EndOfSectionNode());
+ ::PaMCorrAbs(tmpPaM, *aSavePaM.GetMark());
+ }
// harte SeitenUmbrueche am nachfolgenden Node verschieben
BOOL bSavePageBreak = FALSE, bSavePageDesc = FALSE;
@@ -2182,9 +2183,10 @@ BOOL SwDoc::DeleteRowCol( const SwSelBoxes& rBoxes, bool bColumn )
*aSavePaM.GetMark() = SwPosition( *pTblNd );
aSavePaM.Move( fnMoveBackward, fnGoNode );
}
- ::PaMCorrAbs( SwNodeIndex( *pTblNd ),
- SwNodeIndex( *pTblNd->EndOfSectionNode() ),
- *aSavePaM.GetMark() );
+ {
+ SwPaM const tmpPaM(*pTblNd, *pTblNd->EndOfSectionNode());
+ ::PaMCorrAbs(tmpPaM, *aSavePaM.GetMark());
+ }
// harte SeitenUmbrueche am nachfolgenden Node verschieben
SwCntntNode* pNextNd = GetNodes()[ pTblNd->EndOfSectionIndex()+1 ]->GetCntntNode();
diff --git a/sw/source/core/docnode/node.cxx b/sw/source/core/docnode/node.cxx
index f1ab04ed0c09..1eb673f241d4 100644
--- a/sw/source/core/docnode/node.cxx
+++ b/sw/source/core/docnode/node.cxx
@@ -740,9 +740,9 @@ const SwPageDesc* SwNode::FindPageDesc( BOOL bCalcLay,
SwFindNearestNode aInfo( *pNd );
// dann ueber alle Nodes aller PageDesc
const SfxPoolItem* pItem;
- USHORT i, nMaxItems = pDoc->GetAttrPool().GetItemCount( RES_PAGEDESC );
+ sal_uInt32 i, nMaxItems = pDoc->GetAttrPool().GetItemCount2( RES_PAGEDESC );
for( i = 0; i < nMaxItems; ++i )
- if( 0 != (pItem = pDoc->GetAttrPool().GetItem( RES_PAGEDESC, i ) ) &&
+ if( 0 != (pItem = pDoc->GetAttrPool().GetItem2( RES_PAGEDESC, i ) ) &&
((SwFmtPageDesc*)pItem)->GetDefinedIn() )
{
const SwModify* pMod = ((SwFmtPageDesc*)pItem)->GetDefinedIn();
diff --git a/sw/source/core/edit/edattr.cxx b/sw/source/core/edit/edattr.cxx
index 31c4a7dfea3e..f1f288f99d06 100644
--- a/sw/source/core/edit/edattr.cxx
+++ b/sw/source/core/edit/edattr.cxx
@@ -457,7 +457,7 @@ BOOL lcl_IsNoEndTxtAttrAtPos( const SwTxtNode& rTNd, xub_StrLen nPos,
const SwField* const pFld = pAttr->GetFld().GetFld();
if (pFld)
{
- sExp += pFld->ExpandField(rTNd.GetDoc()->IsClipBoard());
+ sExp += pFld->ExpandField(true);
}
}
}
diff --git a/sw/source/core/edit/edfld.cxx b/sw/source/core/edit/edfld.cxx
index 1e4f699fa203..aa84aa480121 100644
--- a/sw/source/core/edit/edfld.cxx
+++ b/sw/source/core/edit/edfld.cxx
@@ -224,8 +224,7 @@ void SwEditShell::FieldToText( SwFieldType* pType )
*pFmtFld->GetTxtFld()->GetStart() );
// Feldinhalt durch Text ersetzen
- String const aEntry(
- pFmtFld->GetFld()->ExpandField(GetDoc()->IsClipBoard()) );
+ String const aEntry( pFmtFld->GetFld()->ExpandField(true) );
pPaM->SetMark();
pPaM->Move( fnMoveForward );
GetDoc()->DeleteRange( *pPaM );
@@ -342,11 +341,11 @@ SwTxtFld* lcl_FindInputFld( SwDoc* pDoc, SwField& rFld )
((SwSetExpField&)rFld).GetInputFlag() ) )
{
const SfxPoolItem* pItem;
- USHORT n, nMaxItems =
- pDoc->GetAttrPool().GetItemCount( RES_TXTATR_FIELD );
+ sal_uInt32 n, nMaxItems =
+ pDoc->GetAttrPool().GetItemCount2( RES_TXTATR_FIELD );
for( n = 0; n < nMaxItems; ++n )
if( 0 != (pItem =
- pDoc->GetAttrPool().GetItem( RES_TXTATR_FIELD, n ) )
+ pDoc->GetAttrPool().GetItem2( RES_TXTATR_FIELD, n ) )
&& ((SwFmtFld*)pItem)->GetFld() == &rFld )
{
pTFld = ((SwFmtFld*)pItem)->GetTxtFld();
diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx
index 32ab9fa07e94..7a143a2d29d9 100644
--- a/sw/source/core/edit/editsh.cxx
+++ b/sw/source/core/edit/editsh.cxx
@@ -1184,32 +1184,6 @@ void SwEditShell::TransliterateText( sal_uInt32 nType )
EndAllAction();
}
-void SwEditShell::TransliterateText( const String& rModuleName )
-{
- utl::TransliterationWrapper aTrans(::comphelper::getProcessServiceFactory(), 0 );
- aTrans.loadModuleByImplName( rModuleName, LANGUAGE_SYSTEM );
- StartAllAction();
- SET_CURR_SHELL( this );
-
- SwPaM* pCrsr = GetCrsr();
- if( pCrsr->GetNext() != pCrsr )
- {
- GetDoc()->StartUndo(UNDO_EMPTY, NULL);
- FOREACHPAM_START( this )
-
- if( PCURCRSR->HasMark() )
- GetDoc()->TransliterateText( *PCURCRSR, aTrans );
-
- FOREACHPAM_END()
- GetDoc()->EndUndo(UNDO_EMPTY, NULL);
- }
- else
- GetDoc()->TransliterateText( *pCrsr, aTrans );
-
- EndAllAction();
-}
-
-
void SwEditShell::CountWords( SwDocStat& rStat ) const
{
FOREACHPAM_START( this )
diff --git a/sw/source/core/edit/edtox.cxx b/sw/source/core/edit/edtox.cxx
index 230e45f71079..b1188588fe4d 100644
--- a/sw/source/core/edit/edtox.cxx
+++ b/sw/source/core/edit/edtox.cxx
@@ -234,25 +234,6 @@ BOOL SwEditShell::UpdateTableOf( const SwTOXBase& rTOX, const SfxItemSet* pSet )
return bRet;
}
-BOOL SwEditShell::UpdateField( sw::mark::IFieldmark &fieldBM)
-{
-// SwDocShell* pDocSh = pDoc->GetDocShell();
- //@TODO implement me...; add undo etc...
- if ( pDoc && fieldBM.IsExpanded( ) ) {
- SwPosition aSttPos = fieldBM.GetMarkStart( );
- aSttPos.nContent++;
-
- SwPosition aEndPos = fieldBM.GetMarkEnd( );
- aEndPos.nContent--;
-
- SwPaM aPaM( aSttPos, aEndPos );
- pDoc->DeleteRange(aPaM);
- pDoc->InsertString(aPaM, String::CreateFromAscii("Implement me ;-)") );
- }
- return TRUE;
-}
-
-
/*--------------------------------------------------------------------
Beschreibung: Aktuelles Verzeichnis vor oder in dem der Cursor
steht
diff --git a/sw/source/core/fields/cellfml.cxx b/sw/source/core/fields/cellfml.cxx
index 182ed12d6ddd..36b981b90752 100644
--- a/sw/source/core/fields/cellfml.cxx
+++ b/sw/source/core/fields/cellfml.cxx
@@ -203,7 +203,7 @@ double SwTableBox::GetValue( SwTblCalcPara& rCalcPara ) const
break;
default:
- String const value(pFld->ExpandField(pDoc->IsClipBoard()));
+ String const value(pFld->ExpandField(true));
nRet = rCalcPara.rCalc.Calculate(value).GetDouble();
}
}
diff --git a/sw/source/core/fields/dbfld.cxx b/sw/source/core/fields/dbfld.cxx
index 15c44286921c..ec3f5200ba67 100644
--- a/sw/source/core/fields/dbfld.cxx
+++ b/sw/source/core/fields/dbfld.cxx
@@ -28,7 +28,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
#include <float.h>
#include <sfx2/app.hxx>
#include <svl/zforlist.hxx>
@@ -44,15 +43,11 @@
#include <pam.hxx>
#include <ndtxt.hxx>
#include <dbfld.hxx>
-#ifndef _DBMGR_HXX
#include <dbmgr.hxx>
-#endif
#include <docfld.hxx>
#include <expfld.hxx>
#include <txtatr.hxx>
-#ifndef _UNOFLDMID_H
#include <unofldmid.h>
-#endif
using namespace ::com::sun::star::sdbc;
@@ -281,27 +276,23 @@ SwField* SwDBField::Copy() const
return pTmp;
}
-String SwDBField::GetCntnt(BOOL bName) const
+String SwDBField::GetFieldName() const
{
- if(bName)
- {
- const String& rDBName = ((SwDBFieldType*)GetTyp())->GetName();
+ const String& rDBName = static_cast<SwDBFieldType*>(GetTyp())->GetName();
//TODO/CLEANUP
//Funktion tut nichts!
//String sContent( SFX_APP()->LocalizeDBName(INI2NATIONAL,
// rDBName.GetToken(0, DB_DELIM)));
- String sContent( rDBName.GetToken(0, DB_DELIM) );
+ String sContent( rDBName.GetToken(0, DB_DELIM) );
- if (sContent.Len() > 1)
- {
- sContent += DB_DELIM;
- sContent += rDBName.GetToken(1, DB_DELIM);
- sContent += DB_DELIM;
- sContent += rDBName.GetToken(2, DB_DELIM);
- }
- return lcl_DBTrennConv(sContent);
+ if (sContent.Len() > 1)
+ {
+ sContent += DB_DELIM;
+ sContent += rDBName.GetToken(1, DB_DELIM);
+ sContent += DB_DELIM;
+ sContent += rDBName.GetToken(2, DB_DELIM);
}
- return Expand();
+ return lcl_DBTrennConv(sContent);
}
//------------------------------------------------------------------------------
@@ -547,19 +538,15 @@ void SwDBNameInfField::SetDBData(const SwDBData & rDBData)
//------------------------------------------------------------------------------
-String SwDBNameInfField::GetCntnt(BOOL bName) const
+String SwDBNameInfField::GetFieldName() const
{
- String sStr(SwField::GetCntnt(bName));
-
- if(bName)
+ String sStr( SwField::GetFieldName() );
+ if (aDBData.sDataSource.getLength())
{
- if (aDBData.sDataSource.getLength())
- {
- sStr += ':';
- sStr += String(aDBData.sDataSource);
- sStr += DB_DELIM;
- sStr += String(aDBData.sCommand);
- }
+ sStr += ':';
+ sStr += String(aDBData.sDataSource);
+ sStr += DB_DELIM;
+ sStr += String(aDBData.sCommand);
}
return lcl_DBTrennConv(sStr);
}
diff --git a/sw/source/core/fields/docufld.cxx b/sw/source/core/fields/docufld.cxx
index fba7115075e8..f6b727987cd3 100644
--- a/sw/source/core/fields/docufld.cxx
+++ b/sw/source/core/fields/docufld.cxx
@@ -171,9 +171,9 @@ void SwPageNumberFieldType::ChangeExpansion( SwDoc* pDoc, sal_uInt16 nPage,
// es NIE zurueck
const SfxItemPool &rPool = pDoc->GetAttrPool();
const SwFmtPageDesc *pDesc;
- sal_uInt16 nMaxItems = rPool.GetItemCount( RES_PAGEDESC );
- for( sal_uInt16 n = 0; n < nMaxItems; ++n )
- if( 0 != (pDesc = (SwFmtPageDesc*)rPool.GetItem( RES_PAGEDESC, n ) )
+ sal_uInt32 nMaxItems = rPool.GetItemCount2( RES_PAGEDESC );
+ for( sal_uInt32 n = 0; n < nMaxItems; ++n )
+ if( 0 != (pDesc = (SwFmtPageDesc*)rPool.GetItem2( RES_PAGEDESC, n ) )
&& pDesc->GetNumOffset() && pDesc->GetDefinedIn() )
{
if( pDesc->GetDefinedIn()->ISA( SwCntntNode ))
@@ -1198,30 +1198,30 @@ String SwDocInfoField::Expand() const
/* ---------------------------------------------------------------------------
---------------------------------------------------------------------------*/
-String SwDocInfoField::GetCntnt(sal_Bool bName) const
+String SwDocInfoField::GetFieldName() const
{
- if ( bName )
- {
- String aStr(SwFieldType::GetTypeStr(GetTypeId()));
- aStr += ':';
+ String aStr(SwFieldType::GetTypeStr(GetTypeId()));
+ aStr += ':';
- sal_uInt16 nSub = nSubType & 0xff;
+ sal_uInt16 const nSub = nSubType & 0xff;
- switch(nSub)
- {
- case DI_CUSTOM:
- aStr += aName;
- break;
+ switch (nSub)
+ {
+ case DI_CUSTOM:
+ aStr += aName;
+ break;
- default:
- aStr += *ViewShell::GetShellRes()->aDocInfoLst[ nSub - DI_SUBTYPE_BEGIN ];
- break;
- }
- if( IsFixed() )
- ( aStr += ' ' ) += ViewShell::GetShellRes()->aFixedStr;
- return aStr;
+ default:
+ aStr += *ViewShell::GetShellRes()
+ ->aDocInfoLst[ nSub - DI_SUBTYPE_BEGIN ];
+ break;
}
- return Expand();
+ if (IsFixed())
+ {
+ aStr += ' ';
+ aStr += ViewShell::GetShellRes()->aFixedStr;
+ }
+ return aStr;
}
/* ---------------------------------------------------------------------------
@@ -1517,25 +1517,20 @@ void SwHiddenTxtField::Evaluate(SwDoc* pDoc)
/* ---------------------------------------------------------------------------
---------------------------------------------------------------------------*/
-String SwHiddenTxtField::GetCntnt(sal_Bool bName) const
+String SwHiddenTxtField::GetFieldName() const
{
- if ( bName )
- {
- String aStr(SwFieldType::GetTypeStr(nSubType));
- aStr += ' ';
- aStr += aCond;
- aStr += ' ';
- aStr += aTRUETxt;
+ String aStr(SwFieldType::GetTypeStr(nSubType));
+ aStr += ' ';
+ aStr += aCond;
+ aStr += ' ';
+ aStr += aTRUETxt;
- if(nSubType == TYP_CONDTXTFLD)
- {
-static char __READONLY_DATA cTmp[] = " : ";
- aStr.AppendAscii(cTmp);
- aStr += aFALSETxt;
- }
- return aStr;
+ if (nSubType == TYP_CONDTXTFLD)
+ {
+ aStr.AppendAscii(" : ");
+ aStr += aFALSETxt;
}
- return Expand();
+ return aStr;
}
/* ---------------------------------------------------------------------------
diff --git a/sw/source/core/fields/expfld.cxx b/sw/source/core/fields/expfld.cxx
index 25b0cf932e83..e55c8598cf90 100644
--- a/sw/source/core/fields/expfld.cxx
+++ b/sw/source/core/fields/expfld.cxx
@@ -305,18 +305,15 @@ String SwGetExpField::Expand() const
return sExpand;
}
-String SwGetExpField::GetCntnt(BOOL bName) const
-{
- if ( bName )
- {
- String aStr( SwFieldType::GetTypeStr( static_cast<USHORT>(nsSwGetSetExpType::GSE_FORMULA & nSubType
- ? TYP_FORMELFLD
- : TYP_GETFLD ) ));
- aStr += ' ';
- aStr += GetFormula();
- return aStr;
- }
- return Expand();
+String SwGetExpField::GetFieldName() const
+{
+ String aStr( SwFieldType::GetTypeStr(
+ static_cast<USHORT>(((nsSwGetSetExpType::GSE_FORMULA & nSubType) != 0)
+ ? TYP_FORMELFLD
+ : TYP_GETFLD ) ));
+ aStr += ' ';
+ aStr += GetFormula();
+ return aStr;
}
SwField* SwGetExpField::Copy() const
@@ -834,35 +831,28 @@ String SwSetExpField::Expand() const
}
/*--------------------------------------------------------------------
- Beschreibung: liefert den Namen oder den Inhalt
+ @return the field name
--------------------------------------------------------------------*/
-String SwSetExpField::GetCntnt(BOOL bName) const
+String SwSetExpField::GetFieldName() const
{
- if( bName )
- {
- USHORT nStrType;
-
- if( IsSequenceFld() )
- nStrType = TYP_SEQFLD;
- else if( bInput )
- nStrType = TYP_SETINPFLD;
- else
- nStrType = TYP_SETFLD;
+ SwFldTypesEnum const nStrType( (IsSequenceFld())
+ ? TYP_SEQFLD
+ : (bInput)
+ ? TYP_SETINPFLD
+ : TYP_SETFLD );
- String aStr( SwFieldType::GetTypeStr( nStrType ) );
- aStr += ' ';
- aStr += GetTyp()->GetName();
+ String aStr( SwFieldType::GetTypeStr( static_cast<USHORT>(nStrType) ) );
+ aStr += ' ';
+ aStr += GetTyp()->GetName();
- if( TYP_SEQFLD != nStrType )
- {
- // Sequence nicht die Formel ausgeben
- aStr.AppendAscii( RTL_CONSTASCII_STRINGPARAM( " = " ));
- aStr += GetFormula();
- }
- return aStr;
+ // Sequence: without formula
+ if (TYP_SEQFLD != nStrType)
+ {
+ aStr.AppendAscii( RTL_CONSTASCII_STRINGPARAM( " = " ) );
+ aStr += GetFormula();
}
- return Expand();
+ return aStr;
}
SwField* SwSetExpField::Copy() const
@@ -1021,20 +1011,16 @@ SwInputField::SwInputField(SwInputFieldType* pTyp, const String& rContent,
{
}
-String SwInputField::GetCntnt(BOOL bName) const
+String SwInputField::GetFieldName() const
{
- if ( bName )
+ String aStr(SwField::GetFieldName());
+ if ((nSubType & 0x00ff) == INP_USR)
{
- String aStr(SwField::GetCntnt(bName));
- if ((nSubType & 0x00ff) == INP_USR)
- {
- aStr += GetTyp()->GetName();
- aStr += ' ';
- aStr += aContent;
- }
- return aStr;
+ aStr += GetTyp()->GetName();
+ aStr += ' ';
+ aStr += aContent;
}
- return Expand();
+ return aStr;
}
SwField* SwInputField::Copy() const
diff --git a/sw/source/core/fields/fldbas.cxx b/sw/source/core/fields/fldbas.cxx
index e35c27d0464b..6ffe675c760a 100644
--- a/sw/source/core/fields/fldbas.cxx
+++ b/sw/source/core/fields/fldbas.cxx
@@ -28,16 +28,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
-// #include <math.h>
#include <float.h>
#include <rtl/math.hxx>
#include <svl/zforlist.hxx>
#include <svl/zformat.hxx>
#include <editeng/unolingu.hxx>
-#ifndef _UNOFLDMID_H
#include <unofldmid.h>
-#endif
#include <doc.hxx>
#include <editsh.hxx>
#include <frame.hxx>
@@ -53,9 +49,7 @@
#include <expfld.hxx>
#include <shellres.hxx>
#include <calc.hxx>
-#ifndef _COMCORE_HRC
#include <comcore.hrc>
-#endif
#include <math.h>
#include <float.h>
@@ -269,21 +263,20 @@ USHORT SwField::GetTypeId() const
Beschreibung: liefert den Namen oder den Inhalt
--------------------------------------------------------------------*/
-String SwField::GetCntnt( BOOL bName ) const
+String SwField::GetFieldName() const
{
- String sRet;
- if( bName )
+ USHORT nTypeId = GetTypeId();
+ if (RES_DATETIMEFLD == GetTyp()->Which())
{
- USHORT nTypeId = GetTypeId();
- if( RES_DATETIMEFLD == GetTyp()->Which() )
- nTypeId = static_cast<USHORT>(GetSubType() & DATEFLD ? TYP_DATEFLD : TYP_TIMEFLD);
-
- sRet = SwFieldType::GetTypeStr( nTypeId );
- if( IsFixed() )
- ( sRet += ' ' ) += ViewShell::GetShellRes()->aFixedStr;
+ nTypeId = static_cast<USHORT>(
+ ((GetSubType() & DATEFLD) != 0) ? TYP_DATEFLD : TYP_TIMEFLD);
+ }
+ String sRet = SwFieldType::GetTypeStr( nTypeId );
+ if (IsFixed())
+ {
+ sRet += ' ';
+ sRet += ViewShell::GetShellRes()->aFixedStr;
}
- else
- sRet = Expand();
return sRet;
}
@@ -434,9 +427,9 @@ BOOL SwField::IsFixed() const
return bRet;
}
-String SwField::ExpandField(bool const bInClipboard) const
+String SwField::ExpandField(bool const bCached) const
{
- if (!bInClipboard) // #i85766# do not expand fields in clipboard documents
+ if (!bCached) // #i85766# do not expand fields in clipboard documents
{
m_Cache = Expand();
}
@@ -447,7 +440,8 @@ SwField * SwField::CopyField() const
{
SwField *const pNew = Copy();
// #i85766# cache expansion of source (for clipboard)
- pNew->m_Cache = Expand();
+ // use this->cache, not this->Expand(): only text formatting calls Expand()
+ pNew->m_Cache = m_Cache;
return pNew;
}
diff --git a/sw/source/core/fields/macrofld.cxx b/sw/source/core/fields/macrofld.cxx
index 70a0d2dcf689..f77bcf1fd457 100644
--- a/sw/source/core/fields/macrofld.cxx
+++ b/sw/source/core/fields/macrofld.cxx
@@ -28,20 +28,19 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
#include <hintids.hxx>
#include <doc.hxx>
#include <docufld.hxx>
-#ifndef _UNOFLDMID_H
#include <unofldmid.h>
-#endif
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/uri/XUriReferenceFactory.hpp>
#include <com/sun/star/uri/XVndSunStarScriptUrl.hpp>
#include <comphelper/processfactory.hxx>
+
using namespace ::com::sun::star;
using ::rtl::OUString;
+
/*--------------------------------------------------------------------
Beschreibung: MacroFeldtypen
--------------------------------------------------------------------*/
@@ -79,16 +78,12 @@ SwField* SwMacroField::Copy() const
return new SwMacroField((SwMacroFieldType*)GetTyp(), aMacro, aText);
}
-String SwMacroField::GetCntnt(BOOL bName) const
+String SwMacroField::GetFieldName() const
{
- if(bName)
- {
- String aStr(GetTyp()->GetName());
- aStr += ' ';
- aStr += aMacro;
- return aStr;
- }
- return Expand();
+ String aStr(GetTyp()->GetName());
+ aStr += ' ';
+ aStr += aMacro;
+ return aStr;
}
String SwMacroField::GetLibName() const
diff --git a/sw/source/core/fields/reffld.cxx b/sw/source/core/fields/reffld.cxx
index 8b03b7e54664..1af598eb4e46 100644
--- a/sw/source/core/fields/reffld.cxx
+++ b/sw/source/core/fields/reffld.cxx
@@ -62,18 +62,12 @@
// <--
#include <ftnidx.hxx>
#include <viewsh.hxx>
-#ifndef _UNOFLDMID_H
#include <unofldmid.h>
-#endif
#include <SwStyleNameMapper.hxx>
#include <shellres.hxx>
#include <poolfmt.hxx>
-#ifndef _POOLFMT_HRC
#include <poolfmt.hrc>
-#endif
-#ifndef _COMCORE_HRC
#include <comcore.hrc>
-#endif
#include <numrule.hxx>
#include <SwNodeNum.hxx>
@@ -280,11 +274,8 @@ String SwGetRefField::Expand() const
}
-String SwGetRefField::GetCntnt(BOOL bName) const
+String SwGetRefField::GetFieldName() const
{
- if( !bName )
- return Expand();
-
String aStr(GetTyp()->GetName());
aStr += ' ';
aStr += sSetRefName;
diff --git a/sw/source/core/fields/tblcalc.cxx b/sw/source/core/fields/tblcalc.cxx
index ae340b9a7ba5..abaacf8abc9e 100644
--- a/sw/source/core/fields/tblcalc.cxx
+++ b/sw/source/core/fields/tblcalc.cxx
@@ -37,9 +37,8 @@
#include <txtfld.hxx>
#include <expfld.hxx>
#include <docfld.hxx> // fuer _SetGetExpFld
-#ifndef _UNOFLDMID_H
#include <unofldmid.h>
-#endif
+
using namespace ::com::sun::star;
using ::rtl::OUString;
@@ -91,22 +90,12 @@ SwField* SwTblField::Copy() const
}
-String SwTblField::GetCntnt(BOOL bName) const
+String SwTblField::GetFieldName() const
{
- if( bName )
- {
- String aStr(GetTyp()->GetName());
- aStr += ' ';
-
- USHORT nOldSubType = nSubType;
- SwTblField* pThis = (SwTblField*)this;
- pThis->nSubType |= nsSwExtendedSubType::SUB_CMD;
- aStr += Expand();
- pThis->nSubType = nOldSubType;
-
- return aStr;
- }
- return Expand();
+ String aStr(GetTyp()->GetName());
+ aStr += ' ';
+ aStr += const_cast<SwTblField *>(this)->GetCommand();
+ return aStr;
}
// suche den TextNode, in dem das Feld steht
@@ -127,21 +116,28 @@ const SwNode* SwTblField::GetNodeOfFormula() const
return 0;
}
+String SwTblField::GetCommand()
+{
+ if (EXTRNL_NAME != GetNameType())
+ {
+ SwNode const*const pNd = GetNodeOfFormula();
+ SwTableNode const*const pTblNd = (pNd) ? pNd->FindTableNode() : 0;
+ if (pTblNd)
+ {
+ PtrToBoxNm( &pTblNd->GetTable() );
+ }
+ }
+ return (EXTRNL_NAME == GetNameType())
+ ? SwTableFormula::GetFormula()
+ : String();
+}
String SwTblField::Expand() const
{
String aStr;
if (nSubType & nsSwExtendedSubType::SUB_CMD)
{
- if( EXTRNL_NAME != GetNameType() )
- {
- const SwNode* pNd = GetNodeOfFormula();
- const SwTableNode* pTblNd = pNd ? pNd->FindTableNode() : 0;
- if( pTblNd )
- ((SwTblField*)this)->PtrToBoxNm( &pTblNd->GetTable() );
- }
- if( EXTRNL_NAME == GetNameType() )
- aStr = SwTableFormula::GetFormula();
+ aStr = const_cast<SwTblField *>(this)->GetCommand();
}
else
{
diff --git a/sw/source/core/fields/usrfld.cxx b/sw/source/core/fields/usrfld.cxx
index f9437cd0fbd5..ccb10ca03ee1 100644
--- a/sw/source/core/fields/usrfld.cxx
+++ b/sw/source/core/fields/usrfld.cxx
@@ -40,12 +40,12 @@
#include <doc.hxx>
#include <editsh.hxx>
#include <dpage.hxx>
-#ifndef _UNOFLDMID_H
#include <unofldmid.h>
-#endif
+
using namespace ::com::sun::star;
using ::rtl::OUString;
+
/*--------------------------------------------------------------------
Beschreibung: Benutzerfelder
--------------------------------------------------------------------*/
@@ -72,17 +72,14 @@ SwField* SwUserField::Copy() const
return pTmp;
}
-String SwUserField::GetCntnt(sal_Bool bName) const
+String SwUserField::GetFieldName() const
{
- if ( bName )
- { String aStr(SwFieldType::GetTypeStr(TYP_USERFLD));
- aStr += ' ';
- aStr += GetTyp()->GetName();
- aStr.AppendAscii(" = ");
- aStr += ((SwUserFieldType*)GetTyp())->GetContent();
- return aStr;
- }
- return Expand();
+ String aStr(SwFieldType::GetTypeStr(TYP_USERFLD));
+ aStr += ' ';
+ aStr += GetTyp()->GetName();
+ aStr.AppendAscii(" = ");
+ aStr += static_cast<SwUserFieldType*>(GetTyp())->GetContent();
+ return aStr;
}
double SwUserField::GetValue() const
diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx
index 9fe5c9a22204..79a2b64433d9 100644
--- a/sw/source/core/frmedt/fecopy.cxx
+++ b/sw/source/core/frmedt/fecopy.cxx
@@ -885,9 +885,8 @@ BOOL SwFEShell::Paste( SwDoc* pClpDoc, BOOL bIncludingPageFrames )
SwCntntNode* pCNd = GetDoc()->GetNodes().GoNext( &aNdIdx );
SwPosition aPos( aNdIdx, SwIndex( pCNd, 0 ));
// #i59539: Don't remove all redline
- ::PaMCorrAbs( SwNodeIndex( *pDestNd ),
- SwNodeIndex( *pDestNd->EndOfSectionNode() ),
- aPos );
+ SwPaM const tmpPaM(*pDestNd, *pDestNd->EndOfSectionNode());
+ ::PaMCorrAbs(tmpPaM, aPos);
}
bRet = GetDoc()->InsCopyOfTbl( aDestPos, aBoxes, &pSrcNd->GetTable(),
@@ -902,7 +901,11 @@ BOOL SwFEShell::Paste( SwDoc* pClpDoc, BOOL bIncludingPageFrames )
SwCntntNode* pCNd = GetDoc()->GetNodes().GoNext( &aNdIdx );
SwPosition aPos( aNdIdx, SwIndex( pCNd, 0 ));
// #i59539: Don't remove all redline
- ::PaMCorrAbs( PCURCRSR->GetPoint()->nNode, aPos );
+ SwNode & rNode(PCURCRSR->GetPoint()->nNode.GetNode());
+ SwCntntNode *const pCntntNode( rNode.GetCntntNode() );
+ SwPaM const tmpPam(rNode, 0,
+ rNode, (pCntntNode) ? pCntntNode->Len() : 0);
+ ::PaMCorrAbs(tmpPam, aPos);
}
break; // aus der "while"-Schleife heraus
diff --git a/sw/source/core/frmedt/makefile.mk b/sw/source/core/frmedt/makefile.mk
index 8b277f899425..45344a44f574 100644
--- a/sw/source/core/frmedt/makefile.mk
+++ b/sw/source/core/frmedt/makefile.mk
@@ -62,9 +62,9 @@ SLOFILES = $(EXCEPTIONSFILES) \
$(SLO)$/feflyole.obj \
$(SLO)$/feshview.obj \
$(SLO)$/fetab.obj \
- $(SLO)$/tblsel.obj
EXCEPTIONSFILES=\
+ $(SLO)$/tblsel.obj \
$(SLO)$/fecopy.obj \
$(SLO)$/fefly1.obj \
$(SLO)$/fews.obj
diff --git a/sw/source/core/frmedt/tblsel.cxx b/sw/source/core/frmedt/tblsel.cxx
index 8cabf285e12b..af95f9e7b276 100644
--- a/sw/source/core/frmedt/tblsel.cxx
+++ b/sw/source/core/frmedt/tblsel.cxx
@@ -55,6 +55,7 @@
// OD 26.08.2003 #i18103#
#include <sectfrm.hxx>
#include <frmtool.hxx>
+#include <deque>
//siehe auch swtable.cxx
#define COLFUZZY 20L
@@ -152,8 +153,7 @@ struct _Sort_CellFrm
: pFrm( &rCFrm ) {}
};
-SV_DECL_VARARR( _Sort_CellFrms, _Sort_CellFrm, 16, 16 )
-SV_IMPL_VARARR( _Sort_CellFrms, _Sort_CellFrm )
+typedef std::deque< _Sort_CellFrm > _Sort_CellFrms;
SV_IMPL_PTRARR( SwChartBoxes, SwTableBoxPtr );
SV_IMPL_PTRARR( SwChartLines, SwChartBoxes* );
@@ -616,9 +616,8 @@ BOOL ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
rUnion.Top() <= nFrmBottom &&
nFrmBottom <= nUnionBottom+ nYFuzzy )
- aCellFrms.Insert(
- _Sort_CellFrm( *(SwCellFrm*)pCell ),
- aCellFrms.Count() );
+ aCellFrms.push_back(
+ _Sort_CellFrm( *(SwCellFrm*)pCell) );
else
{
bValidChartSel = FALSE;
@@ -643,12 +642,12 @@ BOOL ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
// alle Zellen der (Teil-)Tabelle zusammen. Dann teste mal ob
// all huebsch nebeneinander liegen.
- USHORT n, nEnd, nCellCnt = 0;
+ size_t n, nCellCnt = 0;
long nYPos = LONG_MAX;
long nXPos = 0;
long nHeight = 0;
- for( n = 0, nEnd = aCellFrms.Count(); n < nEnd; ++n )
+ for( n = 0 ; n < aCellFrms.size(); ++n )
{
const _Sort_CellFrm& rCF = aCellFrms[ n ];
if( (rCF.pFrm->Frm().*fnRect->fnGetTop)() != nYPos )
@@ -699,7 +698,7 @@ BOOL ChkChartSel( const SwNode& rSttNd, const SwNode& rEndNd,
{
nYPos = LONG_MAX;
SwChartBoxes* pBoxes = 0;
- for( n = 0, nEnd = aCellFrms.Count(); n < nEnd; ++n )
+ for( n = 0; n < aCellFrms.size(); ++n )
{
const _Sort_CellFrm& rCF = aCellFrms[ n ];
if( (rCF.pFrm->Frm().*fnRect->fnGetTop)() != nYPos )
diff --git a/sw/source/core/inc/MarkManager.hxx b/sw/source/core/inc/MarkManager.hxx
index 1a5cd1724050..5b03672f461f 100644
--- a/sw/source/core/inc/MarkManager.hxx
+++ b/sw/source/core/inc/MarkManager.hxx
@@ -39,9 +39,9 @@ namespace sw { namespace mark
{
public:
MarkManager(/*[in/out]*/ SwDoc& rDoc);
-
+#if OSL_DEBUG_LEVEL > 1
void dumpFieldmarks( ) const;
-
+#endif
// IDocumentMarkAccess
virtual ::sw::mark::IMark* makeMark(const SwPaM& rPaM, const ::rtl::OUString& rName, IDocumentMarkAccess::MarkType eMark);
diff --git a/sw/source/core/inc/cellfrm.hxx b/sw/source/core/inc/cellfrm.hxx
index fb479fc86549..8b45aa5e2d8d 100644
--- a/sw/source/core/inc/cellfrm.hxx
+++ b/sw/source/core/inc/cellfrm.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _CELLFRM_HXX
-#define _CELLFRM_HXX
+#ifndef SW_CELLFRM_HXX
+#define SW_CELLFRM_HXX
#include <tools/mempool.hxx>
@@ -48,7 +48,8 @@ public:
virtual BOOL GetCrsrOfst( SwPosition *, Point&, SwCrsrMoveState* = 0 ) const;
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
- virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
+ virtual void Paint( SwRect const&,
+ SwPrintData const*const pPrintData = NULL ) const;
virtual void CheckDirection( BOOL bVert );
// --> OD 2010-02-17 #i103961#
diff --git a/sw/source/core/inc/flyfrm.hxx b/sw/source/core/inc/flyfrm.hxx
index cadac60cb8ca..8e84ecf3c976 100644
--- a/sw/source/core/inc/flyfrm.hxx
+++ b/sw/source/core/inc/flyfrm.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _FLYFRM_HXX
-#define _FLYFRM_HXX
+#ifndef SW_FLYFRM_HXX
+#define SW_FLYFRM_HXX
#include "layfrm.hxx"
@@ -158,7 +158,8 @@ public:
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
// erfrage vom Client Informationen
virtual BOOL GetInfo( SfxPoolItem& ) const;
- virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
+ virtual void Paint( SwRect const&,
+ SwPrintData const*const pPrintData = NULL ) const;
virtual Size ChgSize( const Size& aNewSize );
virtual BOOL GetCrsrOfst( SwPosition *, Point&,
SwCrsrMoveState* = 0 ) const;
diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx
index e1560a230d7a..9837f3fe3e55 100644
--- a/sw/source/core/inc/frame.hxx
+++ b/sw/source/core/inc/frame.hxx
@@ -24,8 +24,9 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _FRAME_HXX
-#define _FRAME_HXX
+#ifndef SW_FRAME_HXX
+#define SW_FRAME_HXX
+
#include <svl/svarray.hxx>
#include "swtypes.hxx" // fuer SwTwips
#include "swrect.hxx"
@@ -53,7 +54,7 @@ class SvxBrushItem;
class SwSelectionList;
struct SwPosition;
struct SwCrsrMoveState;
-class SwPrtOptions;
+class SwPrintData;
// --> OD 2004-07-06 #i28701#
class SwSortedObjs;
@@ -822,7 +823,8 @@ public:
SwCrsrMoveState* = 0 ) const;
virtual BOOL GetCharRect( SwRect &, const SwPosition&,
SwCrsrMoveState* = 0 ) const;
- virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
+ virtual void Paint( SwRect const&,
+ SwPrintData const*const pPrintData = NULL ) const;
// der "kurze Dienstweg" zwischen den Frames und der Formatierung.
// Wer den void* falsch Casted ist selbst schuld!
diff --git a/sw/source/core/inc/layfrm.hxx b/sw/source/core/inc/layfrm.hxx
index 28216e326b41..d48bbf3f3e42 100644
--- a/sw/source/core/inc/layfrm.hxx
+++ b/sw/source/core/inc/layfrm.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _LAYFRM_HXX
-#define _LAYFRM_HXX
+#ifndef SW_LAYFRM_HXX
+#define SW_LAYFRM_HXX
#include "frame.hxx"
@@ -105,7 +105,8 @@ public:
SwLayoutFrm( SwFrmFmt* );
~SwLayoutFrm();
- virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
+ virtual void Paint( SwRect const&,
+ SwPrintData const*const pPrintData = NULL ) const;
const SwFrm *Lower() const { return pLower; }
SwFrm *Lower() { return pLower; }
const SwCntntFrm *ContainsCntnt() const;
@@ -206,4 +207,4 @@ inline SwFrm* SwLayoutFrm::GetLastLower()
return const_cast<SwFrm*>(static_cast<const SwLayoutFrm*>(this)->GetLastLower());
}
-#endif //_LAYFRM_HXX
+#endif // SW_LAYFRM_HXX
diff --git a/sw/source/core/inc/mvsave.hxx b/sw/source/core/inc/mvsave.hxx
index ca98a089969d..67434e14928a 100644
--- a/sw/source/core/inc/mvsave.hxx
+++ b/sw/source/core/inc/mvsave.hxx
@@ -24,14 +24,11 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _MVSAVE_HXX
-#define _MVSAVE_HXX
-
+#ifndef SW_MVSAVE_HXX
+#define SW_MVSAVE_HXX
#include <tools/string.hxx>
-#ifndef _KEYCOD_HXX //autogen
#include <vcl/keycod.hxx>
-#endif
#include <svl/svarray.hxx>
#include <IDocumentMarkAccess.hxx>
#include <vector>
@@ -150,25 +147,10 @@ public:
// Crsr verschieben kann
// die Funktionen rufen nicht die SwDoc::Corr - Methoden!
- // Setzt alle PaMs an OldPos auf NewPos + Offset
-void PaMCorrAbs( const SwPosition &rOldPos,
- const SwPosition &rNewPos,
- const xub_StrLen nOffset = 0 );
-
- // Setzt alle PaMs in OldNode auf NewPos + Offset
-void PaMCorrAbs( const SwNodeIndex &rOldNode,
- const SwPosition &rNewPos,
- const xub_StrLen nOffset = 0 );
-
// Setzt alle PaMs im Bereich vom Range nach NewPos
void PaMCorrAbs( const SwPaM& rRange,
const SwPosition& rNewPos );
- // Setzt alle PaMs im Bereich von [StartNode, EndNode] nach NewPos
-void PaMCorrAbs( const SwNodeIndex &rStartNode,
- const SwNodeIndex &rEndNode,
- const SwPosition &rNewPos );
-
// Setzt alle PaMs in OldNode auf relative Pos
void PaMCorrRel( const SwNodeIndex &rOldNode,
const SwPosition &rNewPos,
@@ -227,5 +209,5 @@ public:
};
-#endif // _MVSAVE_HXX
+#endif // SW_MVSAVE_HXX
diff --git a/sw/source/core/inc/notxtfrm.hxx b/sw/source/core/inc/notxtfrm.hxx
index 7782a6b90d98..d5fae730fd61 100644
--- a/sw/source/core/inc/notxtfrm.hxx
+++ b/sw/source/core/inc/notxtfrm.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _NOTXTFRM_HXX
-#define _NOTXTFRM_HXX
+#ifndef SW_NOTXTFRM_HXX
+#define SW_NOTXTFRM_HXX
#include <cntfrm.hxx>
@@ -56,7 +56,8 @@ public:
~SwNoTxtFrm();
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
- virtual void Paint(const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
+ virtual void Paint( SwRect const&,
+ SwPrintData const*const pPrintData = NULL ) const;
virtual BOOL GetCharRect( SwRect &, const SwPosition&,
SwCrsrMoveState* = 0) const;
BOOL GetCrsrOfst(SwPosition* pPos, Point& aPoint,
diff --git a/sw/source/core/inc/rootfrm.hxx b/sw/source/core/inc/rootfrm.hxx
index ee894a0ef539..f43a2362ee98 100644
--- a/sw/source/core/inc/rootfrm.hxx
+++ b/sw/source/core/inc/rootfrm.hxx
@@ -24,8 +24,9 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _ROOTFRM_HXX
-#define _ROOTFRM_HXX
+#ifndef SW_ROOTFRM_HXX
+#define SW_ROOTFRM_HXX
+
#include "layfrm.hxx"
class SwCntntFrm;
@@ -197,7 +198,8 @@ public:
virtual BOOL GetCrsrOfst( SwPosition *, Point&,
SwCrsrMoveState* = 0 ) const;
- virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
+ virtual void Paint( SwRect const&,
+ SwPrintData const*const pPrintData = NULL ) const;
virtual SwTwips ShrinkFrm( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE );
virtual SwTwips GrowFrm ( SwTwips, BOOL bTst = FALSE, BOOL bInfo = FALSE );
#ifdef DBG_UTIL
@@ -365,5 +367,5 @@ inline void SwRootFrm::SetVirtPageNum( const BOOL bOf) const
((SwRootFrm*)this)->bIsVirtPageNum = bOf;
}
-#endif //_ROOTFRM_HXX
+#endif // SW_ROOTFRM_HXX
diff --git a/sw/source/core/inc/scriptinfo.hxx b/sw/source/core/inc/scriptinfo.hxx
index 07d58e5a72ef..a470571f845f 100644
--- a/sw/source/core/inc/scriptinfo.hxx
+++ b/sw/source/core/inc/scriptinfo.hxx
@@ -139,24 +139,24 @@ public:
inline BYTE GetDefaultDir() const { return nDefaultDir; };
// array operations, nCnt refers to array position
- inline USHORT CountScriptChg() const;
- inline xub_StrLen GetScriptChg( const USHORT nCnt ) const;
+ inline size_t CountScriptChg() const;
+ inline xub_StrLen GetScriptChg( const size_t nCnt ) const;
inline BYTE GetScriptType( const USHORT nCnt ) const;
- inline USHORT CountDirChg() const;
- inline xub_StrLen GetDirChg( const USHORT nCnt ) const;
- inline BYTE GetDirType( const USHORT nCnt ) const;
+ inline size_t CountDirChg() const;
+ inline xub_StrLen GetDirChg( const size_t nCnt ) const;
+ inline BYTE GetDirType( const size_t nCnt ) const;
- inline USHORT CountKashida() const;
- inline xub_StrLen GetKashida( const USHORT nCnt ) const;
+ inline size_t CountKashida() const;
+ inline xub_StrLen GetKashida( const size_t nCnt ) const;
- inline USHORT CountCompChg() const;
- inline xub_StrLen GetCompStart( const USHORT nCnt ) const;
- inline xub_StrLen GetCompLen( const USHORT nCnt ) const;
- inline BYTE GetCompType( const USHORT nCnt ) const;
+ inline size_t CountCompChg() const;
+ inline xub_StrLen GetCompStart( const size_t nCnt ) const;
+ inline xub_StrLen GetCompLen( const size_t nCnt ) const;
+ inline BYTE GetCompType( const size_t nCnt ) const;
- inline USHORT CountHiddenChg() const;
- inline xub_StrLen GetHiddenChg( const USHORT nCnt ) const;
+ inline size_t CountHiddenChg() const;
+ inline xub_StrLen GetHiddenChg( const size_t nCnt ) const;
static void CalcHiddenRanges( const SwTxtNode& rNode,
MultiSelection& rHiddenMulti );
@@ -356,59 +356,59 @@ inline void SwScriptInfo::SetInvalidity( const xub_StrLen nPos )
if ( nPos < nInvalidityPos )
nInvalidityPos = nPos;
};
-inline USHORT SwScriptInfo::CountScriptChg() const { return aScriptChg.Count(); }
-inline xub_StrLen SwScriptInfo::GetScriptChg( const USHORT nCnt ) const
+inline size_t SwScriptInfo::CountScriptChg() const { return aScriptChg.size(); }
+inline xub_StrLen SwScriptInfo::GetScriptChg( const size_t nCnt ) const
{
- ASSERT( nCnt < aScriptChg.Count(),"No ScriptChange today!");
+ ASSERT( nCnt < aScriptChg.size(),"No ScriptChange today!");
return aScriptChg[ nCnt ];
}
inline BYTE SwScriptInfo::GetScriptType( const xub_StrLen nCnt ) const
{
- ASSERT( nCnt < aScriptChg.Count(),"No ScriptType today!");
+ ASSERT( nCnt < aScriptType.size(),"No ScriptType today!");
return aScriptType[ nCnt ];
}
-inline USHORT SwScriptInfo::CountDirChg() const { return aDirChg.Count(); }
-inline xub_StrLen SwScriptInfo::GetDirChg( const USHORT nCnt ) const
+inline size_t SwScriptInfo::CountDirChg() const { return aDirChg.size(); }
+inline xub_StrLen SwScriptInfo::GetDirChg( const size_t nCnt ) const
{
- ASSERT( nCnt < aDirChg.Count(),"No DirChange today!");
+ ASSERT( nCnt < aDirChg.size(),"No DirChange today!");
return aDirChg[ nCnt ];
}
-inline BYTE SwScriptInfo::GetDirType( const xub_StrLen nCnt ) const
+inline BYTE SwScriptInfo::GetDirType( const size_t nCnt ) const
{
- ASSERT( nCnt < aDirChg.Count(),"No DirType today!");
+ ASSERT( nCnt < aDirType.size(),"No DirType today!");
return aDirType[ nCnt ];
}
-inline USHORT SwScriptInfo::CountKashida() const { return aKashida.Count(); }
-inline xub_StrLen SwScriptInfo::GetKashida( const USHORT nCnt ) const
+inline size_t SwScriptInfo::CountKashida() const { return aKashida.size(); }
+inline xub_StrLen SwScriptInfo::GetKashida( const size_t nCnt ) const
{
- ASSERT( nCnt < aKashida.Count(),"No Kashidas today!");
+ ASSERT( nCnt < aKashida.size(),"No Kashidas today!");
return aKashida[ nCnt ];
}
-inline USHORT SwScriptInfo::CountCompChg() const { return aCompChg.Count(); };
-inline xub_StrLen SwScriptInfo::GetCompStart( const USHORT nCnt ) const
+inline size_t SwScriptInfo::CountCompChg() const { return aCompChg.size(); };
+inline xub_StrLen SwScriptInfo::GetCompStart( const size_t nCnt ) const
{
- ASSERT( nCnt < aCompChg.Count(),"No CompressionStart today!");
+ ASSERT( nCnt < aCompChg.size(),"No CompressionStart today!");
return aCompChg[ nCnt ];
}
-inline xub_StrLen SwScriptInfo::GetCompLen( const USHORT nCnt ) const
+inline xub_StrLen SwScriptInfo::GetCompLen( const size_t nCnt ) const
{
- ASSERT( nCnt < aCompChg.Count(),"No CompressionLen today!");
+ ASSERT( nCnt < aCompLen.size(),"No CompressionLen today!");
return aCompLen[ nCnt ];
}
-inline BYTE SwScriptInfo::GetCompType( const USHORT nCnt ) const
+inline BYTE SwScriptInfo::GetCompType( const size_t nCnt ) const
{
- ASSERT( nCnt < aCompChg.Count(),"No CompressionType today!");
+ ASSERT( nCnt < aCompType.size(),"No CompressionType today!");
return aCompType[ nCnt ];
}
-inline USHORT SwScriptInfo::CountHiddenChg() const { return aHiddenChg.Count(); };
-inline xub_StrLen SwScriptInfo::GetHiddenChg( const USHORT nCnt ) const
+inline size_t SwScriptInfo::CountHiddenChg() const { return aHiddenChg.size(); };
+inline xub_StrLen SwScriptInfo::GetHiddenChg( const size_t nCnt ) const
{
- ASSERT( nCnt < aHiddenChg.Count(),"No HiddenChg today!");
+ ASSERT( nCnt < aHiddenChg.size(),"No HiddenChg today!");
return aHiddenChg[ nCnt ];
}
diff --git a/sw/source/core/inc/tabfrm.hxx b/sw/source/core/inc/tabfrm.hxx
index 3f55c6bdf0ec..c12685ab3058 100644
--- a/sw/source/core/inc/tabfrm.hxx
+++ b/sw/source/core/inc/tabfrm.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _TABFRM_HXX
-#define _TABFRM_HXX
+#ifndef SW_TABFRM_HXX
+#define SW_TABFRM_HXX
#include <tools/mempool.hxx>
#include "layfrm.hxx"
@@ -129,7 +129,8 @@ public:
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
virtual BOOL GetInfo( SfxPoolItem &rHnt ) const;
- virtual void Paint( const SwRect&, const SwPrtOptions *pPrintData = NULL ) const;
+ virtual void Paint( SwRect const&,
+ SwPrintData const*const pPrintData = NULL ) const;
virtual void CheckDirection( BOOL bVert );
virtual void Cut();
@@ -230,4 +231,4 @@ inline SwTabFrm *SwTabFrm::GetFollow()
return (SwTabFrm*)SwFlowFrm::GetFollow();
}
-#endif //_TABFRM_HXX
+#endif // SW_TABFRM_HXX
diff --git a/sw/source/core/inc/txmsrt.hxx b/sw/source/core/inc/txmsrt.hxx
index d88aae514904..e82f5dc71253 100644
--- a/sw/source/core/inc/txmsrt.hxx
+++ b/sw/source/core/inc/txmsrt.hxx
@@ -24,8 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _TXMSRT_HXX
-#define _TXMSRT_HXX
+#ifndef SW_TXMSRT_HXX
+#define SW_TXMSRT_HXX
#include <i18npool/lang.h>
#include <tox.hxx>
@@ -154,7 +154,7 @@ private:
String sSortTxt;
String sSortTxtReading;
- virtual void _GetText( String&, String& ) = 0;
+ virtual void GetText_Impl( String&, String& ) const = 0;
};
inline void SwTOXSortTabBase::GetTxt( String& rSortTxt,
@@ -163,7 +163,7 @@ inline void SwTOXSortTabBase::GetTxt( String& rSortTxt,
if( !bValidTxt )
{
SwTOXSortTabBase* pThis = (SwTOXSortTabBase*)this;
- pThis->_GetText( pThis->sSortTxt, pThis->sSortTxtReading );
+ pThis->GetText_Impl( pThis->sSortTxt, pThis->sSortTxtReading );
pThis->bValidTxt = TRUE;
}
@@ -194,7 +194,7 @@ struct SwTOXIndex : public SwTOXSortTabBase
virtual BOOL operator<( const SwTOXSortTabBase& );
private:
- virtual void _GetText( String&, String& );
+ virtual void GetText_Impl( String&, String& ) const;
BYTE nKeyLevel;
};
@@ -211,7 +211,7 @@ struct SwTOXCustom : public SwTOXSortTabBase
virtual BOOL operator<( const SwTOXSortTabBase& );
private:
- virtual void _GetText( String&, String& );
+ virtual void GetText_Impl( String&, String& ) const;
String aKey;
String sReading;
@@ -231,7 +231,7 @@ struct SwTOXContent : public SwTOXSortTabBase
virtual void FillText( SwTxtNode& rNd, const SwIndex& rInsPos, USHORT nAuthField = 0 ) const;
virtual USHORT GetLevel() const;
private:
- virtual void _GetText( String&, String& );
+ virtual void GetText_Impl( String&, String& ) const;
};
@@ -248,7 +248,7 @@ struct SwTOXPara : public SwTOXSortTabBase
virtual String GetURL() const;
private:
- virtual void _GetText( String&, String& );
+ virtual void GetText_Impl( String&, String& ) const;
SwTOXElement eType;
USHORT m_nLevel;
@@ -267,7 +267,7 @@ struct SwTOXTable : public SwTOXSortTabBase
virtual String GetURL() const;
private:
- virtual void _GetText( String&, String& );
+ virtual void GetText_Impl( String&, String& ) const;
USHORT nLevel;
};
@@ -277,7 +277,7 @@ struct SwTOXAuthority : public SwTOXSortTabBase
private:
SwFmtFld& m_rField;
virtual void FillText( SwTxtNode& rNd, const SwIndex& rInsPos, USHORT nAuthField = 0 ) const;
- virtual void _GetText( String&, String& );
+ virtual void GetText_Impl( String&, String& ) const;
public:
SwTOXAuthority( const SwCntntNode& rNd, SwFmtFld& rField, const SwTOXInternational& rIntl );
@@ -291,4 +291,4 @@ public:
};
-#endif // _TXMSRT_HXX
+#endif // SW_TXMSRT_HXX
diff --git a/sw/source/core/inc/txtfrm.hxx b/sw/source/core/inc/txtfrm.hxx
index 5a8783df261b..0e7db85e64ac 100644
--- a/sw/source/core/inc/txtfrm.hxx
+++ b/sw/source/core/inc/txtfrm.hxx
@@ -24,8 +24,9 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _TXTFRM_HXX
-#define _TXTFRM_HXX
+#ifndef SW_TXTFRM_HXX
+#define SW_TXTFRM_HXX
+
#include <tools/mempool.hxx>
#include <tools/string.hxx>
#include "cntfrm.hxx"
@@ -292,7 +293,8 @@ public:
void PaintExtraData( const SwRect & rRect ) const; //Seitennummer usw.
SwRect Paint();
- virtual void Paint( const SwRect &, const SwPrtOptions *pPrintData = NULL ) const;
+ virtual void Paint( SwRect const&,
+ SwPrintData const*const pPrintData = NULL ) const;
virtual void Modify( SfxPoolItem*, SfxPoolItem* );
virtual sal_Bool GetInfo( SfxPoolItem & ) const;
diff --git a/sw/source/core/inc/viewimp.hxx b/sw/source/core/inc/viewimp.hxx
index 0f89b3b75663..6d48f11812c1 100644
--- a/sw/source/core/inc/viewimp.hxx
+++ b/sw/source/core/inc/viewimp.hxx
@@ -24,8 +24,10 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _VIEWIMP_HXX
-#define _VIEWIMP_HXX
+#ifndef SW_VIEWIMP_HXX
+#define SW_VIEWIMP_HXX
+
+#include <vector>
#include <vcl/timer.hxx>
#include <tools/color.hxx>
@@ -53,10 +55,9 @@ struct SdrPaintProcRec;
class SwAccessibleMap;
class SdrObject;
class Fraction;
-class SwPrtOptions;
+class SwPrintData;
class SwPagePreviewLayout;
struct PrevwPage;
-#include <vector>
class SwTxtFrm;
class SwViewImp
@@ -215,7 +216,7 @@ public:
// and <heaven>.
// OD 25.06.2003 #108784# - correct type of 1st parameter
void PaintLayer( const SdrLayerID _nLayerID,
- const SwPrtOptions *pPrintData,
+ SwPrintData const*const pPrintData,
const SwRect& _rRect,
const Color* _pPageBackgrdColor = 0,
const bool _bIsPageRightToLeft = false ) const;
@@ -360,5 +361,5 @@ inline void SwViewImp::AddAccessibleObj( const SdrObject *pObj )
SwRect aEmptyRect;
MoveAccessible( 0, pObj, aEmptyRect );
}
-#endif //_VIEWIMP_HXX
+#endif // SW_VIEWIMP_HXX
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx
index 28287c957ad1..5cd97d1a1d26 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -1004,10 +1004,11 @@ BOOL SwCntntFrm::MakePrtArea( const SwBorderAttrs &rAttrs )
SwAnchoredObject* pObj = (*GetDrawObjs())[i];
const SwFrmFmt& rFmt = pObj->GetFrmFmt();
const BOOL bFly = pObj->ISA(SwFlyFrm);
- if ( bFly &&
- WEIT_WECH == pObj->GetObjRect().Width()||
- rFmt.GetFrmSize().GetWidthPercent() )
+ if ((bFly && (WEIT_WECH == pObj->GetObjRect().Width()))
+ || rFmt.GetFrmSize().GetWidthPercent())
+ {
continue;
+ }
if ( FLY_AS_CHAR == rFmt.GetAnchor().GetAnchorId() )
{
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx
index 395009122063..661f68603603 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -1738,7 +1738,7 @@ void MakeFrms( SwDoc *pDoc, const SwNodeIndex &rSttIdx,
// die in den Fussnoten liegen, nicht etwa die (spaltigen) Bereiche,
// in denen die Fussnoten(Container) liegen.
// #109767# Table frame is in section, insert section in cell frame.
- if( pSct && ( pFtnFrm && !pSct->IsInFtn() ) || pUpper->IsCellFrm() )
+ if( pSct && ((pFtnFrm && !pSct->IsInFtn()) || pUpper->IsCellFrm()) )
pSct = NULL;
if( pSct )
{ // damit der SectionFrm nicht zerstoert wird durch pTmp->MoveFwd()
diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx
index aec3fde909f1..ac20d8a4f86b 100644
--- a/sw/source/core/layout/layact.cxx
+++ b/sw/source/core/layout/layact.cxx
@@ -2430,7 +2430,7 @@ SwLayIdle::SwLayIdle( SwRootFrm *pRt, SwViewImp *pI ) :
#endif
bVis = ((SwCrsrShell*)pSh)->GetCharRect().IsOver(pSh->VisArea());
}
- aBools.Insert( bVis, aBools.Count() );
+ aBools.push_back( bVis );
pSh = (ViewShell*)pSh->GetNext();
} while ( pSh != pImp->GetShell() );
diff --git a/sw/source/core/layout/laycache.cxx b/sw/source/core/layout/laycache.cxx
index 39b8a60ef695..a85ee7091ff1 100644
--- a/sw/source/core/layout/laycache.cxx
+++ b/sw/source/core/layout/laycache.cxx
@@ -102,7 +102,7 @@ void SwLayCacheImpl::Insert( USHORT nType, ULONG nIndex, xub_StrLen nOffset )
{
aType.Insert( nType, aType.Count() );
SvULongs::Insert( nIndex, SvULongs::Count() );
- aOffset.Insert( nOffset, aOffset.Count() );
+ aOffset.push_back( nOffset );
}
BOOL SwLayCacheImpl::Read( SvStream& rStream )
@@ -1238,12 +1238,12 @@ SwLayCacheIoImpl::SwLayCacheIoImpl( SvStream& rStrm, BOOL bWrtMd ) :
BOOL SwLayCacheIoImpl::OpenRec( BYTE cType )
{
BOOL bRes = TRUE;
- UINT16 nLvl = aRecTypes.Count();
+ size_t nLvl = aRecTypes.size();
ASSERT( nLvl == aRecSizes.Count(), "OpenRec: Level" );
UINT32 nPos = pStream->Tell();
if( bWriteMode )
{
- aRecTypes.Insert( cType, nLvl );
+ aRecTypes.push_back( cType );
aRecSizes.Insert( nPos, nLvl );
*pStream << (UINT32) 0;
}
@@ -1252,7 +1252,7 @@ BOOL SwLayCacheIoImpl::OpenRec( BYTE cType )
UINT32 nVal;
*pStream >> nVal;
BYTE cRecTyp = (BYTE)nVal;
- aRecTypes.Insert( cRecTyp, nLvl );
+ aRecTypes.push_back( cRecTyp );
sal_uInt32 nSize = nVal >> 8;
aRecSizes.Insert( nPos + nSize, nLvl );
if( !nVal || cRecTyp != cType ||
@@ -1261,7 +1261,7 @@ BOOL SwLayCacheIoImpl::OpenRec( BYTE cType )
ASSERT( nVal, "OpenRec: Record-Header is 0" );
ASSERT( cRecTyp == cType,
"OpenRec: Wrong Record Type" );
- aRecTypes[nLvl] = 0;
+ aRecTypes.back() = 0;
aRecSizes[nLvl] = pStream->Tell();
bRes = sal_False;
bError = TRUE;
@@ -1275,7 +1275,7 @@ BOOL SwLayCacheIoImpl::OpenRec( BYTE cType )
BOOL SwLayCacheIoImpl::CloseRec( BYTE )
{
BOOL bRes = TRUE;
- UINT16 nLvl = aRecTypes.Count();
+ size_t nLvl = aRecTypes.size();
ASSERT( nLvl == aRecSizes.Count(), "CloseRec: wrong Level" );
ASSERT( nLvl, "CloseRec: no levels" );
if( nLvl )
@@ -1287,7 +1287,7 @@ BOOL SwLayCacheIoImpl::CloseRec( BYTE )
UINT32 nBgn = aRecSizes[nLvl];
pStream->Seek( nBgn );
UINT32 nSize = nPos - nBgn;
- UINT32 nVal = ( nSize << 8 ) | aRecTypes[nLvl];
+ UINT32 nVal = ( nSize << 8 ) | aRecTypes.back();
*pStream << nVal;
pStream->Seek( nPos );
if( pStream->GetError() != SVSTREAM_OK )
@@ -1307,7 +1307,7 @@ BOOL SwLayCacheIoImpl::CloseRec( BYTE )
bRes = FALSE;
}
- aRecTypes.Remove( nLvl, 1 );
+ aRecTypes.pop_back();
aRecSizes.Remove( nLvl, 1 );
}
diff --git a/sw/source/core/layout/layhelp.hxx b/sw/source/core/layout/layhelp.hxx
index 7e7fd96e8817..8eb958f5bfae 100644
--- a/sw/source/core/layout/layhelp.hxx
+++ b/sw/source/core/layout/layhelp.hxx
@@ -71,11 +71,11 @@ class SwLayCacheImpl : public SvULongs
void Insert( USHORT nType, ULONG nIndex, xub_StrLen nOffset );
public:
- SwLayCacheImpl() : SvULongs( 20, 10 ), aOffset( 20, 10 ), aType( 20, 10 ) {}
+ SwLayCacheImpl() : SvULongs( 20, 10 ), aType( 20, 10 ) {}
BOOL Read( SvStream& rStream );
ULONG GetBreakIndex( USHORT nIdx ) const { return GetObject( nIdx ); }
- xub_StrLen GetBreakOfst( USHORT nIdx ) const { return aOffset[ nIdx ]; }
+ xub_StrLen GetBreakOfst( size_t nIdx ) const { return aOffset[ nIdx ]; }
USHORT GetBreakType( USHORT nIdx ) const { return aType[ nIdx ]; }
USHORT GetFlyCount() const { return aFlyCache.Count(); }
diff --git a/sw/source/core/layout/makefile.mk b/sw/source/core/layout/makefile.mk
index 7019203aa20f..076069b51339 100644
--- a/sw/source/core/layout/makefile.mk
+++ b/sw/source/core/layout/makefile.mk
@@ -49,6 +49,7 @@ CDEFS+=-DDEBUG
EXCEPTIONSFILES = \
$(SLO)$/anchoreddrawobject.obj \
$(SLO)$/flycnt.obj \
+ $(SLO)$/layact.obj \
$(SLO)$/laycache.obj \
$(SLO)$/layouter.obj \
$(SLO)$/movedfwdfrmsbyobjpos.obj \
diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx
index 01f09f2c41c3..626627a3c993 100644
--- a/sw/source/core/layout/pagechg.cxx
+++ b/sw/source/core/layout/pagechg.cxx
@@ -1827,10 +1827,11 @@ void SwRootFrm::ImplCalcBrowseWidth()
SwAnchoredObject* pAnchoredObj = (*pFrm->GetDrawObjs())[i];
const SwFrmFmt& rFmt = pAnchoredObj->GetFrmFmt();
const BOOL bFly = pAnchoredObj->ISA(SwFlyFrm);
- if ( bFly &&
- WEIT_WECH == pAnchoredObj->GetObjRect().Width()||
- rFmt.GetFrmSize().GetWidthPercent() )
+ if ((bFly && (WEIT_WECH == pAnchoredObj->GetObjRect().Width()))
+ || rFmt.GetFrmSize().GetWidthPercent())
+ {
continue;
+ }
long nWidth = 0;
switch ( rFmt.GetAnchor().GetAnchorId() )
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index 09fc6b00e03d..9f518285bd30 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -30,12 +30,7 @@
#include <com/sun/star/text/HoriOrientation.hpp>
-
-#include <hintids.hxx>
-
-#ifndef _SOUND_HXX //autogen
#include <vcl/sound.hxx>
-#endif
#include <tools/poly.hxx>
#define _SVSTDARR_LONGS
#include <svl/svstdarr.hxx>
@@ -49,19 +44,15 @@
// --> collapsing borders FME 2005-05-27 #i29550#
#include <svx/framelink.hxx>
// <--
-#ifndef _GRAPH_HXX //autogen
#include <vcl/graph.hxx>
-#endif
#include <svx/svdpagv.hxx>
-#include <tgrditem.hxx>
-
+#include <hintids.hxx>
+#include <tgrditem.hxx>
#include <fmtsrnd.hxx>
#include <fmtclds.hxx>
#include <tools/shl.hxx>
-#ifndef _COMCORE_HRC
#include <comcore.hrc>
-#endif
#include <swmodule.hxx>
#include <rootfrm.hxx>
#include <pagefrm.hxx>
@@ -89,15 +80,11 @@
#include <ptqueue.hxx>
#include <noteurl.hxx>
#include <virtoutp.hxx>
-#ifndef _LINEINFO_HXX
#include <lineinfo.hxx>
-#endif
#include <dbg_lay.hxx>
#include <accessibilityoptions.hxx>
// OD 20.12.2002 #94627#
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
// OD 28.02.2003 #b4779636#, #107692#
#include <swtable.hxx>
// OD 02.07.2003 #108784#
@@ -2735,7 +2722,8 @@ void SwTabFrmPainter::Insert( SwLineEntry& rNew, bool bHori )
|*
|*************************************************************************/
-void SwRootFrm::Paint( const SwRect& rRect, const SwPrtOptions *pPrintData ) const
+void
+SwRootFrm::Paint(SwRect const& rRect, SwPrintData const*const pPrintData) const
{
ASSERT( Lower() && Lower()->IsPageFrm(), "Lower der Root keine Seite." );
@@ -3185,7 +3173,7 @@ SwShortCut::SwShortCut( const SwFrm& rFrm, const SwRect& rRect )
}
}
-void SwLayoutFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */ ) const
+void SwLayoutFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
{
ViewShell *pSh = GetShell();
@@ -3473,7 +3461,7 @@ BOOL SwFlyFrm::IsPaint( SdrObject *pObj, const ViewShell *pSh )
/*************************************************************************
|* SwCellFrm::Paint( const SwRect& ) const
|*************************************************************************/
-void SwCellFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */ ) const
+void SwCellFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
{
if ( GetLayoutRowSpan() >= 1 )
SwLayoutFrm::Paint( rRect );
@@ -3492,7 +3480,7 @@ void SwCellFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */
void MA_FASTCALL lcl_PaintLowerBorders( const SwLayoutFrm *pLay,
const SwRect &rRect, const SwPageFrm *pPage );
-void SwFlyFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */ ) const
+void SwFlyFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
{
//wegen der Ueberlappung von Rahmen und Zeichenobjekten muessen die
//Flys ihre Umrandung (und die der Innenliegenden) direkt ausgeben.
@@ -3727,7 +3715,7 @@ void SwFlyFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */
|*
|*************************************************************************/
-void SwTabFrm::Paint( const SwRect& rRect, const SwPrtOptions* /* pPrintData */ ) const
+void SwTabFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
{
if ( pGlobalShell->GetViewOptions()->IsTable() )
{
diff --git a/sw/source/core/layout/trvlfrm.cxx b/sw/source/core/layout/trvlfrm.cxx
index 018e48440b59..ff0c6ec8f48f 100644
--- a/sw/source/core/layout/trvlfrm.cxx
+++ b/sw/source/core/layout/trvlfrm.cxx
@@ -1811,10 +1811,10 @@ USHORT SwFrm::GetVirtPageNum() const
const SwFrm *pFrm = 0;
const SfxItemPool &rPool = pPage->GetFmt()->GetDoc()->GetAttrPool();
const SfxPoolItem* pItem;
- USHORT nMaxItems = rPool.GetItemCount( RES_PAGEDESC );
- for( USHORT n = 0; n < nMaxItems; ++n )
+ sal_uInt32 nMaxItems = rPool.GetItemCount2( RES_PAGEDESC );
+ for( sal_uInt32 n = 0; n < nMaxItems; ++n )
{
- if( 0 == (pItem = rPool.GetItem( RES_PAGEDESC, n ) ))
+ if( 0 == (pItem = rPool.GetItem2( RES_PAGEDESC, n ) ))
continue;
const SwFmtPageDesc *pDesc = (SwFmtPageDesc*)pItem;
diff --git a/sw/source/core/layout/unusedf.cxx b/sw/source/core/layout/unusedf.cxx
index ea01592741ec..4b9a9417480a 100644
--- a/sw/source/core/layout/unusedf.cxx
+++ b/sw/source/core/layout/unusedf.cxx
@@ -28,8 +28,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
-
#include "rootfrm.hxx"
#include "cntfrm.hxx"
#include "flyfrm.hxx"
@@ -41,7 +39,7 @@ void SwFrm::Format( const SwBorderAttrs * )
ASSERT( FALSE, "Format() der Basisklasse gerufen." );
}
-void SwFrm::Paint(const SwRect &, const SwPrtOptions * ) const
+void SwFrm::Paint(SwRect const&, SwPrintData const*const) const
{
ASSERT( FALSE, "Paint() der Basisklasse gerufen." );
}
diff --git a/sw/source/core/text/frmpaint.cxx b/sw/source/core/text/frmpaint.cxx
index 443900e1942c..9babcdde2b79 100644
--- a/sw/source/core/text/frmpaint.cxx
+++ b/sw/source/core/text/frmpaint.cxx
@@ -38,12 +38,8 @@
#include <tgrditem.hxx>
#include <paratr.hxx>
-#ifndef _FMTLINE_HXX
#include <fmtline.hxx>
-#endif
-#ifndef _LINEINFO_HXX
#include <lineinfo.hxx>
-#endif
#include <charfmt.hxx>
#include <pagefrm.hxx>
#include <viewsh.hxx> // ViewShell
@@ -596,7 +592,7 @@ sal_Bool SwTxtFrm::PaintEmpty( const SwRect &rRect, sal_Bool bCheck ) const
* SwTxtFrm::Paint()
*************************************************************************/
-void SwTxtFrm::Paint( const SwRect &rRect, const SwPrtOptions * /*pPrintData*/ ) const
+void SwTxtFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
{
ResetRepaint();
diff --git a/sw/source/core/text/itratr.cxx b/sw/source/core/text/itratr.cxx
index 36eaed83795c..c4ec51b5ecb4 100644
--- a/sw/source/core/text/itratr.cxx
+++ b/sw/source/core/text/itratr.cxx
@@ -779,7 +779,7 @@ void SwTxtNode::GetMinMaxSize( ULONG nIndex, ULONG& rMin, ULONG &rMax,
case RES_TXTATR_FIELD :
{
SwField *pFld = (SwField*)pHint->GetFld().GetFld();
- const String aTxt = pFld->GetCntnt( FALSE );
+ const String aTxt = pFld->ExpandField(true);
if( lcl_MinMaxString( aArg, aIter.GetFnt(), aTxt, 0,
aTxt.Len() ) )
nAdd = 20;
@@ -982,7 +982,7 @@ USHORT SwTxtNode::GetScalingOfSelectedText( xub_StrLen nStt, xub_StrLen nEnd )
case RES_TXTATR_FIELD :
{
SwField *pFld = (SwField*)pHint->GetFld().GetFld();
- const String aTxt = pFld->GetCntnt( FALSE );
+ String const aTxt = pFld->ExpandField(true);
SwDrawTextInfo aDrawInf( pSh, *pOut, 0, aTxt, 0, aTxt.Len() );
nProWidth += aIter.GetFnt()->_GetTxtSize( aDrawInf ).Width();
diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx
index dd2c1c3a1d38..84732637628c 100644
--- a/sw/source/core/text/porlay.cxx
+++ b/sw/source/core/text/porlay.cxx
@@ -805,8 +805,7 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
MultiSelection aHiddenMulti( aRange );
CalcHiddenRanges( rNode, aHiddenMulti );
- aHiddenChg.Remove( 0, aHiddenChg.Count() );
- USHORT nHiddenIdx = 0;
+ aHiddenChg.clear();
USHORT i = 0;
for( i = 0; i < aHiddenMulti.GetRangeCount(); ++i )
{
@@ -814,8 +813,8 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
const xub_StrLen nStart = (xub_StrLen)rRange.Min();
const xub_StrLen nEnd = (xub_StrLen)rRange.Max() + 1;
- aHiddenChg.Insert( nStart, nHiddenIdx++ );
- aHiddenChg.Insert( nEnd, nHiddenIdx++ );
+ aHiddenChg.push_back( nStart );
+ aHiddenChg.push_back( nEnd );
}
//
@@ -915,9 +914,9 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
//
// remove invalid entries from script information arrays
- const USHORT nScriptRemove = aScriptChg.Count() - nCnt;
- aScriptChg.Remove( nCnt, nScriptRemove );
- aScriptType.Remove( nCnt, nScriptRemove );
+ const size_t nScriptRemove = aScriptChg.size() - nCnt;
+ aScriptChg.erase( aScriptChg.begin() + nCnt, aScriptChg.end() );
+ aScriptType.erase( aScriptType.begin() + nCnt, aScriptType.begin() + (nCnt + nScriptRemove) );
// get the start of the last compression group
USHORT nLastCompression = nChg;
@@ -933,10 +932,10 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
}
// remove invalid entries from compression information arrays
- const USHORT nCompRemove = aCompChg.Count() - nCntComp;
- aCompChg.Remove( nCntComp, nCompRemove );
- aCompLen.Remove( nCntComp, nCompRemove );
- aCompType.Remove( nCntComp, nCompRemove );
+ const size_t nCompRemove = aCompChg.size() - nCntComp;
+ aCompChg.erase( aCompChg.begin() + nCntComp, aCompChg.end() );
+ aCompLen.erase( aCompLen.begin() + nCntComp, aCompLen.begin() + (nCntComp + nCompRemove) );
+ aCompType.erase( aCompType.begin() + nCntComp, aCompType.end() );
// get the start of the last kashida group
USHORT nLastKashida = nChg;
@@ -947,7 +946,7 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
}
// remove invalid entries from kashida array
- aKashida.Remove( nCntKash, aKashida.Count() - nCntKash );
+ aKashida.erase( aKashida.begin() + nCntKash, aKashida.end() );
//
// TAKE CARE OF WEAK CHARACTERS: WE MUST FIND AN APPROPRIATE
@@ -981,8 +980,9 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
if ( nScript != nNextScript )
{
- aScriptChg.Insert( nEnd, nCnt );
- aScriptType.Insert( nScript, nCnt++ );
+ aScriptChg.insert( aScriptChg.begin() + nCnt, nEnd );
+ aScriptType.insert( aScriptType.begin() + nCnt, nScript );
+ nCnt++;
nScript = nNextScript;
}
}
@@ -991,7 +991,7 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
// UPDATE THE SCRIPT INFO ARRAYS:
//
- while ( nChg < rTxt.Len() || ( !aScriptChg.Count() && !rTxt.Len() ) )
+ while ( nChg < rTxt.Len() || ( aScriptChg.empty() && !rTxt.Len() ) )
{
ASSERT( i18n::ScriptType::WEAK != nScript,
"Inserting WEAK into SwScriptInfo structure" );
@@ -1032,18 +1032,19 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
if (nType == U_NON_SPACING_MARK || nType == U_ENCLOSING_MARK ||
nType == U_COMBINING_SPACING_MARK )
{
- aScriptChg.Insert( nChg - 1, nCnt );
+ aScriptChg.insert( aScriptChg.begin() + nCnt, nChg - 1 );
}
else
{
- aScriptChg.Insert( nChg, nCnt );
+ aScriptChg.insert( aScriptChg.begin() + nCnt, nChg );
}
}
else
{
- aScriptChg.Insert( nChg, nCnt );
+ aScriptChg.insert( aScriptChg.begin() + nCnt, nChg );
}
- aScriptType.Insert( nScript, nCnt++ );
+ aScriptType.insert( aScriptType.begin() + nCnt, nScript );
+ nCnt++;
// if current script is asian, we search for compressable characters
// in this range
@@ -1087,10 +1088,11 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
if ( CHARCOMPRESS_PUNCTUATION_KANA == aCompEnum ||
ePrevState != KANA )
{
- aCompChg.Insert( nPrevChg, nCntComp );
+ aCompChg.insert( aCompChg.begin() + nCntComp, nPrevChg );
BYTE nTmpType = ePrevState;
- aCompType.Insert( nTmpType, nCntComp );
- aCompLen.Insert( nLastCompression - nPrevChg, nCntComp++ );
+ aCompType.insert( aCompType.begin() + nCntComp, nTmpType );
+ aCompLen.insert( aCompLen.begin() + nCntComp, nLastCompression - nPrevChg );
+ nCntComp++;
}
}
@@ -1108,10 +1110,11 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
if ( CHARCOMPRESS_PUNCTUATION_KANA == aCompEnum ||
ePrevState != KANA )
{
- aCompChg.Insert( nPrevChg, nCntComp );
+ aCompChg.insert( aCompChg.begin() + nCntComp, nPrevChg );
BYTE nTmpType = ePrevState;
- aCompType.Insert( nTmpType, nCntComp );
- aCompLen.Insert( nLastCompression - nPrevChg, nCntComp++ );
+ aCompType.insert( aCompType.begin() + nCntComp, nTmpType );
+ aCompLen.insert( aCompLen.begin() + nCntComp, nLastCompression - nPrevChg );
+ nCntComp++;
}
}
}
@@ -1277,7 +1280,10 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
} // end of current word
if ( STRING_LEN != nKashidaPos )
- aKashida.Insert( nKashidaPos, nCntKash++ );
+ {
+ aKashida.insert( aKashida.begin() + nCntKash, nKashidaPos);
+ nCntKash++;
+ }
} // end of kashida search
}
@@ -1292,7 +1298,7 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
// check kashida data
long nTmpKashidaPos = -1;
sal_Bool bWrongKash = sal_False;
- for (i = 0; i < aKashida.Count(); ++i )
+ for (i = 0; i < aKashida.size(); ++i )
{
long nCurrKashidaPos = GetKashida( i );
if ( nCurrKashidaPos <= nTmpKashidaPos )
@@ -1306,9 +1312,8 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
#endif
// remove invalid entries from direction information arrays
- const USHORT nDirRemove = aDirChg.Count();
- aDirChg.Remove( 0, nDirRemove );
- aDirType.Remove( 0, nDirRemove );
+ aDirChg.clear();
+ aDirType.clear();
// Perform Unicode Bidi Algorithm for text direction information
bool bPerformUBA = UBIDI_LTR != nDefaultDir;
@@ -1328,7 +1333,7 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
// 1. All text in RTL runs will use the CTL font
// #i89825# change the script type also to CTL (hennerdrewes)
// 2. Text in embedded LTR runs that does not have any strong LTR characters (numbers!)
- for ( USHORT nDirIdx = 0; nDirIdx < aDirChg.Count(); ++nDirIdx )
+ for ( size_t nDirIdx = 0; nDirIdx < aDirChg.size(); ++nDirIdx )
{
const BYTE nCurrDirType = GetDirType( nDirIdx );
// nStart ist start of RTL run:
@@ -1340,7 +1345,7 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
( nCurrDirType > UBIDI_LTR && !lcl_HasStrongLTR( rTxt, nStart, nEnd ) ) ) // non-strong text in embedded LTR run
{
// nScriptIdx points into the ScriptArrays:
- USHORT nScriptIdx = 0;
+ size_t nScriptIdx = 0;
// Skip entries in ScriptArray which are not inside the RTL run:
// Make nScriptIdx become the index of the script group with
@@ -1360,21 +1365,21 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
// we have to insert a new script change:
if ( nStart > 0 && nStartPosOfGroup < nStart )
{
- aScriptChg.Insert( nStart, nScriptIdx );
- aScriptType.Insert( nScriptTypeOfGroup, nScriptIdx );
+ aScriptChg.insert( aScriptChg.begin() + nScriptIdx, nStart );
+ aScriptType.insert( aScriptType.begin() + nScriptIdx, nScriptTypeOfGroup );
++nScriptIdx;
}
// Remove entries in ScriptArray which end inside the RTL run:
- while ( nScriptIdx < aScriptChg.Count() && GetScriptChg( nScriptIdx ) <= nEnd )
+ while ( nScriptIdx < aScriptChg.size() && GetScriptChg( nScriptIdx ) <= nEnd )
{
- aScriptChg.Remove( nScriptIdx, 1 );
- aScriptType.Remove( nScriptIdx, 1 );
+ aScriptChg.erase( aScriptChg.begin() + nScriptIdx );
+ aScriptType.erase( aScriptType.begin() + nScriptIdx );
}
// Insert a new entry in ScriptArray for the end of the RTL run:
- aScriptChg.Insert( nEnd, nScriptIdx );
- aScriptType.Insert( i18n::ScriptType::COMPLEX, nScriptIdx );
+ aScriptChg.insert( aScriptChg.begin() + nScriptIdx, nEnd );
+ aScriptType.insert( aScriptType.begin() + nScriptIdx, i18n::ScriptType::COMPLEX );
#if OSL_DEBUG_LEVEL > 1
BYTE nScriptType;
@@ -1384,7 +1389,7 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
(void) nLastScriptChg;
(void) nLastScriptType;
- for ( USHORT i2 = 0; i2 < aScriptChg.Count(); ++i2 )
+ for ( size_t i2 = 0; i2 < aScriptChg.size(); ++i2 )
{
nScriptChg = GetScriptChg( i2 );
nScriptType = GetScriptType( i2 );
@@ -1401,9 +1406,8 @@ void SwScriptInfo::InitScriptInfo( const SwTxtNode& rNode, sal_Bool bRTL )
void SwScriptInfo::UpdateBidiInfo( const String& rTxt )
{
// remove invalid entries from direction information arrays
- const USHORT nDirRemove = aDirChg.Count();
- aDirChg.Remove( 0, nDirRemove );
- aDirType.Remove( 0, nDirRemove );
+ aDirChg.clear();
+ aDirType.clear();
//
// Bidi functions from icu 2.0
@@ -1420,13 +1424,12 @@ void SwScriptInfo::UpdateBidiInfo( const String& rTxt )
int32_t nEnd;
UBiDiLevel nCurrDir;
// counter for direction information arrays
- USHORT nCntDir = 0;
for ( USHORT nIdx = 0; nIdx < nCount; ++nIdx )
{
ubidi_getLogicalRun( pBidi, nStart, &nEnd, &nCurrDir );
- aDirChg.Insert( (USHORT)nEnd, nCntDir );
- aDirType.Insert( (BYTE)nCurrDir, nCntDir++ );
+ aDirChg.push_back( (USHORT)nEnd );
+ aDirType.push_back( (BYTE)nCurrDir );
nStart = nEnd;
}
@@ -2011,7 +2014,7 @@ sal_Bool SwScriptInfo::IsArabicText( const XubString& rTxt, xub_StrLen nStt, xub
sal_Bool SwScriptInfo::IsKashidaValid ( xub_StrLen nKashPos ) const
{
- for ( xub_StrLen i = 0; i < aKashidaInvalid.Count(); ++i )
+ for ( size_t i = 0; i < aKashidaInvalid.size(); ++i )
{
if ( aKashidaInvalid [ i ] == nKashPos )
return false;
@@ -2023,13 +2026,13 @@ sal_Bool SwScriptInfo::IsKashidaValid ( xub_StrLen nKashPos ) const
* SwScriptInfo::ClearKashidaInvalid()
*************************************************************************/
-void SwScriptInfo::ClearKashidaInvalid ( xub_StrLen nKashPos )
+void SwScriptInfo::ClearKashidaInvalid ( xub_StrLen nKashPos )
{
- for ( xub_StrLen i = 0; i < aKashidaInvalid.Count(); ++i )
+ for ( size_t i = 0; i < aKashidaInvalid.size(); ++i )
{
if ( aKashidaInvalid [ i ] == nKashPos )
{
- aKashidaInvalid.Remove (i, 1);
+ aKashidaInvalid.erase ( aKashidaInvalid.begin() + i );
return;
}
}
@@ -2085,7 +2088,7 @@ bool SwScriptInfo::MarkOrClearKashidaInvalid ( xub_StrLen nStt, xub_StrLen nLen,
void SwScriptInfo::MarkKashidaInvalid ( xub_StrLen nKashPos )
{
- aKashidaInvalid.Insert( nKashPos, aKashidaInvalid.Count() );
+ aKashidaInvalid.push_back( nKashPos );
}
/*************************************************************************
@@ -2122,8 +2125,8 @@ USHORT SwScriptInfo::GetKashidaPositions ( xub_StrLen nStt, xub_StrLen nLen,
void SwScriptInfo::SetNoKashidaLine ( xub_StrLen nStt, xub_StrLen nLen )
{
- aNoKashidaLine.Insert( nStt, aNoKashidaLine.Count());
- aNoKashidaLineEnd.Insert( nStt+nLen, aNoKashidaLineEnd.Count());
+ aNoKashidaLine.push_back( nStt );
+ aNoKashidaLineEnd.push_back( nStt+nLen );
}
/*************************************************************************
@@ -2133,7 +2136,7 @@ void SwScriptInfo::SetNoKashidaLine ( xub_StrLen nStt, xub_StrLen nLen )
bool SwScriptInfo::IsKashidaLine ( xub_StrLen nCharIdx ) const
{
- for( xub_StrLen i = 0; i < aNoKashidaLine.Count(); ++i )
+ for( size_t i = 0; i < aNoKashidaLine.size(); ++i )
{
if( nCharIdx >= aNoKashidaLine[ i ] && nCharIdx < aNoKashidaLineEnd[ i ])
return false;
@@ -2146,13 +2149,13 @@ bool SwScriptInfo::IsKashidaLine ( xub_StrLen nCharIdx ) const
void SwScriptInfo::ClearNoKashidaLine ( xub_StrLen nStt, xub_StrLen nLen )
{
- xub_StrLen i = 0;
- while( i < aNoKashidaLine.Count())
+ size_t i = 0;
+ while( i < aNoKashidaLine.size())
{
if( nStt + nLen >= aNoKashidaLine[ i ] && nStt < aNoKashidaLineEnd [ i ] )
{
- aNoKashidaLine.Remove(i, 1);
- aNoKashidaLineEnd.Remove(i, 1);
+ aNoKashidaLine.erase(aNoKashidaLine.begin() + i);
+ aNoKashidaLineEnd.erase(aNoKashidaLineEnd.begin() + i);
}
else
++i;
diff --git a/sw/source/core/text/pormulti.cxx b/sw/source/core/text/pormulti.cxx
index f9f86db667b9..35f45f20d4c7 100644
--- a/sw/source/core/text/pormulti.cxx
+++ b/sw/source/core/text/pormulti.cxx
@@ -1022,10 +1022,10 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
{
pRet->pItem = NULL;
pRet->pAttr = (*pHints)[n2Lines];
- aEnd.Insert( *pRet->pAttr->GetEnd(), 0 );
+ aEnd.push_front( *pRet->pAttr->GetEnd() );
if( pItem )
{
- aEnd[ 0 ] = GetTxt().Len();
+ aEnd.front() = GetTxt().Len();
bOn = ((SvxTwoLinesItem*)pItem)->GetEndBracket() ==
p2Lines->GetEndBracket() &&
((SvxTwoLinesItem*)pItem)->GetStartBracket() ==
@@ -1036,7 +1036,7 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
{
pRet->pItem = pItem;
pRet->pAttr = NULL;
- aEnd.Insert( GetTxt().Len(), 0 );
+ aEnd.push_front( GetTxt().Len() );
}
pRet->nId = SW_MC_DOUBLE;
pRet->nLevel = GetTxtFrm()->IsRightToLeft() ? 1 : 0;
@@ -1070,23 +1070,23 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
// If the start of the next atribute is behind the end of
// the last attribute on the aEnd-stack, this is the endposition
// on the stack is the end of the 2-line portion.
- if( !bOn || aEnd[ aEnd.Count()-1 ] < *pTmp->GetStart() )
+ if( !bOn || aEnd.back() < *pTmp->GetStart() )
break;
// At this moment, bOn is TRUE and the next attribute starts
// behind rPos, so we could move rPos to the next startpoint
rPos = *pTmp->GetStart();
// We clean up the aEnd-stack, endpositions equal to rPos are
// superfluous.
- while( aEnd.Count() && aEnd[ aEnd.Count()-1 ] <= rPos )
+ while( !aEnd.empty() && aEnd.back() <= rPos )
{
bOn = !bOn;
- aEnd.Remove( aEnd.Count()-1, 1 );
+ aEnd.pop_back();
}
// If the endstack is empty, we simulate an attribute with
// state TRUE and endposition rPos
- if( !aEnd.Count() )
+ if( aEnd.empty() )
{
- aEnd.Insert( rPos, 0 );
+ aEnd.push_front( rPos );
bOn = sal_True;
}
}
@@ -1098,8 +1098,8 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
if( bTwo == bOn )
{ // .. with the same state, so the last attribute could
// be continued.
- if( aEnd[ aEnd.Count()-1 ] < *pTmp->GetEnd() )
- aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
+ if( aEnd.back() < *pTmp->GetEnd() )
+ aEnd.back() = *pTmp->GetEnd();
}
else
{ // .. with a different state.
@@ -1107,17 +1107,17 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
// If this is smaller than the last on the stack, we put
// it on the stack. If it has the same endposition, the last
// could be removed.
- if( aEnd[ aEnd.Count()-1 ] > *pTmp->GetEnd() )
- aEnd.Insert( *pTmp->GetEnd(), aEnd.Count() );
- else if( aEnd.Count() > 1 )
- aEnd.Remove( aEnd.Count()-1, 1 );
+ if( aEnd.back() > *pTmp->GetEnd() )
+ aEnd.push_back( *pTmp->GetEnd() );
+ else if( aEnd.size() > 1 )
+ aEnd.pop_back();
else
- aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
+ aEnd.back() = *pTmp->GetEnd();
}
}
}
- if( bOn && aEnd.Count() )
- rPos = aEnd[ aEnd.Count()-1 ];
+ if( bOn && !aEnd.empty() )
+ rPos = aEnd.back();
return pRet;
}
if( nRotate < nCount || ( pRotItem && pRotItem == pRotate &&
@@ -1133,7 +1133,7 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
// The bOn flag signs the state of the last 2-line attribute in the
// aEnd-stack, which could interrupts the winning rotation attribute.
sal_Bool bOn = pItem ? sal_True : sal_False;
- aEnd.Insert( GetTxt().Len(), 0 );
+ aEnd.push_front( GetTxt().Len() );
// n2Lines is the index of the last 2-line-attribute, which contains
// the actual position.
i = 0;
@@ -1145,17 +1145,17 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
continue;
if( n2Start < *pTmp->GetStart() )
{
- if( bOn || aEnd[ aEnd.Count()-1 ] < *pTmp->GetStart() )
+ if( bOn || aEnd.back() < *pTmp->GetStart() )
break;
n2Start = *pTmp->GetStart();
- while( aEnd.Count() && aEnd[ aEnd.Count()-1 ] <= n2Start )
+ while( !aEnd.empty() && aEnd.back() <= n2Start )
{
bOn = !bOn;
- aEnd.Remove( aEnd.Count()-1, 1 );
+ aEnd.pop_back();
}
- if( !aEnd.Count() )
+ if( aEnd.empty() )
{
- aEnd.Insert( n2Start, 0 );
+ aEnd.push_front( n2Start );
bOn = sal_False;
}
}
@@ -1170,36 +1170,36 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
{
if( bTwo == bOn )
{
- if( aEnd[ aEnd.Count()-1 ] < *pTmp->GetEnd() )
- aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
+ if( aEnd.back() < *pTmp->GetEnd() )
+ aEnd.back() = *pTmp->GetEnd();
}
else
{
bOn = bTwo;
- if( aEnd[ aEnd.Count()-1 ] > *pTmp->GetEnd() )
- aEnd.Insert( *pTmp->GetEnd(), aEnd.Count() );
- else if( aEnd.Count() > 1 )
- aEnd.Remove( aEnd.Count()-1, 1 );
+ if( aEnd.back() > *pTmp->GetEnd() )
+ aEnd.push_back( *pTmp->GetEnd() );
+ else if( aEnd.size() > 1 )
+ aEnd.pop_back();
else
- aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
+ aEnd.back() = *pTmp->GetEnd();
}
}
}
- if( !bOn && aEnd.Count() )
- n2Start = aEnd[ aEnd.Count()-1 ];
+ if( !bOn && !aEnd.empty() )
+ n2Start = aEnd.back();
- if( aEnd.Count() )
- aEnd.Remove( 0, aEnd.Count() );
+ if( !aEnd.empty() )
+ aEnd.clear();
bOn = sal_True;
if( nRotate < nCount )
{
pRet->pItem = NULL;
pRet->pAttr = (*pHints)[nRotate];
- aEnd.Insert( *pRet->pAttr->GetEnd(), 0 );
+ aEnd.push_front( *pRet->pAttr->GetEnd() );
if( pRotItem )
{
- aEnd[ 0 ] = GetTxt().Len();
+ aEnd.front() = GetTxt().Len();
bOn = ((SvxCharRotateItem*)pRotItem)->GetValue() ==
pRotate->GetValue();
}
@@ -1208,7 +1208,7 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
{
pRet->pItem = pRotItem;
pRet->pAttr = NULL;
- aEnd.Insert( GetTxt().Len(), 0 );
+ aEnd.push_front( GetTxt().Len() );
}
i = 0;
while( i < nCount )
@@ -1218,17 +1218,17 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
continue;
if( rPos < *pTmp->GetStart() )
{
- if( !bOn || aEnd[ aEnd.Count()-1 ] < *pTmp->GetStart() )
+ if( !bOn || aEnd.back() < *pTmp->GetStart() )
break;
rPos = *pTmp->GetStart();
- while( aEnd.Count() && aEnd[ aEnd.Count()-1 ] <= rPos )
+ while( !aEnd.empty() && aEnd.back() <= rPos )
{
bOn = !bOn;
- aEnd.Remove( aEnd.Count()-1, 1 );
+ aEnd.pop_back();
}
- if( !aEnd.Count() )
+ if( aEnd.empty() )
{
- aEnd.Insert( rPos, 0 );
+ aEnd.push_front( rPos );
bOn = sal_True;
}
}
@@ -1241,23 +1241,23 @@ SwMultiCreator* SwTxtSizeInfo::GetMultiCreator( xub_StrLen &rPos,
{
if( bTwo == bOn )
{
- if( aEnd[ aEnd.Count()-1 ] < *pTmp->GetEnd() )
- aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
+ if( aEnd.back() < *pTmp->GetEnd() )
+ aEnd.back() = *pTmp->GetEnd();
}
else
{
bOn = bTwo;
- if( aEnd[ aEnd.Count()-1 ] > *pTmp->GetEnd() )
- aEnd.Insert( *pTmp->GetEnd(), aEnd.Count() );
- else if( aEnd.Count() > 1 )
- aEnd.Remove( aEnd.Count()-1, 1 );
+ if( aEnd.back() > *pTmp->GetEnd() )
+ aEnd.push_back( *pTmp->GetEnd() );
+ else if( aEnd.size() > 1 )
+ aEnd.pop_back();
else
- aEnd[ aEnd.Count()-1 ] = *pTmp->GetEnd();
+ aEnd.back() = *pTmp->GetEnd();
}
}
}
- if( bOn && aEnd.Count() )
- rPos = aEnd[ aEnd.Count()-1 ];
+ if( bOn && !aEnd.empty() )
+ rPos = aEnd.back();
if( rPos > n2Start )
rPos = n2Start;
return pRet;
diff --git a/sw/source/core/text/txtfld.cxx b/sw/source/core/text/txtfld.cxx
index 526dbe74c4d9..514ac96d3d46 100644
--- a/sw/source/core/text/txtfld.cxx
+++ b/sw/source/core/text/txtfld.cxx
@@ -106,6 +106,8 @@ SwExpandPortion *SwTxtFormatter::NewFldPortion( SwTxtFormatInfo &rInf,
}
ViewShell *pSh = rInf.GetVsh();
+ SwDoc *const pDoc( (pSh) ? pSh->GetDoc() : 0 );
+ bool const bInClipboard( (pDoc) ? pDoc->IsClipBoard() : true );
sal_Bool bPlaceHolder = sal_False;
switch( pFld->GetTyp()->Which() )
@@ -117,16 +119,26 @@ SwExpandPortion *SwTxtFormatter::NewFldPortion( SwTxtFormatInfo &rInf,
case RES_COMBINED_CHARS:
{
- String sStr( pFld->GetCntnt( bName ));
if( bName )
- pRet = new SwFldPortion( sStr );
+ {
+ String const sName( pFld->GetFieldName() );
+ pRet = new SwFldPortion(sName);
+ }
else
- pRet = new SwCombinedPortion( sStr );
+ {
+ String const sContent( pFld->ExpandField(bInClipboard) );
+ pRet = new SwCombinedPortion(sContent);
+ }
}
break;
case RES_HIDDENTXTFLD:
- pRet = new SwHiddenPortion(pFld->GetCntnt( bName ));
+ {
+ String const str( (bName)
+ ? pFld->GetFieldName()
+ : pFld->ExpandField(bInClipboard) );
+ pRet = new SwHiddenPortion(str);
+ }
break;
case RES_CHAPTERFLD:
@@ -135,13 +147,25 @@ SwExpandPortion *SwTxtFormatter::NewFldPortion( SwTxtFormatInfo &rInf,
((SwChapterField*)pFld)->ChangeExpansion( pFrame,
&((SwTxtFld*)pHint)->GetTxtNode() );
}
- pRet = new SwFldPortion( pFld->GetCntnt( bName ) );
+ {
+ String const str( (bName)
+ ? pFld->GetFieldName()
+ : pFld->ExpandField(bInClipboard) );
+ pRet = new SwFldPortion( str );
+ }
break;
case RES_DOCSTATFLD:
if( !bName && pSh && !pSh->Imp()->IsUpdateExpFlds() )
+ {
((SwDocStatField*)pFld)->ChangeExpansion( pFrame );
- pRet = new SwFldPortion( pFld->GetCntnt( bName ) );
+ }
+ {
+ String const str( (bName)
+ ? pFld->GetFieldName()
+ : pFld->ExpandField(bInClipboard) );
+ pRet = new SwFldPortion( str );
+ }
break;
case RES_PAGENUMBERFLD:
@@ -153,7 +177,6 @@ SwExpandPortion *SwTxtFormatter::NewFldPortion( SwTxtFormatInfo &rInf,
const SwRootFrm* pTmpRootFrm = pSh->GetLayout();
const sal_Bool bVirt = pTmpRootFrm->IsVirtPageNum();
- SwDoc* pDoc = pSh->GetDoc();
MSHORT nVirtNum = pFrame->GetVirtPageNum();
MSHORT nNumPages = pTmpRootFrm->GetPageNum();
sal_Int16 nNumFmt = -1;
@@ -163,7 +186,12 @@ SwExpandPortion *SwTxtFormatter::NewFldPortion( SwTxtFormatInfo &rInf,
pPageNr->ChangeExpansion( pDoc, nVirtNum, nNumPages,
bVirt, nNumFmt > -1 ? &nNumFmt : 0);
}
- pRet = new SwFldPortion( pFld->GetCntnt( bName ) );
+ {
+ String const str( (bName)
+ ? pFld->GetFieldName()
+ : pFld->ExpandField(bInClipboard) );
+ pRet = new SwFldPortion( str );
+ }
break;
}
case RES_GETEXPFLD:
@@ -183,7 +211,12 @@ SwExpandPortion *SwTxtFormatter::NewFldPortion( SwTxtFormatInfo &rInf,
pExpFld->ChgBodyTxtFlag( sal_True );
}
}
- pRet = new SwFldPortion( pFld->GetCntnt( bName ) );
+ {
+ String const str( (bName)
+ ? pFld->GetFieldName()
+ : pFld->ExpandField(bInClipboard) );
+ pRet = new SwFldPortion( str );
+ }
break;
}
case RES_DBFLD:
@@ -207,13 +240,25 @@ SwExpandPortion *SwTxtFormatter::NewFldPortion( SwTxtFormatInfo &rInf,
}
*/
}
- pRet = new SwFldPortion( pFld->GetCntnt( bName ) );
+ {
+ String const str( (bName)
+ ? pFld->GetFieldName()
+ : pFld->ExpandField(bInClipboard) );
+ pRet = new SwFldPortion(str);
+ }
break;
}
case RES_REFPAGEGETFLD:
if( !bName && pSh && !pSh->Imp()->IsUpdateExpFlds() )
+ {
((SwRefPageGetField*)pFld)->ChangeExpansion( pFrame, (SwTxtFld*)pHint );
- pRet = new SwFldPortion( pFld->GetCntnt( bName ) );
+ }
+ {
+ String const str( (bName)
+ ? pFld->GetFieldName()
+ : pFld->ExpandField(bInClipboard) );
+ pRet = new SwFldPortion(str);
+ }
break;
case RES_JUMPEDITFLD:
@@ -224,9 +269,12 @@ SwExpandPortion *SwTxtFormatter::NewFldPortion( SwTxtFormatInfo &rInf,
break;
default:
- {
- pRet = new SwFldPortion(pFld->GetCntnt( bName ) );
- }
+ {
+ String const str( (bName)
+ ? pFld->GetFieldName()
+ : pFld->ExpandField(bInClipboard) );
+ pRet = new SwFldPortion(str);
+ }
}
if( bNewFlyPor )
@@ -249,7 +297,12 @@ SwExpandPortion *SwTxtFormatter::NewFldPortion( SwTxtFormatInfo &rInf,
else
pTmpFnt->SetDiffFnt( &pChFmt->GetAttrSet(), pFrm->GetTxtNode()->getIDocumentSettingAccess() );
}
- pRet = new SwFldPortion( pFld->GetCntnt( bName ), pTmpFnt, bPlaceHolder );
+ {
+ String const str( (bName)
+ ? pFld->GetFieldName()
+ : pFld->ExpandField(bInClipboard) );
+ pRet = new SwFldPortion(str, pTmpFnt, bPlaceHolder);
+ }
}
return pRet;
@@ -488,13 +541,7 @@ SwNumberPortion *SwTxtFormatter::NewNumberPortion( SwTxtFormatInfo &rInf ) const
}
else
{
- // --> OD 2006-06-02 #b6432095#
- // use method <SwNumRule::MakeNumString(..)> instead of
- // method <SwTxtNode::GetNumString()>, because for levels with
- // numbering none the prefix and the suffix strings have to be provided.
-// XubString aTxt( pTxtNd->GetNumString() );
- XubString aTxt( pNumRule->MakeNumString( *(pTxtNd->GetNum()) ) );
- // <--
+ XubString aTxt( pTxtNd->GetNumString() );
// --> OD 2008-01-23 #newlistlevelattrs#
if ( aTxt.Len() > 0 )
{
diff --git a/sw/source/core/tox/txmsrt.cxx b/sw/source/core/tox/txmsrt.cxx
index 61f873b010b7..ba3145c1139b 100644
--- a/sw/source/core/tox/txmsrt.cxx
+++ b/sw/source/core/tox/txmsrt.cxx
@@ -51,9 +51,7 @@
#include <authfld.hxx>
#include <toxwrap.hxx>
-#ifndef _COMCORE_HRC
#include <comcore.hrc>
-#endif
#include <numrule.hxx>
extern BOOL IsFrameBehind( const SwTxtNode& rMyNd, xub_StrLen nMySttPos,
@@ -403,7 +401,7 @@ BOOL SwTOXIndex::operator<( const SwTOXSortTabBase& rCmpBase )
//
-void SwTOXIndex::_GetText( String& rTxt, String& rTxtReading )
+void SwTOXIndex::GetText_Impl( String& rTxt, String& rTxtReading ) const
{
ASSERT(pTxtMark, "pTxtMark == 0, Kein Stichwort");
const SwTOXMark& rTOXMark = pTxtMark->GetTOXMark();
@@ -530,7 +528,7 @@ USHORT SwTOXCustom::GetLevel() const
}
-void SwTOXCustom::_GetText( String& rTxt, String &rTxtReading )
+void SwTOXCustom::GetText_Impl( String& rTxt, String &rTxtReading ) const
{
rTxt = aKey;
rTxtReading = sReading;
@@ -553,7 +551,7 @@ SwTOXContent::SwTOXContent( const SwTxtNode& rNd, const SwTxtTOXMark* pMark,
// Der Text des Inhalts
//
-void SwTOXContent::_GetText( String& rTxt, String& rTxtReading )
+void SwTOXContent::GetText_Impl( String& rTxt, String& rTxtReading ) const
{
const xub_StrLen* pEnd = pTxtMark->GetEnd();
if( pEnd && !pTxtMark->GetTOXMark().IsAlternativeText() )
@@ -612,7 +610,7 @@ SwTOXPara::SwTOXPara( const SwCntntNode& rNd, SwTOXElement eT, USHORT nLevel )
}
-void SwTOXPara::_GetText( String& rTxt, String& )
+void SwTOXPara::GetText_Impl( String& rTxt, String& ) const
{
const SwCntntNode* pNd = aTOXSources[0].pNd;
switch( eType )
@@ -801,7 +799,7 @@ SwTOXTable::SwTOXTable( const SwCntntNode& rNd )
}
-void SwTOXTable::_GetText( String& rTxt, String& )
+void SwTOXTable::GetText_Impl( String& rTxt, String& ) const
{
const SwNode* pNd = aTOXSources[0].pNd;
if( pNd && 0 != ( pNd = pNd->FindTableNode() ) )
@@ -868,11 +866,14 @@ USHORT SwTOXAuthority::GetLevel() const
/*-- 15.09.99 14:28:08---------------------------------------------------
-----------------------------------------------------------------------*/
-void SwTOXAuthority::_GetText( String& rTxt, String& )
+static String lcl_GetText(SwFmtFld const& rField)
+{
+ return rField.GetFld()->ExpandField(true);
+}
+
+void SwTOXAuthority::GetText_Impl( String& rTxt, String& ) const
{
- bool const isClipBoard(
- m_rField.GetTxtFld()->GetTxtNode().GetDoc()->IsClipBoard());
- rTxt = m_rField.GetFld()->ExpandField(isClipBoard);
+ rTxt = lcl_GetText(m_rField);
}
/* -----------------21.09.99 12:50-------------------
@@ -885,7 +886,7 @@ void SwTOXAuthority::FillText( SwTxtNode& rNd,
String sText;
if(AUTH_FIELD_IDENTIFIER == nAuthField)
{
- sText = pField->Expand();
+ sText = lcl_GetText(m_rField);
const SwAuthorityFieldType* pType = (const SwAuthorityFieldType*)pField->GetTyp();
sal_Unicode cChar = pType->GetPrefix();
if(cChar && cChar != ' ')
diff --git a/sw/source/core/txtnode/atrfld.cxx b/sw/source/core/txtnode/atrfld.cxx
index 6b1adc76fbec..be01f06cd472 100644
--- a/sw/source/core/txtnode/atrfld.cxx
+++ b/sw/source/core/txtnode/atrfld.cxx
@@ -259,10 +259,9 @@ BOOL SwFmtFld::IsProtect() const
|*
*************************************************************************/
-SwTxtFld::SwTxtFld(SwFmtFld & rAttr, xub_StrLen const nStartPos,
- bool const bInClipboard)
+SwTxtFld::SwTxtFld(SwFmtFld & rAttr, xub_StrLen const nStartPos)
: SwTxtAttr( rAttr, nStartPos )
- , m_aExpand( rAttr.GetFld()->ExpandField(bInClipboard) )
+ , m_aExpand( rAttr.GetFld()->ExpandField(true) )
, m_pTxtNode( 0 )
{
rAttr.pTxtAttr = this;
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index 76560bae91d7..d6a6dfb045ac 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -99,6 +99,10 @@
#include <list.hxx>
// <--
+
+using namespace ::com::sun::star;
+
+
SV_DECL_PTRARR( TmpHints, SwTxtAttr*, 0, 4 )
TYPEINIT1( SwTxtNode, SwCntntNode )
@@ -2566,9 +2570,14 @@ void SwTxtNode::NumRuleChgd()
}
SetInSwFntCache( FALSE );
- SvxLRSpaceItem& rLR = (SvxLRSpaceItem&)GetSwAttrSet().GetLRSpace();
-
- SwModify::Modify( &rLR, &rLR );
+ // Sending "noop" modify in order to cause invalidations of registered
+ // <SwTxtFrm> instances to get the list style change respectively the change
+ // in the list tree reflected in the layout.
+ // Important note:
+ {
+ SvxLRSpaceItem& rLR = (SvxLRSpaceItem&)GetSwAttrSet().GetLRSpace();
+ SwModify::Modify( &rLR, &rLR );
+ }
}
// -> #i27615#
@@ -2834,13 +2843,19 @@ XubString SwTxtNode::GetNumString( const bool _bInclPrefixAndSuffixStrings, cons
}
const SwNumRule* pRule = GetNum() ? GetNum()->GetNumRule() : 0L;
if ( pRule &&
- IsCountedInList() &&
- pRule->Get( static_cast<USHORT>(GetActualListLevel()) ).IsTxtFmt() )
+ IsCountedInList() )
{
- return pRule->MakeNumString( GetNum()->GetNumberVector(),
+ SvxNumberType const& rNumberType(
+ pRule->Get( static_cast<USHORT>(GetActualListLevel()) ) );
+ if (rNumberType.IsTxtFmt() ||
+ // #b6432095#
+ (style::NumberingType::NUMBER_NONE == rNumberType.GetNumberingType()))
+ {
+ return pRule->MakeNumString( GetNum()->GetNumberVector(),
_bInclPrefixAndSuffixStrings ? TRUE : FALSE,
FALSE,
_nRestrictToThisLevel );
+ }
}
return aEmptyStr;
@@ -3057,8 +3072,7 @@ void SwTxtNode::Replace0xFF( XubString& rTxt, xub_StrLen& rTxtStt,
{
const XubString aExpand(
static_cast<SwTxtFld const*>(pAttr)->GetFld()
- .GetFld()->ExpandField(
- GetDoc()->IsClipBoard()));
+ .GetFld()->ExpandField(true));
rTxt.Insert( aExpand, nPos );
nPos = nPos + aExpand.Len();
nEndPos = nEndPos + aExpand.Len();
@@ -3207,7 +3221,7 @@ BOOL SwTxtNode::GetExpandTxt( SwTxtNode& rDestNd, const SwIndex* pDestIdx,
{
XubString const aExpand(
static_cast<SwTxtFld const*>(pHt)->GetFld().GetFld()
- ->ExpandField(GetDoc()->IsClipBoard()));
+ ->ExpandField(true));
if( aExpand.Len() )
{
aDestIdx++; // dahinter einfuegen;
@@ -3305,7 +3319,7 @@ const ModelToViewHelper::ConversionMap*
{
const XubString aExpand(
static_cast<SwTxtFld const*>(pAttr)->GetFld().GetFld()
- ->ExpandField(GetDoc()->IsClipBoard()));
+ ->ExpandField(true));
if ( aExpand.Len() > 0 )
{
const xub_StrLen nFieldPos = *pAttr->GetStart();
@@ -5080,8 +5094,6 @@ bool SwTxtNode::IsInContent() const
#include <unoparagraph.hxx>
-using namespace ::com::sun::star;
-
uno::Reference< rdf::XMetadatable >
SwTxtNode::MakeUnoObject()
{
diff --git a/sw/source/core/txtnode/thints.cxx b/sw/source/core/txtnode/thints.cxx
index ac2f281b0d90..4d56942ecef4 100644
--- a/sw/source/core/txtnode/thints.cxx
+++ b/sw/source/core/txtnode/thints.cxx
@@ -1043,8 +1043,7 @@ SwTxtAttr* MakeTxtAttr( SwDoc & rDoc, SfxPoolItem& rAttr,
pNew = new SwTxtINetFmt( (SwFmtINetFmt&)rNew, nStt, nEnd );
break;
case RES_TXTATR_FIELD:
- pNew = new SwTxtFld( static_cast<SwFmtFld &>(rNew), nStt,
- rDoc.IsClipBoard() );
+ pNew = new SwTxtFld( static_cast<SwFmtFld &>(rNew), nStt );
break;
case RES_TXTATR_FLYCNT:
{
diff --git a/sw/source/core/undo/makefile.mk b/sw/source/core/undo/makefile.mk
index c381761adba1..35771fa444bf 100644
--- a/sw/source/core/undo/makefile.mk
+++ b/sw/source/core/undo/makefile.mk
@@ -49,6 +49,7 @@ EXCEPTIONSFILES = \
$(SLO)$/unattr.obj \
$(SLO)$/undobj.obj \
$(SLO)$/undraw.obj \
+ $(SLO)$/unnum.obj \
$(SLO)$/unovwr.obj \
$(SLO)$/untbl.obj
diff --git a/sw/source/core/undo/rolbck.cxx b/sw/source/core/undo/rolbck.cxx
index 6df9f9aa24b8..d9a0cc8514a4 100644
--- a/sw/source/core/undo/rolbck.cxx
+++ b/sw/source/core/undo/rolbck.cxx
@@ -1389,7 +1389,13 @@ SwRegHistory::SwRegHistory( const SwNode& rNd, SwHistory* pHst )
void SwRegHistory::Modify( SfxPoolItem* pOld, SfxPoolItem* pNew )
{
- if ( m_pHistory && ( pOld || pNew ) )
+ // --> OD 2010-10-05 #i114861#
+ // Do not handle a "noop" modify
+ // - e.g. <SwTxtNode::NumRuleChgd()> uses such a "noop" modify
+// if ( m_pHistory && ( pOld || pNew ) )
+ if ( m_pHistory && ( pOld || pNew ) &&
+ pOld != pNew )
+ // <--
{
if ( pNew->Which() < POOLATTR_END )
{
diff --git a/sw/source/core/undo/unnum.cxx b/sw/source/core/undo/unnum.cxx
index e7885db39b5f..8cf782e85b53 100644
--- a/sw/source/core/undo/unnum.cxx
+++ b/sw/source/core/undo/unnum.cxx
@@ -197,13 +197,12 @@ void SwUndoInsNum::SaveOldNumRule( const SwNumRule& rOld )
pOldNumRule = new SwNumRule( rOld );
}
-/* */
+/* */
SwUndoDelNum::SwUndoDelNum( const SwPaM& rPam )
: SwUndo( UNDO_DELNUM ), SwUndRng( rPam ),
- aNodeIdx( BYTE( nEndNode - nSttNode > 255 ? 255 : nEndNode - nSttNode )),
- aLevels( BYTE( nEndNode - nSttNode > 255 ? 255 : nEndNode - nSttNode ))
+ aNodeIdx( BYTE( nEndNode - nSttNode > 255 ? 255 : nEndNode - nSttNode ))
{
pHistory = new SwHistory;
}
@@ -229,7 +228,7 @@ void SwUndoDelNum::Undo( SwUndoIter& rUndoIter )
for( USHORT n = 0; n < aNodeIdx.Count(); ++n )
{
SwTxtNode* pNd = rDoc.GetNodes()[ aNodeIdx[ n ] ]->GetTxtNode();
- ASSERT( pNd, "wo ist der TextNode geblieben?" );
+ ASSERT( pNd, "Where is TextNode gone?" );
pNd->SetAttrListLevel(aLevels[ n ] );
if( pNd->GetCondFmtColl() )
@@ -261,12 +260,12 @@ void SwUndoDelNum::AddNode( const SwTxtNode& rNd, BOOL )
USHORT nIns = aNodeIdx.Count();
aNodeIdx.Insert( rNd.GetIndex(), nIns );
- aLevels.Insert( static_cast<BYTE>(rNd.GetActualListLevel()), nIns );
+ aLevels.insert( aLevels.begin() + nIns, static_cast<BYTE>(rNd.GetActualListLevel()) );
}
}
-/* */
+/* */
SwUndoMoveNum::SwUndoMoveNum( const SwPaM& rPam, long nOff, BOOL bIsOutlMv )
@@ -325,7 +324,7 @@ void SwUndoMoveNum::Repeat( SwUndoIter& rUndoIter )
rUndoIter.GetDoc().MoveParagraph( *rUndoIter.pAktPam, nOffset, FALSE );
}
-/* */
+/* */
SwUndoNumUpDown::SwUndoNumUpDown( const SwPaM& rPam, short nOff )
@@ -356,7 +355,7 @@ void SwUndoNumUpDown::Repeat( SwUndoIter& rUndoIter )
rUndoIter.GetDoc().NumUpDown( *rUndoIter.pAktPam, 1 == nOffset );
}
-/* */
+/* */
// #115901#
SwUndoNumOrNoNum::SwUndoNumOrNoNum( const SwNodeIndex& rIdx, BOOL bOldNum,
@@ -402,7 +401,7 @@ void SwUndoNumOrNoNum::Repeat( SwUndoIter& rUndoIter )
TRUE);
}
-/* */
+/* */
SwUndoNumRuleStart::SwUndoNumRuleStart( const SwPosition& rPos, BOOL bFlg )
: SwUndo( UNDO_SETNUMRULESTART ),
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index f66cae89ce21..9a654170187a 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -1745,7 +1745,7 @@ void SwUndoTblNdsChg::SaveNewBoxes( const SwTableNode& rTblNd,
( nNodes != ( pSourceBox->GetSttNd()->EndOfSectionIndex() -
pSourceBox->GetSttIdx() ) )
&& ( nNodes - 1 > nLineDiff );
- aMvBoxes.Insert( bNodesMoved, nInsPos );
+ aMvBoxes.insert( aMvBoxes.begin() + nInsPos, bNodesMoved );
}
}
}
@@ -1805,7 +1805,7 @@ void SwUndoTblNdsChg::Undo( SwUndoIter& rUndoIter )
}
Ptrs.pDelSects->DeleteAndDestroy( 0, Ptrs.pDelSects->Count() );
}
- else if( aMvBoxes.Count() )
+ else if( !aMvBoxes.empty() )
{
// dann muessen Nodes verschoben und nicht geloescht werden!
// Dafuer brauchen wir aber ein temp Array
diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx
index bd4a4ce5ef98..f63fee217e29 100644
--- a/sw/source/core/unocore/unofield.cxx
+++ b/sw/source/core/unocore/unofield.cxx
@@ -1267,13 +1267,16 @@ uno::Reference< beans::XPropertySet > SwXTextField::getTextFieldMaster(void) th
OUString SwXTextField::getPresentation(sal_Bool bShowCommand) throw( uno::RuntimeException )
{
vos::OGuard aGuard(Application::GetSolarMutex());
- OUString sRet;
- const SwField* pField = GetField();
- if(pField)
- sRet = pField->GetCntnt(bShowCommand);
- else
+
+ SwField const*const pField = GetField();
+ if (!pField)
+ {
throw uno::RuntimeException();
- return sRet;
+ }
+ ::rtl::OUString const ret( (bShowCommand)
+ ? pField->GetFieldName()
+ : pField->ExpandField(true) );
+ return ret;
}
/* -----------------18.02.99 13:39-------------------
*
diff --git a/sw/source/core/unocore/unostyle.cxx b/sw/source/core/unocore/unostyle.cxx
index 4309622c9545..ae23406c04ce 100644
--- a/sw/source/core/unocore/unostyle.cxx
+++ b/sw/source/core/unocore/unostyle.cxx
@@ -3993,11 +3993,11 @@ SwAutoStylesEnumImpl::SwAutoStylesEnumImpl( SwDoc* pInitDoc, IStyleAccess::SwAut
{
std::set< std::pair< USHORT, USHORT > > aRubyMap;
SwAttrPool& rAttrPool = pDoc->GetAttrPool();
- USHORT nCount = rAttrPool.GetItemCount( RES_TXTATR_CJK_RUBY );
+ sal_uInt32 nCount = rAttrPool.GetItemCount2( RES_TXTATR_CJK_RUBY );
- for ( USHORT nI = 0; nI < nCount; ++nI )
+ for ( sal_uInt32 nI = 0; nI < nCount; ++nI )
{
- const SwFmtRuby* pItem = static_cast<const SwFmtRuby*>(rAttrPool.GetItem( RES_TXTATR_CJK_RUBY, nI ));
+ const SwFmtRuby* pItem = static_cast<const SwFmtRuby*>(rAttrPool.GetItem2( RES_TXTATR_CJK_RUBY, nI ));
if ( pItem && pItem->GetTxtRuby() )
{
std::pair< USHORT, USHORT > aPair( pItem->GetPosition(), pItem->GetAdjustment() );
diff --git a/sw/source/core/unocore/unotbl.cxx b/sw/source/core/unocore/unotbl.cxx
index fdc382ad99d9..5669ec8e6b99 100644
--- a/sw/source/core/unocore/unotbl.cxx
+++ b/sw/source/core/unocore/unotbl.cxx
@@ -2285,17 +2285,6 @@ void SwTableProperties_Impl::ApplyTblAttr(const SwTable& rTbl, SwDoc& rDoc)
rDoc.SetAttr( aSet, *rTbl.GetFrmFmt() );
}
}
-/* -----------------------------11.07.00 12:14--------------------------------
-
- ---------------------------------------------------------------------------*/
-SwXTextTable* SwXTextTable::GetImplementation(uno::Reference< XInterface> xRef )
-{
- uno::Reference<lang::XUnoTunnel> xTunnel( xRef, uno::UNO_QUERY);
- if(xTunnel.is())
- return reinterpret_cast< SwXTextTable * >(
- sal::static_int_cast< sal_IntPtr >( xTunnel->getSomething(SwXTextTable::getUnoTunnelId()) ));
- return 0;
-}
/* -----------------------------10.03.00 18:02--------------------------------
---------------------------------------------------------------------------*/
diff --git a/sw/source/core/view/pagepreviewlayout.cxx b/sw/source/core/view/pagepreviewlayout.cxx
index 001d958bc523..6897e6065db0 100644
--- a/sw/source/core/view/pagepreviewlayout.cxx
+++ b/sw/source/core/view/pagepreviewlayout.cxx
@@ -1450,12 +1450,6 @@ sal_uInt16 SwPagePreviewLayout::GetColOfPage( sal_uInt16 _nPageNum ) const
return nCol;
}
-Size SwPagePreviewLayout::GetMaxPageSize() const
-{
- ASSERT( PreviewLayoutValid(), "PagePreviewLayout not valid" );
- return maMaxPageSize;
-}
-
Size SwPagePreviewLayout::GetPrevwDocSize() const
{
ASSERT( PreviewLayoutValid(), "PagePreviewLayout not valid" );
diff --git a/sw/source/core/view/printdata.cxx b/sw/source/core/view/printdata.cxx
index d6cbf11b8731..b54922a1b8e7 100644
--- a/sw/source/core/view/printdata.cxx
+++ b/sw/source/core/view/printdata.cxx
@@ -40,7 +40,6 @@
#include <wdocsh.hxx>
#include <viewsh.hxx>
#include <docfld.hxx>
-#include <swprtopt.hxx>
#include <svl/languageoptions.hxx>
#include <toolkit/awt/vclxdevice.hxx>
@@ -127,7 +126,7 @@ void SwRenderData::ViewOptionAdjustStart( SwWrtShell &rSh, const SwViewOption &r
}
-void SwRenderData::ViewOptionAdjust( const SwPrtOptions *pPrtOptions )
+void SwRenderData::ViewOptionAdjust(SwPrintData const*const pPrtOptions)
{
m_pViewOptionAdjust->AdjustViewOptions( pPrtOptions );
}
@@ -144,7 +143,7 @@ void SwRenderData::ViewOptionAdjustStop()
void SwRenderData::MakeSwPrtOptions(
- SwPrtOptions &rOptions,
+ SwPrintData & rOptions,
const SwDocShell *pDocShell,
const SwPrintUIOptions *pOpt,
const SwRenderData *pData,
@@ -156,7 +155,7 @@ void SwRenderData::MakeSwPrtOptions(
// get default print options
const TypeId aSwWebDocShellTypeId = TYPE(SwWebDocShell);
BOOL bWeb = pDocShell->IsA( aSwWebDocShellTypeId );
- rOptions.MakeOptions( bWeb );
+ ::sw::InitPrintOptionsFromApplication(rOptions, bWeb);
// get print options to use from provided properties
rOptions.bPrintGraphic = pOpt->IsPrintGraphics();
@@ -183,17 +182,6 @@ void SwRenderData::MakeSwPrtOptions(
//! function will destroy the pointers
rOptions.SetPrintUIOptions( pOpt );
rOptions.SetRenderData( pData );
-
- // rOptions.aMulti is not used anymore in the XRenderable API
- // Thus we set it to a dummy value here.
- rOptions.aMulti = MultiSelection( Range( 1, 1 ) );
-
- //! Note: Since for PDF export of (multi-)selection a temporary
- //! document is created that contains only the selects parts,
- //! and thus that document is to printed in whole the,
- //! rOptions.bPrintSelection parameter will be false.
- if (bIsPDFExport)
- rOptions.bPrintSelection = FALSE;
}
diff --git a/sw/source/core/view/vdraw.cxx b/sw/source/core/view/vdraw.cxx
index 1aa7c91a4c69..4c1f045f79be 100644
--- a/sw/source/core/view/vdraw.cxx
+++ b/sw/source/core/view/vdraw.cxx
@@ -52,7 +52,7 @@
#include "viewimp.hxx"
#include "dflyobj.hxx"
#include "viewopt.hxx"
-#include "swprtopt.hxx"
+#include "printdata.hxx"
#include "dcontact.hxx"
#include "dview.hxx"
#include "flyfrm.hxx"
@@ -179,7 +179,7 @@ void SwViewImp::UnlockPaint()
// outliner of the draw view for painting layers <hell> and <heaven>.
// OD 25.06.2003 #108784# - correct type of 1st parameter
void SwViewImp::PaintLayer( const SdrLayerID _nLayerID,
- const SwPrtOptions * _pPrintData,
+ SwPrintData const*const pPrintData,
const SwRect& ,
const Color* _pPageBackgrdColor,
const bool _bIsPageRightToLeft ) const
@@ -226,11 +226,11 @@ void SwViewImp::PaintLayer( const SdrLayerID _nLayerID,
}
pOutDev->Push( PUSH_LINECOLOR ); // #114231#
- if (_pPrintData)
+ if (pPrintData)
{
// hide drawings but not form controls (form controls are handled elsewhere)
SdrView &rSdrView = const_cast< SdrView & >(GetPageView()->GetView());
- rSdrView.setHideDraw( !_pPrintData->IsPrintDraw() );
+ rSdrView.setHideDraw( !pPrintData->IsPrintDraw() );
}
GetPageView()->DrawLayer(_nLayerID, pOutDev);
pOutDev->Pop();
diff --git a/sw/source/core/view/viewpg.cxx b/sw/source/core/view/viewpg.cxx
index fcb702a7112a..1119fc55d2a2 100644
--- a/sw/source/core/view/viewpg.cxx
+++ b/sw/source/core/view/viewpg.cxx
@@ -41,19 +41,15 @@
#include <rootfrm.hxx>
#include <viewimp.hxx>
#include <viewopt.hxx>
-#include <swprtopt.hxx> // SwPrtOptions
+#include <printdata.hxx>
#include <fldbas.hxx>
#include <ptqueue.hxx>
#include <swregion.hxx>
#include <hints.hxx>
#include <fntcache.hxx>
-#ifndef _STATSTR_HRC
#include <statstr.hrc> // Text fuer SfxProgress
-#endif
-#ifndef _COMCORE_HRC
#include <comcore.hrc>
-#endif
#include <IDocumentFieldsAccess.hxx>
#include <IDocumentDeviceAccess.hxx>
@@ -77,7 +73,7 @@ void ViewShell::ShowPreViewSelection( sal_uInt16 nSelPage )
OD 09.01.2003 #i6467#
*/
-void ViewShell::AdjustOptionsForPagePreview( const SwPrtOptions &_rPrintOptions )
+void ViewShell::AdjustOptionsForPagePreview(SwPrintData const& rPrintOptions)
{
if ( !IsPreView() )
{
@@ -85,7 +81,7 @@ void ViewShell::AdjustOptionsForPagePreview( const SwPrtOptions &_rPrintOptions
return;
}
- PrepareForPrint( _rPrintOptions );
+ PrepareForPrint( rPrintOptions );
return;
}
diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx
index e74fb21f720a..83e0289e6082 100755..100644
--- a/sw/source/core/view/vprint.cxx
+++ b/sw/source/core/view/vprint.cxx
@@ -71,7 +71,7 @@
#include <docufld.hxx> // PostItFld /-Type
#include <shellres.hxx>
#include <viewopt.hxx>
-#include <swprtopt.hxx> // SwPrtOptions
+#include <printdata.hxx> // SwPrintData
#include <pagedesc.hxx>
#include <poolfmt.hxx> // fuer RES_POOLPAGE_JAKET
#include <mdiexp.hxx> // Ansteuern der Statusleiste
@@ -369,107 +369,6 @@ void ViewShell::CalcPagesForPrint( USHORT nMax )
/******************************************************************************/
-SwDoc * ViewShell::CreatePrtDoc( SfxObjectShellRef &rDocShellRef)
-{
- ASSERT( this->IsA( TYPE(SwFEShell) ),"ViewShell::Prt for FEShell only");
- SwFEShell* pFESh = (SwFEShell*)this;
- // Wir bauen uns ein neues Dokument
- SwDoc *pPrtDoc = new SwDoc;
- pPrtDoc->acquire();
- pPrtDoc->SetRefForDocShell( (SfxObjectShellRef*)&(long&)rDocShellRef );
- pPrtDoc->LockExpFlds();
-
- const SfxPoolItem* pCpyItem;
- const SfxItemPool& rPool = GetAttrPool();
- for( USHORT nWh = POOLATTR_BEGIN; nWh < POOLATTR_END; ++nWh )
- if( 0 != ( pCpyItem = rPool.GetPoolDefaultItem( nWh ) ) )
- pPrtDoc->GetAttrPool().SetPoolDefaultItem( *pCpyItem );
-
- // JP 29.07.99 - Bug 67951 - set all Styles from the SourceDoc into
- // the PrintDoc - will be replaced!
- pPrtDoc->ReplaceStyles( *GetDoc() );
-
- SwShellCrsr *pActCrsr = pFESh->_GetCrsr();
- SwShellCrsr *pFirstCrsr = dynamic_cast<SwShellCrsr*>(pActCrsr->GetNext());
- if( !pActCrsr->HasMark() ) // bei Multiselektion kann der aktuelle Cursor leer sein
- {
- pActCrsr = dynamic_cast<SwShellCrsr*>(pActCrsr->GetPrev());
- }
-
- Point aSelPoint;
- if( pFESh->IsTableMode() )
- {
- SwShellTableCrsr* pShellTblCrsr = pFESh->GetTableCrsr();
-
- const SwCntntNode* pCntntNode = pShellTblCrsr->GetNode()->GetCntntNode();
- const SwCntntFrm *pCntntFrm = pCntntNode ? pCntntNode->GetFrm( 0, pShellTblCrsr->Start() ) : 0;
- if( pCntntFrm )
- {
- SwRect aCharRect;
- SwCrsrMoveState aTmpState( MV_NONE );
- pCntntFrm->GetCharRect( aCharRect, *pShellTblCrsr->Start(), &aTmpState );
- aSelPoint = Point( aCharRect.Left(), aCharRect.Top() );
- }
- }
- else
- {
- aSelPoint = pFirstCrsr->GetSttPos();
- }
-
- const SwPageFrm* pPage = GetLayout()->GetPageAtPos( aSelPoint );
- ASSERT( pPage, "no page found!" );
-
- // get page descriptor - fall back to the first one if pPage could not be found
- const SwPageDesc* pPageDesc = pPage ? pPrtDoc->FindPageDescByName(
- pPage->GetPageDesc()->GetName() ) : &pPrtDoc->_GetPageDesc( (sal_uInt16)0 );
-
- if( !pFESh->IsTableMode() && pActCrsr->HasMark() )
- { // Am letzten Absatz die Absatzattribute richten:
- SwNodeIndex aNodeIdx( *pPrtDoc->GetNodes().GetEndOfContent().StartOfSectionNode() );
- SwTxtNode* pTxtNd = pPrtDoc->GetNodes().GoNext( &aNodeIdx )->GetTxtNode();
- SwCntntNode *pLastNd =
- pActCrsr->GetCntntNode( (*pActCrsr->GetMark()) <= (*pActCrsr->GetPoint()) );
- // Hier werden die Absatzattribute des ersten Absatzes uebertragen
- if( pLastNd && pLastNd->IsTxtNode() )
- ((SwTxtNode*)pLastNd)->CopyCollFmt( *pTxtNd );
- }
-
- // es wurde in der CORE eine neu angelegt (OLE-Objekte kopiert!)
-// if( aDocShellRef.Is() )
-// SwDataExchange::InitOle( aDocShellRef, pPrtDoc );
- // und fuellen es mit dem selektierten Bereich
- pFESh->Copy( pPrtDoc );
-
- //Jetzt noch am ersten Absatz die Seitenvorlage setzen
- {
- SwNodeIndex aNodeIdx( *pPrtDoc->GetNodes().GetEndOfContent().StartOfSectionNode() );
- SwCntntNode* pCNd = pPrtDoc->GetNodes().GoNext( &aNodeIdx ); // gehe zum 1. ContentNode
- if( pFESh->IsTableMode() )
- {
- SwTableNode* pTNd = pCNd->FindTableNode();
- if( pTNd )
- pTNd->GetTable().GetFrmFmt()->SetFmtAttr( SwFmtPageDesc( pPageDesc ) );
- }
- else
- {
- pCNd->SetAttr( SwFmtPageDesc( pPageDesc ) );
- if( pFirstCrsr->HasMark() )
- {
- SwTxtNode *pTxtNd = pCNd->GetTxtNode();
- if( pTxtNd )
- {
- SwCntntNode *pFirstNd =
- pFirstCrsr->GetCntntNode( (*pFirstCrsr->GetMark()) > (*pFirstCrsr->GetPoint()) );
- // Hier werden die Absatzattribute des ersten Absatzes uebertragen
- if( pFirstNd && pFirstNd->IsTxtNode() )
- ((SwTxtNode*)pFirstNd)->CopyCollFmt( *pTxtNd );
- }
- }
- }
- }
- return pPrtDoc;
-}
-
SwDoc * ViewShell::FillPrtDoc( SwDoc *pPrtDoc, const SfxPrinter* pPrt)
{
ASSERT( this->IsA( TYPE(SwFEShell) ),"ViewShell::Prt for FEShell only");
@@ -582,7 +481,7 @@ SwDoc * ViewShell::FillPrtDoc( SwDoc *pPrtDoc, const SfxPrinter* pPrt)
sal_Bool ViewShell::PrintOrPDFExport(
OutputDevice *pOutDev,
- const SwPrtOptions &rPrintData,
+ SwPrintData const& rPrintData,
sal_Int32 nRenderer /* the index in the vector of pages to be printed */ )
{
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -608,31 +507,14 @@ sal_Bool ViewShell::PrintOrPDFExport(
//!! (h?ngt mit OLE Objekten im Dokument zusammen.)
SfxObjectShellRef aDocShellRef;
- //! Note: Since for PDF export of (multi-)selection a temporary
- //! document is created that contains only the selects parts,
- //! and thus that document is to printed in whole the,
- //! rPrintData.bPrintSelection parameter will be false.
- BOOL bSelection = rPrintData.bPrintSelection;
-
- // PDF export for (multi-)selection has already generated a temporary document
- // with the selected text. (see XRenderable implementation in unotxdoc.cxx)
- // Thus we like to go in the 'else' part here in that case.
- // Is is implemented this way because PDF export calls this Prt function
+ // Print/PDF export for (multi-)selection has already generated a
+ // temporary document with the selected text.
+ // (see XRenderable implementation in unotxdoc.cxx)
+ // It is implemented this way because PDF export calls this Prt function
// once per page and we do not like to always have the temporary document
- // to be created that often here in the 'then' part.
- if ( bSelection )
- {
- pOutDevDoc = CreatePrtDoc( aDocShellRef );
-
- // eine ViewShell darauf
- pShell = new ViewShell( *pOutDevDoc, 0, pOpt, pOutDev );
- pOutDevDoc->SetRefForDocShell( 0 );
- }
- else
- {
- pOutDevDoc = GetDoc();
- pShell = new ViewShell( *this, 0, pOutDev );
- }
+ // to be created that often here.
+ pOutDevDoc = GetDoc();
+ pShell = new ViewShell( *this, 0, pOutDev );
SdrView *pDrawView = pShell->GetDrawView();
if (pDrawView)
@@ -682,6 +564,8 @@ sal_Bool ViewShell::PrintOrPDFExport(
rPrintData.GetRenderData().m_pPostItShell : pShell;
::SetSwVisArea( pViewSh2, pStPage->Frm() );
+// FIXME disabled because rPrintData.aOffset is always (0,0)
+#if 0
// wenn wir einen Umschlag drucken wird ein Offset beachtet
if( pStPage->GetFmt()->GetPoolFmtId() == RES_POOLPAGE_JAKET )
{
@@ -691,6 +575,7 @@ sal_Bool ViewShell::PrintOrPDFExport(
aTmp.SetOrigin( aNewOrigin );
pOutDev->SetMapMode( aTmp );
}
+#endif
pShell->InitPrt( pOutDev );
@@ -705,12 +590,6 @@ sal_Bool ViewShell::PrintOrPDFExport(
delete pShell;
- if (bSelection )
- {
- if ( !pOutDevDoc->release() )
- delete pOutDevDoc;
- }
-
// restore settings of OutputDevice (should be done always now since the
// output device is now provided by a call from outside the Writer)
pOutDev->Pop();
@@ -788,9 +667,9 @@ void ViewShell::PrtOle2( SwDoc *pDoc, const SwViewOption *pOpt, const SwPrintDat
BOOL ViewShell::IsAnyFieldInDoc() const
{
const SfxPoolItem* pItem;
- USHORT nMaxItems = pDoc->GetAttrPool().GetItemCount( RES_TXTATR_FIELD );
- for( USHORT n = 0; n < nMaxItems; ++n )
- if( 0 != (pItem = pDoc->GetAttrPool().GetItem( RES_TXTATR_FIELD, n )))
+ sal_uInt32 nMaxItems = pDoc->GetAttrPool().GetItemCount2( RES_TXTATR_FIELD );
+ for( sal_uInt32 n = 0; n < nMaxItems; ++n )
+ if( 0 != (pItem = pDoc->GetAttrPool().GetItem2( RES_TXTATR_FIELD, n )))
{
const SwFmtFld* pFmtFld = (SwFmtFld*)pItem;
const SwTxtFld* pTxtFld = pFmtFld->GetTxtFld();
diff --git a/sw/source/filter/ascii/ascatr.cxx b/sw/source/filter/ascii/ascatr.cxx
index c1ba4908a339..f2a8229c3092 100644
--- a/sw/source/filter/ascii/ascatr.cxx
+++ b/sw/source/filter/ascii/ascatr.cxx
@@ -125,7 +125,7 @@ BOOL SwASC_AttrIter::OutAttr( xub_StrLen nSwPos )
{
case RES_TXTATR_FIELD:
sOut = static_cast<SwTxtFld const*>(pHt)->GetFld().GetFld()
- ->ExpandField(rWrt.pDoc->IsClipBoard());
+ ->ExpandField(true);
break;
case RES_TXTATR_FTN:
diff --git a/sw/source/filter/html/htmlatr.cxx b/sw/source/filter/html/htmlatr.cxx
index 573d5c7ebc5f..6b7c99fa42f1 100644
--- a/sw/source/filter/html/htmlatr.cxx
+++ b/sw/source/filter/html/htmlatr.cxx
@@ -1250,8 +1250,9 @@ class HTMLEndPosLst
SvXub_StrLens aScriptChgLst; // positions where script changes
// 0 is not contained in this list,
// but the text length
- SvUShorts aScriptLst; // the script that is valif up to the position
- // contained in aScriptChgList at the same index
+ // the script that is valif up to the position
+ // contained in aScriptChgList at the same index
+ ::std::vector<USHORT> aScriptLst;
SwDoc *pDoc; // das aktuelle Dokument
SwDoc* pTemplate; // die HTML-Vorlage (oder 0)
@@ -1797,8 +1798,8 @@ HTMLEndPosLst::HTMLEndPosLst( SwDoc *pD, SwDoc* pTempl,
{
sal_uInt16 nScript = pBreakIt->GetBreakIter()->getScriptType( rText, nPos );
nPos = (xub_StrLen)pBreakIt->GetBreakIter()->endOfScript( rText, nPos, nScript );
- aScriptChgLst.Insert( nPos, aScriptChgLst.Count() );
- aScriptLst.Insert( nScript, aScriptLst.Count() );
+ aScriptChgLst.push_back( nPos );
+ aScriptLst.push_back( nScript );
}
}
@@ -1995,9 +1996,8 @@ void HTMLEndPosLst::Insert( const SfxPoolItem& rItem,
if( bDependsOnScript )
{
- sal_uInt16 nScriptChgs = aScriptChgLst.Count();
xub_StrLen nPos = nStart;
- for( sal_uInt16 i=0; i < nScriptChgs; i++ )
+ for( size_t i=0; i < aScriptChgLst.size(); i++ )
{
xub_StrLen nChgPos = aScriptChgLst[i];
if( nPos >= nChgPos )
@@ -2080,8 +2080,8 @@ sal_uInt16 HTMLEndPosLst::GetScriptAtPos( xub_StrLen nPos ,
{
sal_uInt16 nRet = CSS1_OUTMODE_ANY_SCRIPT;
- sal_uInt16 nScriptChgs = aScriptChgLst.Count();
- sal_uInt16 i=0;
+ size_t nScriptChgs = aScriptChgLst.size();
+ size_t i=0;
while( i < nScriptChgs && nPos >= aScriptChgLst[i] )
i++;
ASSERT( i < nScriptChgs, "script list is to short" );
diff --git a/sw/source/filter/html/htmlfldw.cxx b/sw/source/filter/html/htmlfldw.cxx
index 50b7bdc7ddc8..6b905e450dee 100644
--- a/sw/source/filter/html/htmlfldw.cxx
+++ b/sw/source/filter/html/htmlfldw.cxx
@@ -305,7 +305,7 @@ static Writer& OutHTML_SwField( Writer& rWrt, const SwField* pFld,
}
// Inhalt des Feldes ausgeben
- String const sExpand( pFld->ExpandField(rWrt.pDoc->IsClipBoard()) );
+ String const sExpand( pFld->ExpandField(true) );
sal_Bool bNeedsCJKProcessing = sal_False;
if( sExpand.Len() )
{
diff --git a/sw/source/filter/html/htmlfly.cxx b/sw/source/filter/html/htmlfly.cxx
index 88fe896d6a17..24875b456565 100644
--- a/sw/source/filter/html/htmlfly.cxx
+++ b/sw/source/filter/html/htmlfly.cxx
@@ -1835,10 +1835,10 @@ void SwHTMLWriter::CollectLinkTargets()
const SwTxtINetFmt* pTxtAttr;
const SwTxtNode* pTxtNd;
- USHORT n, nMaxItems = pDoc->GetAttrPool().GetItemCount( RES_TXTATR_INETFMT );
+ sal_uInt32 n, nMaxItems = pDoc->GetAttrPool().GetItemCount2( RES_TXTATR_INETFMT );
for( n = 0; n < nMaxItems; ++n )
{
- if( 0 != (pINetFmt = (SwFmtINetFmt*)pDoc->GetAttrPool().GetItem(
+ if( 0 != (pINetFmt = (SwFmtINetFmt*)pDoc->GetAttrPool().GetItem2(
RES_TXTATR_INETFMT, n ) ) &&
0 != ( pTxtAttr = pINetFmt->GetTxtINetFmt()) &&
0 != ( pTxtNd = pTxtAttr->GetpTxtNode() ) &&
@@ -1849,10 +1849,10 @@ void SwHTMLWriter::CollectLinkTargets()
}
const SwFmtURL *pURL;
- nMaxItems = pDoc->GetAttrPool().GetItemCount( RES_URL );
+ nMaxItems = pDoc->GetAttrPool().GetItemCount2( RES_URL );
for( n = 0; n < nMaxItems; ++n )
{
- if( 0 != (pURL = (SwFmtURL*)pDoc->GetAttrPool().GetItem(
+ if( 0 != (pURL = (SwFmtURL*)pDoc->GetAttrPool().GetItem2(
RES_URL, n ) ) )
{
AddLinkTarget( pURL->GetURL() );
diff --git a/sw/source/filter/html/htmlgrin.cxx b/sw/source/filter/html/htmlgrin.cxx
index afcb979abe6c..75f39c728313 100644
--- a/sw/source/filter/html/htmlgrin.cxx
+++ b/sw/source/filter/html/htmlgrin.cxx
@@ -166,7 +166,7 @@ void SwHTMLParser::ConnectImageMaps()
}
-/* */
+/* */
void SwHTMLParser::SetAnchorAndAdjustment( sal_Int16 eVertOri,
sal_Int16 eHoriOri,
@@ -302,12 +302,11 @@ void SwHTMLParser::RegisterFlyFrm( SwFrmFmt *pFlyFmt )
SURROUND_THROUGHT == pFlyFmt->GetSurround().GetSurround() )
{
aMoveFlyFrms.Insert( pFlyFmt, aMoveFlyFrms.Count() );
- aMoveFlyCnts.Insert( pPam->GetPoint()->nContent.GetIndex(),
- aMoveFlyCnts.Count() );
+ aMoveFlyCnts.push_back( pPam->GetPoint()->nContent.GetIndex() );
}
}
-/* */
+/* */
void SwHTMLParser::GetDefaultScriptType( ScriptType& rType,
String& rTypeStr ) const
@@ -319,7 +318,7 @@ void SwHTMLParser::GetDefaultScriptType( ScriptType& rType,
rTypeStr = GetScriptTypeString( pHeaderAttrs );
}
-/* */
+/* */
void SwHTMLParser::InsertImage()
{
@@ -816,7 +815,7 @@ IMAGE_SETEVENT:
InsertBookmark( aId );
}
-/* */
+/* */
void SwHTMLParser::InsertBodyOptions()
{
@@ -1047,7 +1046,7 @@ void SwHTMLParser::InsertBodyOptions()
InsertBookmark( aId );
}
-/* */
+/* */
void SwHTMLParser::NewAnchor()
{
@@ -1268,7 +1267,7 @@ void SwHTMLParser::EndAnchor()
EndTag( HTML_ANCHOR_OFF );
}
-/* */
+/* */
void SwHTMLParser::InsertBookmark( const String& rName )
{
@@ -1324,7 +1323,7 @@ BOOL SwHTMLParser::HasCurrentParaBookmarks( BOOL bIgnoreStack ) const
return bHasMarks;
}
-/* */
+/* */
void SwHTMLParser::StripTrailingPara()
{
diff --git a/sw/source/filter/html/makefile.mk b/sw/source/filter/html/makefile.mk
index b99cc6789424..495a415d0266 100644
--- a/sw/source/filter/html/makefile.mk
+++ b/sw/source/filter/html/makefile.mk
@@ -71,7 +71,9 @@ SLOFILES = \
$(SLO)$/SwAppletImpl.obj \
EXCEPTIONSFILES = \
+ $(SLO)$/htmlatr.obj \
$(SLO)$/htmlfld.obj \
+ $(SLO)$/htmlgrin.obj \
$(SLO)$/htmlplug.obj \
$(SLO)$/htmlsect.obj \
$(SLO)$/swhtml.obj \
diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index fba6a477757d..230da033d50c 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -2881,7 +2881,7 @@ void SwHTMLParser::_SetAttr( BOOL bChkEnd, BOOL bBeforeTable,
pFrmFmt->MakeFrms();
aMoveFlyFrms.Remove( n, 1 );
- aMoveFlyCnts.Remove( n, 1 );
+ aMoveFlyCnts.erase( aMoveFlyCnts.begin() + n );
}
}
while( aFields.Count() )
diff --git a/sw/source/filter/html/swhtml.hxx b/sw/source/filter/html/swhtml.hxx
index e7d684842beb..f9d978a73aee 100644
--- a/sw/source/filter/html/swhtml.hxx
+++ b/sw/source/filter/html/swhtml.hxx
@@ -406,8 +406,8 @@ class SwHTMLParser : public SfxHTMLParser, public SwClient
_HTMLAttrs aParaAttrs; // vorlauefige Absatz-Attribute
_HTMLAttrTable aAttrTab; // "offene" Attribute
_HTMLAttrContexts aContexts;// der aktuelle Attribut/Token-Kontext
- SwHTMLFrmFmts aMoveFlyFrms;// Fly-Frames, deren Anker verschoben wird
- SvXub_StrLens aMoveFlyCnts;// und deren Content-Positionen
+ SwHTMLFrmFmts aMoveFlyFrms;// Fly-Frames, the anchor is moved
+ SvXub_StrLens aMoveFlyCnts;// and the Content-Positions
SwApplet_Impl *pAppletImpl; // das aktuelle Applet
diff --git a/sw/source/filter/rtf/makefile.mk b/sw/source/filter/rtf/makefile.mk
index 2ff764d730a1..5be61050a54d 100644
--- a/sw/source/filter/rtf/makefile.mk
+++ b/sw/source/filter/rtf/makefile.mk
@@ -46,6 +46,7 @@ CDEFS=$(CDEFS) -Dmydebug
EXCEPTIONSFILES= \
$(SLO)$/rtffly.obj \
$(SLO)$/rtfnum.obj \
+ $(SLO)$/rtftbl.obj \
$(SLO)$/swparrtf.obj \
$(SLO)$/wrtrtf.obj
diff --git a/sw/source/filter/rtf/rtfatr.cxx b/sw/source/filter/rtf/rtfatr.cxx
index 17050299c84b..db91ec79d2e7 100644
--- a/sw/source/filter/rtf/rtfatr.cxx
+++ b/sw/source/filter/rtf/rtfatr.cxx
@@ -1425,7 +1425,7 @@ void ExportPICT(const Size &rOrig, const Size &rRendered, const Size &rMapped,
const SwCropGrf &rCr, const char *pBLIPType, const sal_uInt8 *pGraphicAry,
unsigned long nSize, SwRTFWriter &rWrt)
{
- bool bIsWMF = (const char *)pBLIPType == (const char *)OOO_STRING_SVTOOLS_RTF_WMETAFILE ? true : false;
+ bool bIsWMF = (pBLIPType && !strcmp(pBLIPType, OOO_STRING_SVTOOLS_RTF_WMETAFILE)) ? true : false;
if (pBLIPType && nSize && pGraphicAry)
{
rWrt.Strm() << '{' << OOO_STRING_SVTOOLS_RTF_PICT;
@@ -1570,7 +1570,7 @@ static Writer& OutRTF_SwGrfNode(Writer& rWrt, SwCntntNode & rNode)
the wmf format wrapped in nonshppict, so as to keep wordpad happy. If its
a wmf already then we don't need any such wrapping
*/
- bool bIsWMF = (const sal_Char*)pBLIPType == (const sal_Char*)OOO_STRING_SVTOOLS_RTF_WMETAFILE ? true : false;
+ bool bIsWMF = (pBLIPType && !strcmp(pBLIPType, OOO_STRING_SVTOOLS_RTF_WMETAFILE)) ? true : false;
if (!bIsWMF)
OutComment(rRTFWrt, OOO_STRING_SVTOOLS_RTF_SHPPICT);
@@ -2903,7 +2903,7 @@ static Writer& OutRTF_SwField( Writer& rWrt, const SfxPoolItem& rHt )
case RES_HIDDENTXTFLD:
if( TYP_CONDTXTFLD == ((SwHiddenTxtField*)pFld)->GetSubType() )
RTFOutFuncs::Out_String( rWrt.Strm(),
- pFld->ExpandField(rWrt.pDoc->IsClipBoard()),
+ pFld->ExpandField(true),
rRTFWrt.eDefaultEncoding, rRTFWrt.bWriteHelpFmt );
else
{
@@ -2960,7 +2960,7 @@ static Writer& OutRTF_SwField( Writer& rWrt, const SfxPoolItem& rHt )
if( ' ' != cCh ) // vorweg immer einen Trenner
rWrt.Strm() << ' ';
RTFOutFuncs::Out_String( rWrt.Strm(),
- pFld->ExpandField(rWrt.pDoc->IsClipBoard()),
+ pFld->ExpandField(true),
rRTFWrt.eDefaultEncoding, rRTFWrt.bWriteHelpFmt );
}
break;
@@ -2970,7 +2970,7 @@ static Writer& OutRTF_SwField( Writer& rWrt, const SfxPoolItem& rHt )
{
rWrt.Strm() << "}{" << OOO_STRING_SVTOOLS_RTF_FLDRSLT << ' ';
RTFOutFuncs::Out_String( rWrt.Strm(),
- pFld->ExpandField(rWrt.pDoc->IsClipBoard()),
+ pFld->ExpandField(true),
rRTFWrt.eDefaultEncoding, rRTFWrt.bWriteHelpFmt );
rWrt.Strm() << "}}";
rRTFWrt.bOutFmtAttr = FALSE;
diff --git a/sw/source/filter/rtf/rtfnum.cxx b/sw/source/filter/rtf/rtfnum.cxx
index 507f35375ed6..26129421013d 100644
--- a/sw/source/filter/rtf/rtfnum.cxx
+++ b/sw/source/filter/rtf/rtfnum.cxx
@@ -62,9 +62,6 @@
#define RTF_NUMRULE_NAME "RTF_Num"
-SV_IMPL_VARARR( SwListArr, SwListEntry )
-
-
void lcl_ExpandNumFmts( SwNumRule& rRule )
{
// dann noch das NumFormat in alle Ebenen setzen
@@ -343,7 +340,7 @@ void SwRTFParser::ReadListTable()
if( 1 == nNumOpenBrakets )
{
if( aEntry.nListId )
- aListArr.Insert( aEntry, aListArr.Count() );
+ aListArr.push_back( aEntry );
aEntry.Clear();
}
}
@@ -510,7 +507,7 @@ void SwRTFParser::ReadListOverrideTable()
if( aEntry.nListId && aEntry.nListNo )
{
int nMatch=-1;
- for( USHORT n = aListArr.Count(); n; )
+ for( size_t n = aListArr.size(); n; )
{
if( aListArr[ --n ].nListId == aEntry.nListId)
{
@@ -529,7 +526,7 @@ void SwRTFParser::ReadListOverrideTable()
{
aEntry.nListDocPos=aListArr[nMatch2].nListDocPos;
aEntry.nListTemplateId=aListArr[nMatch2].nListTemplateId;
- aListArr.Insert(aEntry, aListArr.Count());
+ aListArr.push_back( aEntry );
}
if(pOrigRule)
aListArr[nMatch2].nListDocPos = aEntry.nListDocPos;
@@ -573,7 +570,7 @@ void SwRTFParser::ReadListOverrideTable()
// dann erzeugen wir mal schnell eine Kopie von der NumRule,
// denn diese wird jetzt mal kurz veraendert.
if( aEntry.nListId )
- for( USHORT n = 0; n < aListArr.Count(); ++n )
+ for( size_t n = 0; n < aListArr.size(); ++n )
if( aListArr[ n ].nListId == aEntry.nListId )
{
pRule = pDoc->GetNumRuleTbl()[
@@ -590,7 +587,7 @@ void SwRTFParser::ReadListOverrideTable()
// <--
pRule->SetAutoRule( FALSE );
nNumLvl = (BYTE)-1;
- aListArr.Insert( aEntry, aListArr.Count() );
+ aListArr.push_back( aEntry );
break;
}
@@ -671,11 +668,11 @@ void SwRTFParser::ReadListOverrideTable()
// now decrement all position in the listtable, which will
// behind the doc-rule position
- for( USHORT n = aListArr.Count(); n; )
+ for( size_t n = aListArr.size(); n; )
{
SwListEntry& rEntry = aListArr[ --n ];
if( rEntry.nListDocPos == nRulePos )
- aListArr.Remove( n );
+ aListArr.erase( aListArr.begin()+n );
else if( rEntry.nListDocPos > nRulePos )
--rEntry.nListDocPos;
}
@@ -699,11 +696,11 @@ SwNumRule* SwRTFParser::GetNumRuleOfListNo( long nListNo, BOOL bRemoveFromList )
{
SwNumRule* pRet = 0;
SwListEntry* pEntry;
- for( USHORT n = aListArr.Count(); n; )
+ for( size_t n = aListArr.size(); n; )
if( ( pEntry = &aListArr[ --n ])->nListNo == nListNo )
{
if( bRemoveFromList )
- aListArr.Remove( n );
+ aListArr.erase( aListArr.begin()+n );
else
{
pEntry->bRuleUsed = TRUE;
@@ -743,14 +740,14 @@ void SwRTFParser::RemoveUnusedNumRules()
{
SwListEntry* pEntry;
SvPtrarr aDelArr;
- USHORT n;
- for( n = aListArr.Count(); n; )
+ size_t n;
+ for( n = aListArr.size(); n; )
{
if( !( pEntry = &aListArr[ --n ])->bRuleUsed )
{
// really *NOT* used by anyone else?
BOOL unused=TRUE;
- for(USHORT j = 0; j < aListArr.Count(); ++j)
+ for(size_t j = 0; j < aListArr.size(); ++j)
{
if (aListArr[n].nListNo==aListArr[j].nListNo)
unused&=!aListArr[j].bRuleUsed;
@@ -847,7 +844,7 @@ SwNumRule *SwRTFParser::ReadNumSecLevel( int nToken )
RTL_CONSTASCII_STRINGPARAM( RTF_NUMRULE_NAME " 1" )));
SwListEntry aEntry( nListNo, 0, pDoc->MakeNumRule( sTmp ));
aEntry.nListNo = nListNo;
- aListArr.Insert( aEntry, aListArr.Count() );
+ aListArr.push_back( aEntry );
pCurRule = pDoc->GetNumRuleTbl()[ aEntry.nListDocPos ];
// --> OD 2008-07-08 #i91400#
pCurRule->SetName( pDoc->GetUniqueNumRuleName( &sTmp, FALSE ), *pDoc );
diff --git a/sw/source/filter/rtf/rtftbl.cxx b/sw/source/filter/rtf/rtftbl.cxx
index 2c182532079d..6737ebce596e 100644
--- a/sw/source/filter/rtf/rtftbl.cxx
+++ b/sw/source/filter/rtf/rtftbl.cxx
@@ -165,10 +165,7 @@ void SwRTFParser::ReadTable( int nToken )
enum Limits {eMAXCELLS=64000};
- SvBools aMergeBackup;
- int nCount = aMergeBoxes.Count();
- for (USHORT i = 0; i < nCount; ++i)
- aMergeBackup.Insert(aMergeBoxes[i], i);
+ SvBools aMergeBackup(aMergeBoxes);
// kein TROWD aber ein TabellenToken -> zwischen TROWD und Tab.Token
// waren andere Zeichen (siehe Bug 27445.rtf)
@@ -177,10 +174,10 @@ void SwRTFParser::ReadTable( int nToken )
if( RTF_TROWD == nToken )
nToken = GetNextToken(); // RTF_TROWD ueberlesen
- // Flags fuer die gemergten Boxen loeschen
- aMergeBoxes.Remove( 0, aMergeBoxes.Count() );
- aMergeBoxes.Insert( (BOOL)FALSE, USHORT(0) );
- nAktBox = 0;
+ // Flag for delete merged boxes
+ aMergeBoxes.clear();
+ aMergeBoxes.push_back( (BOOL)FALSE );
+ m_nCurrentBox = 0;
// wenn schon in einer Tabellen, dann splitte oder benutze
// die bisherigen Boxen weiter
@@ -194,11 +191,11 @@ void SwRTFParser::ReadTable( int nToken )
// very robust to avoid crashes like bug 127425 + crash reports 118743
if( pLine )
{
- USHORT nTmpBox = nAktBox;
+ USHORT nTmpBox = m_nCurrentBox;
if( nTmpBox > pLine->GetTabBoxes().Count() )
nTmpBox = pLine->GetTabBoxes().Count();
- for( USHORT n = nTmpBox; n; )
+ for (USHORT n = nTmpBox; n; )
{
const SwTableBox *pTmp = pLine->GetTabBoxes()[ --n ];
if( pTmp )
@@ -223,7 +220,7 @@ void SwRTFParser::ReadTable( int nToken )
sal_Int16 eVerOrient = text::VertOrientation::NONE;
long nLineHeight = 0;
- USHORT nBoxCnt = aMergeBoxes.Count()-1;
+ size_t nBoxCnt = aMergeBoxes.size()-1;
SwBoxFrmFmts aBoxFmts;
SwTableBoxFmt* pBoxFmt = pDoc->MakeTableBoxFmt();
SvxFrameDirection eDir = FRMDIR_HORI_LEFT_TOP;
@@ -292,15 +289,16 @@ void SwRTFParser::ReadTable( int nToken )
// the first cell cannot be merged with earlier ones.
if (nBoxCnt != 0)
{
- aMergeBoxes[ nBoxCnt ] = TRUE;
+ aMergeBoxes.back() = TRUE;
}
break;
case RTF_CELLX:
- if (!bTrowdRead) {
+ if (!bTrowdRead && (aMergeBoxes.size() < (SAL_MAX_UINT16 - 1)))
+ {
SwTableBoxFmt* pFmt = pBoxFmt;
SwTwips nSize = nTokenValue - nTblSz;
- if( aMergeBoxes[ nBoxCnt ] )
+ if( aMergeBoxes.back() )
{
// neue Zellen lesen und noch keine Formate vorhanden,
// dann benutze das der vorhergebende
@@ -308,9 +306,12 @@ void SwRTFParser::ReadTable( int nToken )
{
SwTableLines& rLns = pTableNode->GetTable().GetTabLines();
SwTableLine* pLine = rLns[ rLns.Count()-1 ];
- if(nAktBox!=0)
- --nAktBox;
- pFmt = (SwTableBoxFmt*)pLine->GetTabBoxes()[ nAktBox ]->GetFrmFmt();
+ if (m_nCurrentBox != 0)
+ {
+ --m_nCurrentBox;
+ }
+ pFmt = static_cast<SwTableBoxFmt*>(
+ pLine->GetTabBoxes()[ m_nCurrentBox ]->GetFrmFmt());
}
else
pFmt = aBoxFmts[ aBoxFmts.Count()-1 ];
@@ -336,7 +337,8 @@ void SwRTFParser::ReadTable( int nToken )
nSize = COL_DFLT_WIDTH;
pFmt->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE, nSize, 0 ));
nTblSz = nTokenValue;
- aMergeBoxes.Insert( (BOOL)FALSE, ++nBoxCnt );
+ aMergeBoxes.push_back( (BOOL)FALSE );
+ ++nBoxCnt;
SvxBoxItem aBox(pFmt->GetBox());
@@ -483,7 +485,7 @@ void SwRTFParser::ReadTable( int nToken )
default:
if( ( nToken & ~(0xff | RTF_TABLEDEF)) == RTF_SHADINGDEF )
{
- if( aMergeBoxes[ nBoxCnt ] )
+ if( aMergeBoxes.back() )
break;
ReadBackgroundAttr( nToken,
(SfxItemSet&)pBoxFmt->GetAttrSet(), TRUE );
@@ -491,7 +493,7 @@ void SwRTFParser::ReadTable( int nToken )
else if( ( nToken & ~(0xff | RTF_TABLEDEF) ) == RTF_BRDRDEF ||
IsBorderToken(nToken))
{
- if( aMergeBoxes[ nBoxCnt ] )
+ if( aMergeBoxes.back() )
break;
SfxItemSet& rSet = (SfxItemSet&)pBoxFmt->GetAttrSet();
@@ -512,7 +514,7 @@ void SwRTFParser::ReadTable( int nToken )
if( text::VertOrientation::NONE != eVerOrient )
{
- if( !aMergeBoxes[ nBoxCnt ] )
+ if( !aMergeBoxes.back() )
pBoxFmt->SetFmtAttr( SwFmtVertOrient( 0, eVerOrient ));
eVerOrient = text::VertOrientation::NONE;
}
@@ -523,13 +525,11 @@ void SwRTFParser::ReadTable( int nToken )
// das letzte temp. BoxFmt loeschen
delete pBoxFmt;
- // es wurde keine einzige Box erkannt
- if( nAktBox == nBoxCnt || ( bReadNewCell && !pTableNode ))
+ // It has been recognized as not single box
+ if ((m_nCurrentBox == nBoxCnt) || ( bReadNewCell && !pTableNode ))
{
- int nC = aMergeBackup.Count();
- for (USHORT i = 0; i < nC; ++i)
- aMergeBoxes.Insert(aMergeBackup[i], i);
- SkipToken( -1 ); // zum Letzen gueltigen zurueck
+ aMergeBoxes = aMergeBackup;
+ SkipToken( -1 ); // go back to the last valid
return;
}
@@ -636,7 +636,9 @@ void SwRTFParser::ReadTable( int nToken )
aBoxFmts.Remove( 0, n );
if( aBoxFmts.Count() ) // es muessen noch neue zugefuegt werden
- nAktBox = n;
+ {
+ m_nCurrentBox = n;
+ }
else // es mussen noch Boxen geloescht werden
{
// remove ContentIndex of other Bound
@@ -746,7 +748,7 @@ void SwRTFParser::ReadTable( int nToken )
((SfxItemSet&)pFmt->GetAttrSet()).Put( aL );
}
- nAktBox = 0;
+ m_nCurrentBox = 0;
pOldTblNd = pTableNode;
{
@@ -798,12 +800,14 @@ void SwRTFParser::ReadTable( int nToken )
aBoxFmts[ nStt ],
// Formate fuer den TextNode der Box
pColl, 0,
- nAktBox + nStt, 1 );
+ m_nCurrentBox + nStt, 1 );
}
}
if( bChkExistTbl )
- nAktBox = 0;
+ {
+ m_nCurrentBox = 0;
+ }
maInsertedTables.InsertTable(*pTableNode, *pPam);
@@ -815,7 +819,8 @@ void SwRTFParser::ReadTable( int nToken )
if (pNewLine)
{
SwTableBoxes &rBoxes = pNewLine->GetTabBoxes();
- if (SwTableBox* pBox = (nAktBox < rBoxes.Count() ? rBoxes[nAktBox] : 0))
+ if (SwTableBox* pBox = ((m_nCurrentBox < rBoxes.Count())
+ ? rBoxes[m_nCurrentBox] : 0))
{
if (const SwStartNode *pStart = pBox->GetSttNd())
{
@@ -861,7 +866,7 @@ void SwRTFParser::ReadTable( int nToken )
//which were intended to be inside the tablerow are now left outside
//the table after the row was placed before the current insertion point
SvxRTFItemStack& rAttrStk = GetAttrStack();
- for (USHORT n = 0; n < rAttrStk.Count(); ++n)
+ for (size_t n = 0; n < rAttrStk.size(); ++n)
{
SvxRTFItemStackType* pStk = rAttrStk[n];
pStk->MoveFullNode(aOldPos, aNewPos);
@@ -885,16 +890,19 @@ void SwRTFParser::GotoNextBox()
SwTableBoxes& rBoxes = pLine->GetTabBoxes();
SwTableBox* pBox = rBoxes[ rBoxes.Count()-1 ];
- if( ++nAktBox >= aMergeBoxes.Count() )
- nAktBox = aMergeBoxes.Count()-1;
+ if (++m_nCurrentBox >= aMergeBoxes.size())
+ {
+ OSL_ENSURE(aMergeBoxes.size() < SAL_MAX_UINT16, "too many boxes?");
+ m_nCurrentBox = static_cast<USHORT>(aMergeBoxes.size()-1);
+ }
- if( !aMergeBoxes[ nAktBox ] )
+ if (!aMergeBoxes[ m_nCurrentBox ])
{
int bMove = TRUE;
if( pBox->GetSttIdx() > pPam->GetPoint()->nNode.GetIndex() )
{
USHORT nRealBox = 0;
- for( USHORT nTmp = 0; nTmp < nAktBox; ++nTmp )
+ for (USHORT nTmp = 0; nTmp < m_nCurrentBox; ++nTmp)
if( !aMergeBoxes[ nTmp ] )
++nRealBox;
@@ -906,7 +914,8 @@ void SwRTFParser::GotoNextBox()
}
}
- if( bMove && nAktBox + 1 == aMergeBoxes.Count() )
+ if (bMove &&
+ (static_cast<size_t>(m_nCurrentBox + 1) == aMergeBoxes.size()))
// dann hinter die Tabelle
pPam->Move( fnMoveForward, fnGoNode );
}
@@ -972,7 +981,7 @@ void SwRTFParser::NewTblLine()
ULONG nOldPos = pPam->GetPoint()->nNode.GetIndex();
pPam->GetPoint()->nNode = *pBox->GetSttNd();
pPam->Move( fnMoveForward );
- nAktBox = 0;
+ m_nCurrentBox = 0;
// alle Nodes in den Boxen auf die "default" Vorlage setzten
{
@@ -1002,11 +1011,10 @@ void SwRTFParser::NewTblLine()
pPam->DeleteMark();
}
- // alle Attribute, die schon auf den nachfolgen zeigen auf die neue
- // Box umsetzen !!
+ // all attributes which will be displayed in new Box
SvxRTFItemStack& rAttrStk = GetAttrStack();
const SvxRTFItemStackType* pStk;
- for( USHORT n = 0; n < rAttrStk.Count(); ++n )
+ for( size_t n = 0; n < rAttrStk.size(); ++n )
if( ( pStk = rAttrStk[ n ])->GetSttNodeIdx() == ULONG(nOldPos) &&
!pStk->GetSttCnt() )
((SvxRTFItemStackType*)pStk)->SetStartPos( SwxPosition( pPam ) );
diff --git a/sw/source/filter/rtf/swparrtf.cxx b/sw/source/filter/rtf/swparrtf.cxx
index e83ab108bbc9..a599ce095488 100644
--- a/sw/source/filter/rtf/swparrtf.cxx
+++ b/sw/source/filter/rtf/swparrtf.cxx
@@ -188,7 +188,6 @@ SwRTFParser::SwRTFParser(SwDoc* pD,
maCharStyleMapper(*pD),
maSegments(*this),
maInsertedTables(*pD),
- aMergeBoxes(0, 5),
aTblFmts(0, 10),
mpBookmarkStart(0),
mpRedlineStack(0),
@@ -205,7 +204,7 @@ SwRTFParser::SwRTFParser(SwDoc* pD,
sBaseURL( rBaseURL ),
nAktPageDesc(0),
nAktFirstPageDesc(0),
- nAktBox(0),
+ m_nCurrentBox(0),
nInsTblRow(USHRT_MAX),
nNewNumSectDef(USHRT_MAX),
nRowsToRepeat(0),
@@ -1759,7 +1758,7 @@ void SwRTFParser::NextToken( int nToken )
if (!CantUseTables())
{
// aus der Line raus
- nAktBox = 0;
+ m_nCurrentBox = 0;
pTableNode = 0;
// noch in der Tabelle drin?
SwNodeIndex& rIdx = pPam->GetPoint()->nNode;
@@ -3548,14 +3547,13 @@ void SwRTFParser::ReadHeaderFooter( int nToken, SwPageDesc* pPageDesc )
{
ASSERT( RTF_FOOTNOTE == nToken ||
RTF_FLY_INPARA == nToken ||
- pPageDesc, "PageDesc fehlt" );
+ pPageDesc, "PageDesc is missing" );
bool bContainsParaCache = bContainsPara;
- // alle wichtigen Sachen sichern
+ // backup all important data
SwPosition aSavePos( *pPam->GetPoint() );
- SvxRTFItemStack aSaveStack;
- aSaveStack.Insert( &GetAttrStack(), 0 );
- GetAttrStack().Remove( 0, GetAttrStack().Count() );
+ SvxRTFItemStack aSaveStack(GetAttrStack());
+ GetAttrStack().clear();
// save the fly array - after read, all flys may be set into
// the header/footer
@@ -3605,7 +3603,7 @@ void SwRTFParser::ReadHeaderFooter( int nToken, SwPageDesc* pPageDesc )
// wurde an der Position ein Escapement aufgespannt, so entferne
// das jetzt. Fussnoten sind bei uns immer hochgestellt.
- SvxRTFItemStackTypePtr pTmp = aSaveStack.Top();
+ SvxRTFItemStackTypePtr pTmp = aSaveStack.back();
if( pTmp && pTmp->GetSttNodeIdx() ==
pPam->GetPoint()->nNode.GetIndex() &&
pTmp->GetSttCnt() == nPos )
@@ -3764,7 +3762,7 @@ void SwRTFParser::ReadHeaderFooter( int nToken, SwPageDesc* pPageDesc )
else
SetNewGroup( FALSE ); // { - Klammer war kein Group-Start!
mbIsFootnote = bOldIsFootnote;
- GetAttrStack().Insert( &aSaveStack, 0 );
+ GetAttrStack() = aSaveStack;
aFlyArr.Insert( &aSaveArray, 0 );
aSaveArray.Remove( 0, aSaveArray.Count() );
@@ -4123,12 +4121,12 @@ void SwRTFParser::DelLastNode()
if( pCNd && pCNd->StartOfSectionIndex()+2 <
pCNd->EndOfSectionIndex() )
{
- if( GetAttrStack().Count() )
+ if( !GetAttrStack().empty() )
{
// Attribut Stack-Eintraege, muessen ans Ende des vorherigen
// Nodes verschoben werden.
BOOL bMove = FALSE;
- for( USHORT n = GetAttrStack().Count(); n; )
+ for( size_t n = GetAttrStack().size(); n; )
{
SvxRTFItemStackType* pStkEntry = (SvxRTFItemStackType*)
GetAttrStack()[ --n ];
@@ -4180,7 +4178,7 @@ void SwRTFParser::UnknownAttrToken( int nToken, SfxItemSet* pSet )
// auf die neue Box umsetzen !!
SvxRTFItemStack& rAttrStk = GetAttrStack();
const SvxRTFItemStackType* pStk;
- for( USHORT n = 0; n < rAttrStk.Count(); ++n )
+ for( size_t n = 0; n < rAttrStk.size(); ++n )
if( ( pStk = rAttrStk[ n ])->GetSttNodeIdx() == nOldPos &&
!pStk->GetSttCnt() )
((SvxRTFItemStackType*)pStk)->SetStartPos( SwxPosition( pPam ) );
diff --git a/sw/source/filter/rtf/swparrtf.hxx b/sw/source/filter/rtf/swparrtf.hxx
index c1694ef852a8..0d6a0ce39ca1 100644
--- a/sw/source/filter/rtf/swparrtf.hxx
+++ b/sw/source/filter/rtf/swparrtf.hxx
@@ -29,9 +29,6 @@
#ifndef _SWPARRTF_HXX
#define _SWPARRTF_HXX
-#ifndef __SGI_STL_MAP
-#include <map>
-#endif
#ifndef __SGI_STL_DEQUE
#include <deque>
#endif
@@ -47,9 +44,7 @@
#include <editeng/numitem.hxx>
#include <editeng/boxitem.hxx>
#include <redline.hxx>
-#ifndef __SGI_STL_ALGORITHM
-#include <algorithm>
-#endif
+
#include <fltshell.hxx> // fuer den Attribut Stack
#include <ndindex.hxx>
#include "../inc/msfilter.hxx"
@@ -160,7 +155,7 @@ DECLARE_TABLE( SwRTFStyleTbl, SwTxtFmtColl* )
DECLARE_TABLE( SwRTFCharStyleTbl, SwCharFmt* )
typedef SwFlySave* SwFlySavePtr;
SV_DECL_PTRARR_DEL( SwFlySaveArr, SwFlySavePtr, 0, 20 )
-SV_DECL_VARARR( SwListArr, SwListEntry, 0, 20 )
+typedef std::deque< SwListEntry > SwListArr;
struct DocPageInformation
{
@@ -323,7 +318,7 @@ class SwRTFParser : public SvxRTFParser
String sBaseURL;
USHORT nAktPageDesc, nAktFirstPageDesc;
- USHORT nAktBox; // akt. Box
+ USHORT m_nCurrentBox;
USHORT nInsTblRow; // beim nach \row kein \pard -> neue Line anlegen
USHORT nNewNumSectDef; // jeder SectionWechsel kann neue Rules definieren
USHORT nRowsToRepeat;
diff --git a/sw/source/filter/rtf/wrtrtf.cxx b/sw/source/filter/rtf/wrtrtf.cxx
index 8e17bee3874b..8c80d688a2ee 100644
--- a/sw/source/filter/rtf/wrtrtf.cxx
+++ b/sw/source/filter/rtf/wrtrtf.cxx
@@ -85,8 +85,6 @@ const sal_Char SwRTFWriter::sNewLine = '\012';
const sal_Char __FAR_DATA SwRTFWriter::sNewLine[] = "\015\012";
#endif
-SV_DECL_VARARR( RTFColorTbl, Color, 5, 8 )
-SV_IMPL_VARARR( RTFColorTbl, Color )
SwRTFWriter::SwRTFWriter( const String& rFltName, const String & rBaseURL ) :
@@ -638,13 +636,18 @@ void SwRTFWriter::OutDocInfoStat()
static void InsColor( RTFColorTbl& rTbl, const Color& rCol )
{
- USHORT n;
- for( n = 0; n < rTbl.Count(); ++n )
+ for( size_t n = 0; n < rTbl.size(); ++n )
if( rTbl[n] == rCol )
- return; // schon vorhanden, zurueck
+ return; // already exists, return
- n = COL_AUTO == rCol.GetColor() ? 0 : rTbl.Count();
- rTbl.Insert( rCol, n );
+ if ( COL_AUTO == rCol.GetColor() )
+ {
+ rTbl.push_front( rCol );
+ }
+ else
+ {
+ rTbl.push_back( rCol );
+ }
}
static void InsColorLine( RTFColorTbl& rTbl, const SvxBoxItem& rBox )
@@ -663,14 +666,15 @@ static void InsColorLine( RTFColorTbl& rTbl, const SvxBoxItem& rBox )
void SwRTFWriter::OutRTFColorTab()
{
- ASSERT( pColTbl, "Wo ist meine Color-Tabelle?" );
+ ASSERT( pColTbl, "Where's table color?" );
- // dann baue die ColorTabelle aus allen Attributen, die Colors
- // enthalten und im Pool angemeldet sind auf.
- USHORT n, nMaxItem;
+ // Build the color table from all attributes. The Colors
+ // included and registered in the pool are on.
+ size_t n;
+ sal_uInt32 nMaxItem;
const SfxItemPool& rPool = pDoc->GetAttrPool();
- // das Charakter - Color Attribut
+ // the character - Color attribute
{
const SvxColorItem* pCol = (const SvxColorItem*)GetDfltAttr(
RES_CHRATR_COLOR );
@@ -678,30 +682,30 @@ void SwRTFWriter::OutRTFColorTab()
if( 0 != ( pCol = (const SvxColorItem*)rPool.GetPoolDefaultItem(
RES_CHRATR_COLOR ) ))
InsColor( *pColTbl, pCol->GetValue() );
- nMaxItem = rPool.GetItemCount(RES_CHRATR_COLOR);
+ nMaxItem = rPool.GetItemCount2(RES_CHRATR_COLOR);
for( n = 0; n < nMaxItem; ++n )
{
- if( 0 != (pCol = (const SvxColorItem*)rPool.GetItem(
+ if( 0 != (pCol = (const SvxColorItem*)rPool.GetItem2(
RES_CHRATR_COLOR, n ) ) )
InsColor( *pColTbl, pCol->GetValue() );
}
const SvxUnderlineItem* pUnder = (const SvxUnderlineItem*)GetDfltAttr( RES_CHRATR_UNDERLINE );
InsColor( *pColTbl, pUnder->GetColor() );
- nMaxItem = rPool.GetItemCount(RES_CHRATR_UNDERLINE);
+ nMaxItem = rPool.GetItemCount2(RES_CHRATR_UNDERLINE);
for( n = 0; n < nMaxItem;n++)
{
- if( 0 != (pUnder = (const SvxUnderlineItem*)rPool.GetItem( RES_CHRATR_UNDERLINE, n ) ) )
+ if( 0 != (pUnder = (const SvxUnderlineItem*)rPool.GetItem2( RES_CHRATR_UNDERLINE, n ) ) )
InsColor( *pColTbl, pUnder->GetColor() );
}
const SvxOverlineItem* pOver = (const SvxOverlineItem*)GetDfltAttr( RES_CHRATR_OVERLINE );
InsColor( *pColTbl, pOver->GetColor() );
- nMaxItem = rPool.GetItemCount(RES_CHRATR_OVERLINE);
+ nMaxItem = rPool.GetItemCount2(RES_CHRATR_OVERLINE);
for( n = 0; n < nMaxItem;n++)
{
- if( 0 != (pOver = (const SvxOverlineItem*)rPool.GetItem( RES_CHRATR_OVERLINE, n ) ) )
+ if( 0 != (pOver = (const SvxOverlineItem*)rPool.GetItem2( RES_CHRATR_OVERLINE, n ) ) )
InsColor( *pColTbl, pOver->GetColor() );
}
@@ -721,9 +725,9 @@ void SwRTFWriter::OutRTFColorTab()
{
InsColor( *pColTbl, pBkgrd->GetColor() );
}
- nMaxItem = rPool.GetItemCount( *pIds );
+ nMaxItem = rPool.GetItemCount2( *pIds );
for( n = 0; n < nMaxItem; ++n )
- if( 0 != (pBkgrd = (const SvxBrushItem*)rPool.GetItem(
+ if( 0 != (pBkgrd = (const SvxBrushItem*)rPool.GetItem2(
*pIds , n ) ))
{
InsColor( *pColTbl, pBkgrd->GetColor() );
@@ -740,9 +744,9 @@ void SwRTFWriter::OutRTFColorTab()
{
InsColor( *pColTbl, pShadow->GetColor() );
}
- nMaxItem = rPool.GetItemCount(RES_SHADOW);
+ nMaxItem = rPool.GetItemCount2(RES_SHADOW);
for( n = 0; n < nMaxItem; ++n )
- if( 0 != (pShadow = (const SvxShadowItem*)rPool.GetItem(
+ if( 0 != (pShadow = (const SvxShadowItem*)rPool.GetItem2(
RES_SHADOW, n ) ) )
{
InsColor( *pColTbl, pShadow->GetColor() );
@@ -756,16 +760,16 @@ void SwRTFWriter::OutRTFColorTab()
if( 0 != ( pBox = (const SvxBoxItem*)rPool.GetPoolDefaultItem(
RES_BOX ) ))
InsColorLine( *pColTbl, *pBox );
- nMaxItem = rPool.GetItemCount(RES_BOX);
+ nMaxItem = rPool.GetItemCount2(RES_BOX);
for( n = 0; n < nMaxItem; ++n )
- if( 0 != (pBox = (const SvxBoxItem*)rPool.GetItem( RES_BOX, n ) ))
+ if( 0 != (pBox = (const SvxBoxItem*)rPool.GetItem2( RES_BOX, n ) ))
InsColorLine( *pColTbl, *pBox );
}
// und raus damit
Strm() << SwRTFWriter::sNewLine << '{' << OOO_STRING_SVTOOLS_RTF_COLORTBL;
- for( n = 0; n < pColTbl->Count(); n++ )
+ for( n = 0; n < pColTbl->size(); n++ )
{
const Color& rCol = (*pColTbl)[ n ];
if( n || COL_AUTO != rCol.GetColor() )
@@ -884,10 +888,10 @@ void SwRTFWriter::OutRTFFontTab()
PutNumFmtFontsInAttrPool();
PutCJKandCTLFontsInAttrPool();
- USHORT nMaxItem = rPool.GetItemCount(RES_CHRATR_FONT);
- for (USHORT nGet = 0; nGet < nMaxItem; ++nGet)
+ sal_uInt32 nMaxItem = rPool.GetItemCount2(RES_CHRATR_FONT);
+ for (sal_uInt32 nGet = 0; nGet < nMaxItem; ++nGet)
{
- pFont = (const SvxFontItem*)rPool.GetItem(RES_CHRATR_FONT, nGet);
+ pFont = (const SvxFontItem*)rPool.GetItem2(RES_CHRATR_FONT, nGet);
if (pFont)
_OutFont(*this, *pFont, n++);
}
@@ -1345,12 +1349,12 @@ void SwRTFWriter::OutFlyFrm()
USHORT SwRTFWriter::GetId( const Color& rColor ) const
{
- ASSERT( pColTbl, "Wo ist meine Color-Tabelle?" );
- for( USHORT n = 0; n < pColTbl->Count(); n++ )
+ ASSERT( pColTbl, "Where's color table?" );
+ for( size_t n = 0; n < pColTbl->size(); n++ )
if( rColor == (*pColTbl)[ n ] )
return n;
- ASSERT( FALSE, "Color nicht in der Tabelle" );
+ ASSERT( FALSE, "Color not exists in the pColTbl table" );
return 0;
}
@@ -1370,9 +1374,9 @@ USHORT SwRTFWriter::GetId( const SvxFontItem& rFont ) const
++n;
}
- USHORT nMaxItem = rPool.GetItemCount( RES_CHRATR_FONT );
- for( USHORT nGet = 0; nGet < nMaxItem; ++nGet )
- if( 0 != (pFont = (const SvxFontItem*)rPool.GetItem(
+ sal_uInt32 nMaxItem = rPool.GetItemCount2( RES_CHRATR_FONT );
+ for( sal_uInt32 nGet = 0; nGet < nMaxItem; ++nGet )
+ if( 0 != (pFont = (const SvxFontItem*)rPool.GetItem2(
RES_CHRATR_FONT, nGet )) )
{
if( rFont == *pFont )
diff --git a/sw/source/filter/rtf/wrtrtf.hxx b/sw/source/filter/rtf/wrtrtf.hxx
index 18486f5a3224..737a3164b95a 100644
--- a/sw/source/filter/rtf/wrtrtf.hxx
+++ b/sw/source/filter/rtf/wrtrtf.hxx
@@ -30,6 +30,7 @@
#include <shellio.hxx>
#include <wrt_fn.hxx>
#include "../inc/msfilter.hxx"
+#include <deque>
#include <com/sun/star/util/DateTime.hpp>
@@ -37,7 +38,6 @@
class Color;
class Font;
class SvPtrarr;
-class RTFColorTbl;
class SwFmt;
class SwFlyFrmFmt;
class SwPosFlyFrms;
@@ -57,6 +57,7 @@ extern SwNodeFnTab aRTFNodeFnTab;
// be used
#define DEF_ENCODING RTL_TEXTENCODING_ASCII_US
+typedef std::deque<Color> RTFColorTbl;
class RTF_WrtRedlineAuthor : public sw::util::WrtRedlineAuthor
{
diff --git a/sw/source/filter/writer/writer.cxx b/sw/source/filter/writer/writer.cxx
index d70b6d6c754e..2a77d47dd65b 100644
--- a/sw/source/filter/writer/writer.cxx
+++ b/sw/source/filter/writer/writer.cxx
@@ -487,9 +487,9 @@ void Writer::_AddFontItems( SfxItemPool& rPool, USHORT nW )
if( 0 != ( pFont = (const SvxFontItem*)rPool.GetPoolDefaultItem( nW )) )
_AddFontItem( rPool, *pFont );
- USHORT nMaxItem = rPool.GetItemCount( nW );
- for( USHORT nGet = 0; nGet < nMaxItem; ++nGet )
- if( 0 != (pFont = (const SvxFontItem*)rPool.GetItem( nW, nGet )) )
+ sal_uInt32 nMaxItem = rPool.GetItemCount2( nW );
+ for( sal_uInt32 nGet = 0; nGet < nMaxItem; ++nGet )
+ if( 0 != (pFont = (const SvxFontItem*)rPool.GetItem2( nW, nGet )) )
_AddFontItem( rPool, *pFont );
}
diff --git a/sw/source/filter/ww8/wrtw8esh.cxx b/sw/source/filter/ww8/wrtw8esh.cxx
index 7f1b6658800e..c7f5c06cb81c 100644
--- a/sw/source/filter/ww8/wrtw8esh.cxx
+++ b/sw/source/filter/ww8/wrtw8esh.cxx
@@ -343,7 +343,8 @@ void WW8Export::DoFormText(const SwInputField * pFld)
OutputField(0, ww::eFORMTEXT, aEmptyStr, WRITEFIELD_CMD_END);
- SwWW8Writer::WriteString16(Strm(), pFld->Expand(), false);
+ String const fieldStr( pFld->ExpandField(true) );
+ SwWW8Writer::WriteString16(Strm(), fieldStr, false);
static BYTE aArr2[] = {
0x03, 0x6a, 0x00, 0x00, 0x00, 0x00, // sprmCPicLocation
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index e22ca1c9b731..fd20d2f6dc65 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -1284,7 +1284,7 @@ void WW8_WrtBookmarks::Append( WW8_CP nStartCp, const String& rNm, const ::sw::
aSttCps.Insert(nStartCp, nPos);
aEndCps.Insert(nStartCp, nPos);
- aFieldMarks.Insert(BOOL(false), nPos);
+ aFieldMarks.insert(aFieldMarks.begin() + nPos, BOOL(false));
maSwBkmkNms.insert(aIter, rNm);
}
else
@@ -2859,10 +2859,10 @@ void MSWordExportBase::CollectOutlineBookmarks(const SwDoc &rDoc)
const SwTxtINetFmt* pTxtAttr;
const SwTxtNode* pTxtNd;
- USHORT n, nMaxItems = rDoc.GetAttrPool().GetItemCount( RES_TXTATR_INETFMT );
+ sal_uInt32 n, nMaxItems = rDoc.GetAttrPool().GetItemCount2( RES_TXTATR_INETFMT );
for( n = 0; n < nMaxItems; ++n )
{
- if( 0 != (pINetFmt = (SwFmtINetFmt*)rDoc.GetAttrPool().GetItem(
+ if( 0 != (pINetFmt = (SwFmtINetFmt*)rDoc.GetAttrPool().GetItem2(
RES_TXTATR_INETFMT, n ) ) &&
0 != ( pTxtAttr = pINetFmt->GetTxtINetFmt()) &&
0 != ( pTxtNd = pTxtAttr->GetpTxtNode() ) &&
@@ -2873,10 +2873,10 @@ void MSWordExportBase::CollectOutlineBookmarks(const SwDoc &rDoc)
}
const SwFmtURL *pURL;
- nMaxItems = rDoc.GetAttrPool().GetItemCount( RES_URL );
+ nMaxItems = rDoc.GetAttrPool().GetItemCount2( RES_URL );
for( n = 0; n < nMaxItems; ++n )
{
- if( 0 != (pURL = (SwFmtURL*)rDoc.GetAttrPool().GetItem(
+ if( 0 != (pURL = (SwFmtURL*)rDoc.GetAttrPool().GetItem2(
RES_URL, n ) ) )
{
AddLinkTarget( pURL->GetURL() );
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index 89aef162ec01..6e00687ffafa 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -1743,9 +1743,9 @@ static void InsertSpecialChar( WW8Export& rWrt, BYTE c,
aItems.GetData());
}
-String lcl_GetExpandedField(const SwField &rFld, SwDoc const& rDoc)
+String lcl_GetExpandedField(const SwField &rFld)
{
- String sRet(rFld.ExpandField(rDoc.IsClipBoard()));
+ String sRet(rFld.ExpandField(true));
//replace LF 0x0A with VT 0x0B
sRet.SearchAndReplaceAll(0x0A, 0x0B);
@@ -1871,7 +1871,7 @@ void WW8Export::OutputField( const SwField* pFld, ww::eField eFldType,
{
String sOut;
if( pFld )
- sOut = lcl_GetExpandedField(*pFld, *pDoc);
+ sOut = lcl_GetExpandedField(*pFld);
else
sOut = rFldCmd;
if( sOut.Len() )
@@ -2598,7 +2598,7 @@ void WW8AttributeOutput::RefField( const SwField &rFld, const String &rRef)
sStr.APPEND_CONST_ASC( "\" " );
m_rWW8Export.OutputField( &rFld, ww::eREF, sStr, WRITEFIELD_START |
WRITEFIELD_CMD_START | WRITEFIELD_CMD_END );
- String sVar = lcl_GetExpandedField( rFld, *GetExport().pDoc );
+ String sVar = lcl_GetExpandedField( rFld );
if ( sVar.Len() )
{
if ( m_rWW8Export.IsUnicode() )
@@ -2614,7 +2614,7 @@ void WW8AttributeOutput::RefField( const SwField &rFld, const String &rRef)
void WW8AttributeOutput::WriteExpand( const SwField* pFld )
{
- String sExpand( lcl_GetExpandedField( *pFld, *GetExport().pDoc ) );
+ String sExpand( lcl_GetExpandedField( *pFld ) );
if ( m_rWW8Export.IsUnicode() )
SwWW8Writer::WriteString16( m_rWW8Export.Strm(), sExpand, false );
else
@@ -2776,7 +2776,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
if (pDocInfoField != NULL)
{
- String sFieldname = pDocInfoField->GetCntnt(TRUE);
+ String sFieldname = pDocInfoField->GetFieldName();
xub_StrLen nIndex = sFieldname.Search(':');
if (nIndex != sFieldname.Len())
diff --git a/sw/source/filter/xml/xmlexp.cxx b/sw/source/filter/xml/xmlexp.cxx
index 77dd1e63f53c..5ba2fd3e68ab 100644
--- a/sw/source/filter/xml/xmlexp.cxx
+++ b/sw/source/filter/xml/xmlexp.cxx
@@ -244,10 +244,10 @@ sal_uInt32 SwXMLExport::exportDoc( enum XMLTokenEnum eClass )
for( sal_uInt16 j=0; j < nWhichIds; j++ )
{
sal_uInt16 nWhichId = aWhichIds[j];
- sal_uInt16 i=0, nItems = rPool.GetItemCount( nWhichId );
+ sal_uInt32 i=0, nItems = rPool.GetItemCount2( nWhichId );
for( i = 0; i < nItems; ++i )
{
- if( 0 != (pItem = rPool.GetItem( nWhichId , i ) ) )
+ if( 0 != (pItem = rPool.GetItem2( nWhichId , i ) ) )
{
const SvXMLAttrContainerItem *pUnknown =
PTR_CAST( SvXMLAttrContainerItem, pItem );
diff --git a/sw/source/filter/xml/xmlfonte.cxx b/sw/source/filter/xml/xmlfonte.cxx
index 80c8e982c0dd..b611c02fe36c 100644
--- a/sw/source/filter/xml/xmlfonte.cxx
+++ b/sw/source/filter/xml/xmlfonte.cxx
@@ -80,10 +80,10 @@ SwXMLFontAutoStylePool_Impl::SwXMLFontAutoStylePool_Impl(
Add( rFont.GetFamilyName(), rFont.GetStyleName(),
static_cast< sal_uInt16 >(rFont.GetFamily()), static_cast< sal_uInt16 >(rFont.GetPitch()),
rFont.GetCharSet() );
- sal_uInt16 nItems = rPool.GetItemCount( nWhichId );
- for( sal_uInt16 j = 0; j < nItems; ++j )
+ sal_uInt32 nItems = rPool.GetItemCount2( nWhichId );
+ for( sal_uInt32 j = 0; j < nItems; ++j )
{
- if( 0 != (pItem = rPool.GetItem( nWhichId, j ) ) )
+ if( 0 != (pItem = rPool.GetItem2( nWhichId, j ) ) )
{
const SvxFontItem *pFont =
(const SvxFontItem *)pItem;
diff --git a/sw/source/filter/xml/xmltbli.cxx b/sw/source/filter/xml/xmltbli.cxx
index 4b6af56066fc..b83d5fcca0c0 100644
--- a/sw/source/filter/xml/xmltbli.cxx
+++ b/sw/source/filter/xml/xmltbli.cxx
@@ -1539,14 +1539,14 @@ void SwXMLTableContext::InsertColumn( sal_Int32 nWidth2, sal_Bool bRelWidth2,
else if( nWidth2 > USHRT_MAX )
nWidth2 = USHRT_MAX;
aColumnWidths.Insert( (sal_uInt16)nWidth2, aColumnWidths.Count() );
- aColumnRelWidths.Insert( bRelWidth2, aColumnRelWidths.Count() );
+ aColumnRelWidths.push_back( bRelWidth2 );
if( (pDfltCellStyleName && pDfltCellStyleName->getLength() > 0) ||
pColumnDefaultCellStyleNames )
{
if( !pColumnDefaultCellStyleNames )
{
pColumnDefaultCellStyleNames = new SvStringsDtor;
- sal_uInt16 nCount = aColumnRelWidths.Count() - 1;
+ size_t nCount = aColumnRelWidths.size() - 1;
while( nCount-- )
pColumnDefaultCellStyleNames->Insert( new String,
pColumnDefaultCellStyleNames->Count() );
@@ -1649,7 +1649,7 @@ void SwXMLTableContext::InsertCell( const OUString& rStyleName,
for( i=GetColumnCount(); i<nColsReq; i++ )
{
aColumnWidths.Insert( MINLAY, aColumnWidths.Count() );
- aColumnRelWidths.Insert( sal_True, aColumnRelWidths.Count() );
+ aColumnRelWidths.push_back( sal_True );
}
// adjust columns in *all* rows, if columns must be inserted
for( i=0; i<pRows->Count(); i++ )
diff --git a/sw/source/ui/app/docsh.cxx b/sw/source/ui/app/docsh.cxx
index c7ee43255f3b..d01af0213156 100755..100644
--- a/sw/source/ui/app/docsh.cxx
+++ b/sw/source/ui/app/docsh.cxx
@@ -65,7 +65,7 @@
#include <fmtfld.hxx>
#include <node.hxx>
#include <swwait.hxx>
-#include <swprtopt.hxx>
+#include <printdata.hxx>
#include <frmatr.hxx>
#include <view.hxx> // fuer die aktuelle Sicht
#include <edtwin.hxx>
@@ -895,7 +895,7 @@ void SwDocShell::Draw( OutputDevice* pDev, const JobSetup& rSetup,
pDev->SetLineColor();
pDev->SetBackground();
BOOL bWeb = 0 != PTR_CAST(SwWebDocShell, this);
- SwPrtOptions aOpts( aEmptyStr );
+ SwPrintData aOpts;
ViewShell::PrtOle2( pDoc, SW_MOD()->GetUsrPref(bWeb), aOpts, pDev, aRect );
pDev->Pop();
diff --git a/sw/source/ui/chrdlg/drpcps.cxx b/sw/source/ui/chrdlg/drpcps.cxx
index 8caf959195dd..f31e5d7dc7a7 100644
--- a/sw/source/ui/chrdlg/drpcps.cxx
+++ b/sw/source/ui/chrdlg/drpcps.cxx
@@ -364,10 +364,10 @@ void SwDropCapsPict::DrawPrev( const Point& rPt )
Font aOldFont = mpPrinter->GetFont();
USHORT nScript;
- USHORT nIdx = 0;
+ size_t nIdx = 0;
xub_StrLen nStart = 0;
xub_StrLen nEnd;
- USHORT nCnt = maScriptChg.Count();
+ size_t nCnt = maScriptChg.size();
if( nCnt )
{
@@ -406,10 +406,10 @@ void SwDropCapsPict::CheckScript( void )
return;
maScriptText = maText;
- USHORT nCnt = maScriptChg.Count();
+ size_t nCnt = maScriptChg.size();
if( nCnt )
{
- maScriptChg.Remove( 0, nCnt );
+ maScriptChg.clear();
maScriptType.Remove( 0, nCnt );
maTextWidth.Remove( 0, nCnt );
nCnt = 0;
@@ -436,7 +436,7 @@ void SwDropCapsPict::CheckScript( void )
do
{
nChg = (xub_StrLen)xBreak->endOfScript( maText, nChg, nScript );
- maScriptChg.Insert( nChg, nCnt );
+ maScriptChg.push_back( nChg );
maScriptType.Insert( nScript, nCnt );
maTextWidth.Insert( ULONG(0), nCnt++ );
@@ -453,10 +453,10 @@ Size SwDropCapsPict::CalcTextSize( void )
InitPrinter();
USHORT nScript;
- USHORT nIdx = 0;
+ size_t nIdx = 0;
xub_StrLen nStart = 0;
xub_StrLen nEnd;
- USHORT nCnt = maScriptChg.Count();
+ size_t nCnt = maScriptChg.size();
if( nCnt )
{
nEnd = maScriptChg[ nIdx ];
diff --git a/sw/source/ui/chrdlg/makefile.mk b/sw/source/ui/chrdlg/makefile.mk
index 42aad1aeddf1..6b05d0fbfb56 100644
--- a/sw/source/ui/chrdlg/makefile.mk
+++ b/sw/source/ui/chrdlg/makefile.mk
@@ -30,6 +30,9 @@ PRJ=..$/..$/..
PRJNAME=sw
TARGET=chrdlg
LIBTARGET=NO
+
+ENABLE_EXCEPTIONS=TRUE
+
# --- Settings -----------------------------------------------------
.INCLUDE : $(PRJ)$/inc$/swpre.mk
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 921d2a652002..81448870d925 100755..100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -27,20 +27,16 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
+
#ifdef SW_DLLIMPLEMENTATION
#undef SW_DLLIMPLEMENTATION
#endif
-
#include <hintids.hxx>
-#ifndef _CMDID_H
#include <cmdid.h>
-#endif
#include <vcl/svapp.hxx>
-#ifndef _SVSTDARR_HXX
#define _SVSTDARR_STRINGSDTOR
#include <svl/svstdarr.hxx>
-#endif
#include <svl/cjkoptions.hxx>
#include <svtools/ctrltool.hxx>
#include <svl/eitem.hxx>
@@ -55,15 +51,9 @@
#include <fmtcol.hxx>
#include <charatr.hxx>
#include <swtypes.hxx>
-#ifndef _VIEW_HXX
#include <view.hxx>
-#endif
-#ifndef _DOCSH_HXX
#include <docsh.hxx>
-#endif
-#ifndef IDOCUMENTDEVICEACCESS_HXX_INCLUDED
#include <IDocumentDeviceAccess.hxx>
-#endif
#include <swmodule.hxx>
#include <wrtsh.hxx>
#include <uitool.hxx>
@@ -72,27 +62,15 @@
#include <uiitems.hxx>
#include <initui.hxx>
#include <optpage.hxx>
-#include <swprtopt.hxx>
-#ifndef _MODCFG_HXX
+#include <printdata.hxx>
#include <modcfg.hxx>
-#endif
-#ifndef _SRCVIEW_HXX
#include <srcview.hxx>
-#endif
#include <crstate.hxx>
#include <viewopt.hxx>
-#ifndef _GLOBALS_HRC
#include <globals.hrc>
-#endif
-#ifndef _CONFIG_HRC
#include <config.hrc>
-#endif
-#ifndef _REDLOPT_HRC
#include <redlopt.hrc>
-#endif
-#ifndef _OPTDLG_HRC
#include <optdlg.hrc>
-#endif
#include <svx/strarray.hxx>
#include <svl/slstitm.hxx>
#include <sfx2/request.hxx>
diff --git a/sw/source/ui/config/prtopt.cxx b/sw/source/ui/config/prtopt.cxx
index a07c2c154696..d81c743604db 100644
--- a/sw/source/ui/config/prtopt.cxx
+++ b/sw/source/ui/config/prtopt.cxx
@@ -28,16 +28,15 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
#include <unotools/configmgr.hxx>
#include <prtopt.hxx>
-#include <swprtopt.hxx>
#include <tools/debug.hxx>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <unomid.h>
+
using namespace utl;
using rtl::OUString;
using namespace com::sun::star::uno;
diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx
index cf894f8728c4..349a419e1c35 100644
--- a/sw/source/ui/dbui/dbmgr.cxx
+++ b/sw/source/ui/dbui/dbmgr.cxx
@@ -62,10 +62,8 @@
#include <unotools/tempfile.hxx>
#include <unotools/pathoptions.hxx>
#include <svl/urihelper.hxx>
-#ifndef _SVSTDARR_HXX
#define _SVSTDARR_STRINGSDTOR
#include <svl/svstdarr.hxx>
-#endif
#include <svl/zforlist.hxx>
#include <svl/zformat.hxx>
#include <svl/stritem.hxx>
@@ -86,7 +84,6 @@
#include <swundo.hxx>
#include <flddat.hxx>
#include <modcfg.hxx>
-#include <swprtopt.hxx>
#include <shellio.hxx>
#include <dbui.hxx>
#include <dbmgr.hxx>
diff --git a/sw/source/ui/docvw/AnnotationWin.cxx b/sw/source/ui/docvw/AnnotationWin.cxx
index 91ea1e13b077..08fb91dcc3c6 100644
--- a/sw/source/ui/docvw/AnnotationWin.cxx
+++ b/sw/source/ui/docvw/AnnotationWin.cxx
@@ -208,7 +208,8 @@ void SwAnnotationWin::InitAnswer(OutlinerParaObject* pText)
{
//collect our old meta data
SwSidebarWin* pWin = Mgr().GetNextPostIt(KEY_PAGEUP, this);
- const LocaleDataWrapper& rLocalData = SvtSysLocale().GetLocaleData();
+ const SvtSysLocale aSysLocale;
+ const LocaleDataWrapper& rLocalData = aSysLocale.GetLocaleData();
String aText = String(SW_RES(STR_REPLY));
SwRewriter aRewriter;
aRewriter.AddRule(UNDO_ARG1, pWin->GetAuthor());
diff --git a/sw/source/ui/docvw/SidebarWin.cxx b/sw/source/ui/docvw/SidebarWin.cxx
index dc4f006e2026..884409826362 100644
--- a/sw/source/ui/docvw/SidebarWin.cxx
+++ b/sw/source/ui/docvw/SidebarWin.cxx
@@ -389,7 +389,8 @@ void SwSidebarWin::InitControls()
void SwSidebarWin::CheckMetaText()
{
- const LocaleDataWrapper& rLocalData = SvtSysLocale().GetLocaleData();
+ const SvtSysLocale aSysLocale;
+ const LocaleDataWrapper& rLocalData = aSysLocale.GetLocaleData();
String sMeta = GetAuthor();
if (sMeta.Len() == 0)
{
diff --git a/sw/source/ui/docvw/edtwin2.cxx b/sw/source/ui/docvw/edtwin2.cxx
index be201c32c24e..1ecf32144ee5 100644
--- a/sw/source/ui/docvw/edtwin2.cxx
+++ b/sw/source/ui/docvw/edtwin2.cxx
@@ -304,8 +304,7 @@ void SwEditWin::RequestHelp(const HelpEvent &rEvt)
{
USHORT nOldSubType = pFld->GetSubType();
((SwField*)pFld)->SetSubType(nsSwExtendedSubType::SUB_CMD);
- sTxt =
- pFld->ExpandField(rSh.GetDoc()->IsClipBoard());
+ sTxt = pFld->ExpandField(true);
((SwField*)pFld)->SetSubType(nOldSubType);
}
break;
@@ -340,7 +339,7 @@ void SwEditWin::RequestHelp(const HelpEvent &rEvt)
break;
case RES_DBFLD:
- sTxt = ((SwDBField*)pFld)->GetCntnt(TRUE);
+ sTxt = pFld->GetFieldName();
break;
case RES_USERFLD:
diff --git a/sw/source/ui/docvw/srcedtw.cxx b/sw/source/ui/docvw/srcedtw.cxx
index 55a0cb47e296..56c4eba3b8f1 100644
--- a/sw/source/ui/docvw/srcedtw.cxx
+++ b/sw/source/ui/docvw/srcedtw.cxx
@@ -62,6 +62,8 @@
#ifndef _HELPID_H
#include <helpid.h>
#endif
+#include <deque>
+
struct SwTextPortion
@@ -75,17 +77,8 @@ struct SwTextPortion
#define MAX_HIGHLIGHTTIME 200
#define SYNTAX_HIGHLIGHT_TIMEOUT 200
-SV_DECL_VARARR(SwTextPortions, SwTextPortion,16,16)
-
-/* -----------------15.01.97 12.07-------------------
-
---------------------------------------------------*/
+typedef std::deque<SwTextPortion> SwTextPortions;
-SV_IMPL_VARARR(SwTextPortions, SwTextPortion)
-
-/*-----------------15.01.97 12.08-------------------
-
---------------------------------------------------*/
static void lcl_Highlight(const String& rSource, SwTextPortions& aPortionList)
{
@@ -101,11 +94,11 @@ static void lcl_Highlight(const String& rSource, SwTextPortions& aPortionList)
const USHORT nStrLen = rSource.Len();
- USHORT nInsert = 0; // Anzahl der eingefuegten Portions
- USHORT nActPos = 0; //Position, an der '<' gefunden wurde
- USHORT nOffset = 0; //Offset von nActPos zur '<'
- USHORT nPortStart = USHRT_MAX; // fuer die TextPortion
- USHORT nPortEnd = 0; //
+ USHORT nInsert = 0; // Number of inserted Portions
+ USHORT nActPos = 0; // Position, at the '<' was found
+ USHORT nOffset = 0; // Offset of nActPos for '<'
+ USHORT nPortStart = USHRT_MAX; // For the TextPortion
+ USHORT nPortEnd = 0; //
SwTextPortion aText;
while(nActPos < nStrLen)
{
@@ -122,7 +115,8 @@ static void lcl_Highlight(const String& rSource, SwTextPortions& aPortionList)
aText.nStart += 1;
aText.nEnd = nActPos - 1;
aText.eType = svtools::HTMLUNKNOWN;
- aPortionList.Insert(aText, nInsert++);
+ aPortionList.push_back( aText );
+ nInsert++;
}
sal_Unicode cFollowFirst = rSource.GetChar((xub_StrLen)(nActPos + 1));
sal_Unicode cFollowNext = rSource.GetChar((xub_StrLen)(nActPos + 2));
@@ -212,7 +206,8 @@ static void lcl_Highlight(const String& rSource, SwTextPortions& aPortionList)
aTextPortion.nStart = nPortStart + 1;
aTextPortion.nEnd = nPortEnd;
aTextPortion.eType = eFoundType;
- aPortionList.Insert(aTextPortion, nInsert++);
+ aPortionList.push_back( aTextPortion );
+ nInsert++;
eFoundType = svtools::HTMLUNKNOWN;
}
@@ -226,7 +221,8 @@ static void lcl_Highlight(const String& rSource, SwTextPortions& aPortionList)
aText.nStart = nPortEnd + 1;
aText.nEnd = nActPos - 1;
aText.eType = svtools::HTMLUNKNOWN;
- aPortionList.Insert(aText, nInsert++);
+ aPortionList.push_back( aText );
+ nInsert++;
}
}
@@ -749,7 +745,7 @@ void SwSrcEditWindow::ImpDoHighlight( const String& rSource, USHORT nLineOff )
SwTextPortions aPortionList;
lcl_Highlight(rSource, aPortionList);
- USHORT nCount = aPortionList.Count();
+ size_t nCount = aPortionList.size();
if ( !nCount )
return;
@@ -757,7 +753,7 @@ void SwSrcEditWindow::ImpDoHighlight( const String& rSource, USHORT nLineOff )
if ( rLast.nStart > rLast.nEnd ) // Nur bis Bug von MD behoeben
{
nCount--;
- aPortionList.Remove( nCount);
+ aPortionList.pop_back();
if ( !nCount )
return;
}
@@ -777,7 +773,7 @@ void SwSrcEditWindow::ImpDoHighlight( const String& rSource, USHORT nLineOff )
#ifdef DBG_UTIL
USHORT nLine = aPortionList[0].nLine;
#endif
- for ( USHORT i = 0; i < nCount; i++ )
+ for ( size_t i = 0; i < nCount; i++ )
{
SwTextPortion& r = aPortionList[i];
DBG_ASSERT( r.nLine == nLine, "doch mehrere Zeilen ?" );
@@ -796,7 +792,7 @@ void SwSrcEditWindow::ImpDoHighlight( const String& rSource, USHORT nLineOff )
}
}
- for ( USHORT i = 0; i < aPortionList.Count(); i++ )
+ for ( size_t i = 0; i < aPortionList.size(); i++ )
{
SwTextPortion& r = aPortionList[i];
if ( r.nStart > r.nEnd ) // Nur bis Bug von MD behoeben
diff --git a/sw/source/ui/fldui/DropDownFieldDialog.cxx b/sw/source/ui/fldui/DropDownFieldDialog.cxx
index 68ce692f6a32..1d3fafa880a1 100644
--- a/sw/source/ui/fldui/DropDownFieldDialog.cxx
+++ b/sw/source/ui/fldui/DropDownFieldDialog.cxx
@@ -32,21 +32,14 @@
#undef SW_DLLIMPLEMENTATION
#endif
-
#include <wrtsh.hxx>
#include <fldbas.hxx>
#include <fldmgr.hxx>
-#ifndef _MSGBOX_HXX
#include <vcl/msgbox.hxx>
-#endif
#include <DropDownFieldDialog.hxx>
#include <flddropdown.hxx>
-#ifndef _FLDUI_HRC
#include <fldui.hrc>
-#endif
-#ifndef _SW_DROPDOWNFIELDDIALOG_HRC
#include <DropDownFieldDialog.hrc>
-#endif
using namespace ::com::sun::star;
@@ -124,13 +117,12 @@ void sw::DropDownFieldDialog::Apply()
{
rSh.StartAllAction();
- SwDropDownField * pCopy = (SwDropDownField *) pDropField->Copy();
+ ::std::auto_ptr<SwDropDownField> const pCopy(
+ static_cast<SwDropDownField *>( pDropField->CopyField() ) );
pCopy->SetPar1(sSelect);
rSh.SwEditShell::UpdateFlds(*pCopy);
- delete pCopy;
-
rSh.SetUndoNoResetModified();
rSh.EndAllAction();
}
diff --git a/sw/source/ui/fldui/inpdlg.cxx b/sw/source/ui/fldui/inpdlg.cxx
index 46c05c4ac63b..6676b72a1f84 100644
--- a/sw/source/ui/fldui/inpdlg.cxx
+++ b/sw/source/ui/fldui/inpdlg.cxx
@@ -32,13 +32,7 @@
#undef SW_DLLIMPLEMENTATION
#endif
-
-
-#define _INPDLG_CXX
-
-#ifndef _MSGBOX_HXX //autogen
#include <vcl/msgbox.hxx>
-#endif
#include <unotools/charclass.hxx>
#include <editeng/unolingu.hxx>
#include <wrtsh.hxx>
@@ -48,12 +42,8 @@
#include <inpdlg.hxx>
#include <fldmgr.hxx>
-#ifndef _FLDUI_HRC
#include <fldui.hrc>
-#endif
-#ifndef _INPDLG_HRC
#include <inpdlg.hrc>
-#endif
/*--------------------------------------------------------------------
@@ -128,7 +118,9 @@ SwFldInputDlg::SwFldInputDlg( Window *pParent, SwWrtShell &rS,
//values are formatted - formulas are not
CharClass aCC( SvxCreateLocale( pSetFld->GetLanguage() ));
if( aCC.isNumeric( sFormula ))
- aStr = pSetFld->Expand();
+ {
+ aStr = pSetFld->ExpandField(true);
+ }
else
aStr = sFormula;
aLabelED.SetText( pSetFld->GetPromptText() );
diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx
index 5bff86b1a4c7..49bd1b2a0c7e 100644
--- a/sw/source/ui/frmdlg/frmpage.cxx
+++ b/sw/source/ui/frmdlg/frmpage.cxx
@@ -1080,7 +1080,7 @@ BOOL SwFrmPage::FillItemSet(SfxItemSet &rSet)
aWidthED .GetValue() == aWidthED .GetMin() &&
aHeightED.GetValue() == aHeightED.GetMin());
- if ((bNew && !bFormat) || (bValueModified || bCheckChanged) && bLegalValue)
+ if ((bNew && !bFormat) || ((bValueModified || bCheckChanged) && bLegalValue))
{
sal_Int64 nNewWidth = aWidthED.DenormalizePercent(aWidthED.GetRealValue(FUNIT_TWIP));
sal_Int64 nNewHeight = aHeightED.DenormalizePercent(aHeightED.GetRealValue(FUNIT_TWIP));
diff --git a/sw/source/ui/inc/unotxvw.hxx b/sw/source/ui/inc/unotxvw.hxx
index 91cf8823e124..4990df84f43b 100644
--- a/sw/source/ui/inc/unotxvw.hxx
+++ b/sw/source/ui/inc/unotxvw.hxx
@@ -156,7 +156,7 @@ public:
void Invalidate();
// temporary document used for PDF export of selections/multi-selections
- SfxObjectShellRef BuildTmpSelectionDoc( SfxObjectShellRef& );
+ SfxObjectShellRef BuildTmpSelectionDoc();
};
/* -----------------17.09.98 12:52-------------------
diff --git a/sw/source/ui/inc/view.hxx b/sw/source/ui/inc/view.hxx
index a21dc8cfb30e..78817eec874c 100644
--- a/sw/source/ui/inc/view.hxx
+++ b/sw/source/ui/inc/view.hxx
@@ -83,7 +83,6 @@ class CommandEvent;
class InsCaptionOpt;
class SvGlobalName;
class SvtAccessibilityOptions;
-class SwPrtOptions;
class SwTransferable;
class SwMailMergeConfigItem;
class SwTxtNode; // #i23726#
diff --git a/sw/source/ui/inc/wrtsh.hxx b/sw/source/ui/inc/wrtsh.hxx
index 2fce41b1a972..20d057ecf05a 100644
--- a/sw/source/ui/inc/wrtsh.hxx
+++ b/sw/source/ui/inc/wrtsh.hxx
@@ -320,9 +320,6 @@ typedef BOOL (SwWrtShell:: *FNSimpleMove)();
void InsertTableOf(const SwTOXBase& rTOX, const SfxItemSet* pSet = 0);
BOOL UpdateTableOf(const SwTOXBase& rTOX, const SfxItemSet* pSet = 0);
- // new fields
- BOOL UpdateField( sw::mark::IFieldmark &fieldBM);
-
// Numerierung und Bullets
/**
Turns on numbering or bullets.
diff --git a/sw/source/ui/uiview/pview.cxx b/sw/source/ui/uiview/pview.cxx
index 2319be573e25..669d3eb446b8 100755..100644
--- a/sw/source/ui/uiview/pview.cxx
+++ b/sw/source/ui/uiview/pview.cxx
@@ -28,8 +28,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sw.hxx"
-
-
#include <sfx2/objface.hxx>
#include <vcl/timer.hxx>
#include <vcl/field.hxx>
@@ -54,10 +52,7 @@
#include <svx/svdview.hxx>
#include <svx/dlgutil.hxx>
#include <svx/zoomslideritem.hxx>
-#ifndef _SVX_SVXIDS_HRC //autogen
#include <svx/svxids.hrc>
-#endif
-
#include <swwait.hxx>
#include <globdoc.hxx>
@@ -73,27 +68,16 @@
#include <view.hxx>
#include <textsh.hxx>
#include <scroll.hxx>
-#include <swprtopt.hxx>
+#include <prtopt.hxx>
#include <docstat.hxx>
#include <usrpref.hxx>
#include <viewfunc.hxx>
-
-#ifndef _HELPID_H
#include <helpid.h>
-#endif
-#ifndef _CMDID_H
#include <cmdid.h>
-#endif
-#ifndef _GLOBALS_HRC
#include <globals.hrc>
-#endif
-#ifndef _POPUP_HRC
#include <popup.hrc>
-#endif
-#ifndef _PVIEW_HRC
#include <pview.hrc>
-#endif
#define SwPagePreView
#include <sfx2/msg.hxx>
@@ -105,6 +89,7 @@
#include <svx/dialogs.hrc>
#include <vos/mutex.hxx>
+
using namespace ::com::sun::star;
@@ -1292,8 +1277,7 @@ void SwPagePreView::Init(const SwViewOption * pPrefs)
GetViewShell()->ApplyAccessiblityOptions(SW_MOD()->GetAccessibilityOptions());
// OD 09.01.2003 #i6467# - adjust view shell option to the same as for print
- SwPrtOptions aPrintOptions( GetViewFrame()->GetObjectShell()->GetTitle(0) );
- aPrintOptions.MakeOptions( false );
+ SwPrintData const aPrintOptions = *SW_MOD()->GetPrtOptions(false);
GetViewShell()->AdjustOptionsForPagePreview( aPrintOptions );
IDocumentSettingAccess* pIDSA = pESh->getIDocumentSettingAccess();
diff --git a/sw/source/ui/uiview/view.cxx b/sw/source/ui/uiview/view.cxx
index 15c94782883f..b1fd76c63aff 100644
--- a/sw/source/ui/uiview/view.cxx
+++ b/sw/source/ui/uiview/view.cxx
@@ -94,7 +94,6 @@
#include <frmui.hrc>
#include <cfgitems.hxx>
#include <prtopt.hxx>
-#include <swprtopt.hxx>
#include <linguistic/lngprops.hxx>
#include <editeng/unolingu.hxx>
//#include <sfx2/app.hxx>
@@ -1912,8 +1911,7 @@ SfxObjectShellRef & SwView::GetOrCreateTmpSelectionDoc()
if (!rxTmpDoc.Is())
{
SwXTextView *pImpl = GetViewImpl()->GetUNOObject_Impl();
- rxTmpDoc = pImpl->BuildTmpSelectionDoc(
- GetViewImpl()->GetEmbeddedObjRef() );
+ rxTmpDoc = pImpl->BuildTmpSelectionDoc();
}
return rxTmpDoc;
}
@@ -1927,17 +1925,12 @@ void SwView::AddTransferable(SwTransferable& rTransferable)
/* --------------------------------------------------*/
-void SwPrtOptions::MakeOptions( BOOL bWeb )
-{
- *this = *SW_MOD()->GetPrtOptions(bWeb);
-
- nCopyCount = 1;
- bCollate = FALSE;
- bPrintSelection = FALSE;
- bJobStartet = FALSE;
+namespace sw {
- aMulti.SetTotalRange( Range( 0, RANGE_MAX ) );
- aMulti.SelectAll();
- aMulti.Select( 0, FALSE );
+void InitPrintOptionsFromApplication(SwPrintData & o_rData, bool const bWeb)
+{
+ o_rData = *SW_MOD()->GetPrtOptions(bWeb);
}
+} // namespace sw
+
diff --git a/sw/source/ui/uiview/viewprt.cxx b/sw/source/ui/uiview/viewprt.cxx
index 8721f425eb8d..7ddc594dd223 100644
--- a/sw/source/ui/uiview/viewprt.cxx
+++ b/sw/source/ui/uiview/viewprt.cxx
@@ -70,7 +70,6 @@
#include <docsh.hxx>
#include <viewopt.hxx>
#include <prtopt.hxx>
-#include <swprtopt.hxx>
#include <fontcfg.hxx>
#include <cfgitems.hxx>
#include <dbmgr.hxx>
diff --git a/sw/source/ui/uno/unomod.cxx b/sw/source/ui/uno/unomod.cxx
index c3d56910ad5a..75b76b6de887 100644
--- a/sw/source/ui/uno/unomod.cxx
+++ b/sw/source/ui/uno/unomod.cxx
@@ -916,7 +916,7 @@ void SwXViewSettings::_getSingleValue( const comphelper::PropertyInfo & rInfo, u
case HANDLE_VIEWSET_TABSTOPS : bBoolVal = mpConstViewOption->IsTab(sal_True); break;
case HANDLE_VIEWSET_BREAKS : bBoolVal = mpConstViewOption->IsLineBreak(sal_True); break;
case HANDLE_VIEWSET_HIDDEN_TEXT : bBoolVal = mpConstViewOption->IsShowHiddenField(); break;
- case HANDLE_VIEWSET_HIDDEN_CHARACTERS : bBoolVal = mpConstViewOption->IsShowHiddenChar(); break;
+ case HANDLE_VIEWSET_HIDDEN_CHARACTERS : bBoolVal = mpConstViewOption->IsShowHiddenChar(sal_True); break;
case HANDLE_VIEWSET_HIDDEN_PARAGRAPHS : bBoolVal = mpConstViewOption->IsShowHiddenPara(); break;
case HANDLE_VIEWSET_TABLE_BOUNDARIES : bBoolVal = SwViewOption::IsTableBoundaries(); break;
case HANDLE_VIEWSET_TEXT_BOUNDARIES : bBoolVal = SwViewOption::IsDocBoundaries(); break;
diff --git a/sw/source/ui/uno/unotxdoc.cxx b/sw/source/ui/uno/unotxdoc.cxx
index 2bacca54776d..c9c80599541d 100644
--- a/sw/source/ui/uno/unotxdoc.cxx
+++ b/sw/source/ui/uno/unotxdoc.cxx
@@ -47,7 +47,7 @@
#include <srcview.hxx>
#include <viewsh.hxx>
#include <pvprtdat.hxx>
-#include <swprtopt.hxx>
+#include <printdata.hxx>
#include <svl/stritem.hxx>
#include <unotxdoc.hxx>
#include <svl/numuno.hxx>
@@ -2716,14 +2716,15 @@ sal_Int32 SAL_CALL SwXTextDocument::getRendererCount(
m_pRenderData->ViewOptionAdjustStart( *pWrtShell, *pWrtShell->GetViewOptions() );
}
- m_pRenderData->SetSwPrtOptions( new SwPrtOptions( C2U( bIsPDFExport ? "PDF export" : "Printing" ) ) );
+ m_pRenderData->SetSwPrtOptions( new SwPrintData );
m_pRenderData->MakeSwPrtOptions( m_pRenderData->GetSwPrtOptionsRef(), pRenderDocShell,
m_pPrintUIOptions, m_pRenderData, bIsPDFExport );
if (pView->IsA(aSwViewTypeId))
{
// PDF export should not make use of the SwPrtOptions
- const SwPrtOptions *pPrtOptions = bIsPDFExport? NULL : m_pRenderData->GetSwPrtOptions();
+ const SwPrintData *pPrtOptions = (bIsPDFExport)
+ ? NULL : m_pRenderData->GetSwPrtOptions();
m_pRenderData->ViewOptionAdjust( pPrtOptions );
}
@@ -3087,7 +3088,8 @@ void SAL_CALL SwXTextDocument::render(
}
// <--
- const SwPrtOptions &rSwPrtOptions = *m_pRenderData->GetSwPrtOptions();
+ SwPrintData const& rSwPrtOptions =
+ *m_pRenderData->GetSwPrtOptions();
if (bPrintProspect)
pVwSh->PrintProspect( pOut, rSwPrtOptions, nRenderer );
else // normal printing and PDF export
@@ -4110,8 +4112,8 @@ SwViewOptionAdjust_Impl::~SwViewOptionAdjust_Impl()
}
-void SwViewOptionAdjust_Impl::AdjustViewOptions(
- const SwPrtOptions *pPrtOptions )
+void
+SwViewOptionAdjust_Impl::AdjustViewOptions(SwPrintData const*const pPrtOptions)
{
// to avoid unnecessary reformatting the view options related to the content
// below should only change if necessary, that is if respective content is present
diff --git a/sw/source/ui/uno/unotxvw.cxx b/sw/source/ui/uno/unotxvw.cxx
index 1f1fc9149e34..c03935464abf 100644
--- a/sw/source/ui/uno/unotxvw.cxx
+++ b/sw/source/ui/uno/unotxvw.cxx
@@ -903,14 +903,17 @@ void SAL_CALL SwXTextView::setRubyList(
/*-- 29.12.02 15:45:29---------------------------------------------------
-----------------------------------------------------------------------*/
-SfxObjectShellRef SwXTextView::BuildTmpSelectionDoc( SfxObjectShellRef& /*rRef*/ )
+SfxObjectShellRef SwXTextView::BuildTmpSelectionDoc()
{
SwWrtShell& rOldSh = m_pView->GetWrtShell();
SfxPrinter *pPrt = rOldSh.getIDocumentDeviceAccess()->getPrinter( false );
SwDocShell* pDocSh;
SfxObjectShellRef xDocSh( pDocSh = new SwDocShell( /*pPrtDoc, */SFX_CREATE_MODE_STANDARD ) );
xDocSh->DoInitNew( 0 );
- rOldSh.FillPrtDoc(pDocSh->GetDoc(), pPrt);
+ SwDoc *const pTempDoc( pDocSh->GetDoc() );
+ // #i103634#, #i112425#: do not expand numbering and fields on PDF export
+ pTempDoc->SetClipBoard(true);
+ rOldSh.FillPrtDoc(pTempDoc, pPrt);
SfxViewFrame* pDocFrame = SfxViewFrame::LoadHiddenDocument( *xDocSh, 0 );
SwView* pDocView = (SwView*) pDocFrame->GetViewShell();
pDocView->AttrChangedNotify( &pDocView->GetWrtShell() );//Damit SelectShell gerufen wird.
diff --git a/sw/source/ui/utlui/initui.cxx b/sw/source/ui/utlui/initui.cxx
index d40283e39146..75e412a27eb6 100644
--- a/sw/source/ui/utlui/initui.cxx
+++ b/sw/source/ui/utlui/initui.cxx
@@ -260,7 +260,8 @@ ImpAutoFmtNameListLoader::ImpAutoFmtNameListLoader( SvStringsDtor& rLst )
p->SearchAndReplace(C2S("%1"), C2S(",,"));
p->SearchAndReplace(C2S("%2"), C2S("''"));
#else
- const LocaleDataWrapper& rLclD = SvtSysLocale().GetLocaleData();
+ const SvtSysLocale aSysLocale;
+ const LocaleDataWrapper& rLclD = aSysLocale.GetLocaleData();
//unter richtigen Betriebssystemen funktioniert es auch so
p->SearchAndReplace(C2S("%1"), rLclD.getDoubleQuotationMarkStart());
p->SearchAndReplace(C2S("%2"), rLclD.getDoubleQuotationMarkEnd());
diff --git a/sw/source/ui/utlui/uitool.cxx b/sw/source/ui/utlui/uitool.cxx
index 01f6c4e84d7a..32c355313d7f 100644
--- a/sw/source/ui/utlui/uitool.cxx
+++ b/sw/source/ui/utlui/uitool.cxx
@@ -730,7 +730,8 @@ SwTwips GetTableWidth( SwFrmFmt* pFmt, SwTabCols& rCols, USHORT *pPercent,
String GetAppLangDateTimeString( const DateTime& rDT )
{
- const LocaleDataWrapper& rAppLclData = SvtSysLocale().GetLocaleData();
+ const SvtSysLocale aSysLocale;
+ const LocaleDataWrapper& rAppLclData = aSysLocale.GetLocaleData();
String sRet( rAppLclData.getDate( rDT ));
( sRet += ' ' ) += rAppLclData.getTime( rDT, FALSE, FALSE );
return sRet;
diff --git a/sw/source/ui/wrtsh/wrtsh2.cxx b/sw/source/ui/wrtsh/wrtsh2.cxx
index 17af61be8bad..0e51cd4c756c 100644
--- a/sw/source/ui/wrtsh/wrtsh2.cxx
+++ b/sw/source/ui/wrtsh/wrtsh2.cxx
@@ -239,15 +239,8 @@ BOOL SwWrtShell::UpdateTableOf(const SwTOXBase& rTOX, const SfxItemSet* pSet)
return bResult;
}
-BOOL SwWrtShell::UpdateField( sw::mark::IFieldmark &fieldBM )
-{
- return SwEditShell::UpdateField(fieldBM);
-}
-
-
-
- // ein Klick aus das angegebene Feld. Der Cursor steht auf diesem.
- // Fuehre die vor definierten Aktionen aus.
+// handler for click on the field given as parameter.
+// the cursor is positioned on the field.
void SwWrtShell::ClickToField( const SwField& rFld )