Files
libreoffice/sw/source/ui/config/uinums.cxx

571 lines
17 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
re-base on ALv2 code. Includes: Patches contributed by Oliver-Rainer Wittmann sw34bf06: #i117783# - Writer's implementation of XPagePrintable - apply print settings to new printing routines http://svn.apache.org/viewvc?view=revision&revision=1172115 sw34bf06: #o12311627# use <rtl_random> methods to create unique ids for list styles and list ids http://svn.apache.org/viewvc?view=revision&revision=1172112 sw34bf06 #i114725#,#i115828# - method <SwDoc::ClearDoc()> - clear list structures completely http://svn.apache.org/viewvc?view=revision&revision=1172122 i#118572 - remove ui string and help content regarding usage of Java Mail in Writer's Mail Merge as Java Mail is not used. http://svn.apache.org/viewvc?view=revision&revision=1197035 Patches contributed by Mathias Bauer cws mba34issues01: #i117718#: provide filter name in case storage of medium does not allow to detect one http://svn.apache.org/viewvc?view=revision&revision=1172350 cws mba34issues01: #i117721#: directly provide parameters retrieved from SfxMedium http://svn.apache.org/viewvc?view=revision&revision=1172353 gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394707 http://svn.apache.org/viewvc?view=revision&revision=1394326 http://svn.apache.org/viewvc?view=revision&revision=1396797 http://svn.apache.org/viewvc?view=revision&revision=1397315 cws mba34issues01: #i117723#: convert assertion into trace http://svn.apache.org/viewvc?view=revision&revision=1172355 cws mba34issues01: #i117699#: keep layout alive until swdoc dies http://svn.apache.org/viewvc?view=revision&revision=1172362 cws mba34issues01: #i117943#: missing color attributes in RTF clipboard http://svn.apache.org/viewvc?view=revision&revision=1172363 Patch contributed by Henning Brinkmann imported patch i#103878 http://svn.apache.org/viewvc?view=revision&revision=1172109 Patches contributed by Michael Stahl sw34bf06: #i117955#: WW8 export: disable storing of section breaks in endnotes http://svn.apache.org/viewvc?view=revision&revision=1172119 Patch contributed by imacat Fixed the Asian language work count. http://svn.apache.org/viewvc?view=revision&revision=1241345 Patch contributed by Pedro Giffuni i#20878 - Add comment with BZ issue for reference. http://svn.apache.org/viewvc?view=revision&revision=1244517 Patch contributed by Andre Fischer Do not add targets for junit tests when junit is disabled. http://svn.apache.org/viewvc?view=revision&revision=1241508 add writerperfect dependency.
2011-03-31 10:05:04 +02:00
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
2000-09-18 16:15:01 +00:00
2000-09-18 16:15:01 +00:00
#include <hintids.hxx>
#include <svl/urihelper.hxx>
#include <unotools/pathoptions.hxx>
2000-09-18 16:15:01 +00:00
#include <tools/stream.hxx>
2000-10-06 12:41:54 +00:00
#include <sfx2/docfile.hxx>
#include <svl/itemiter.hxx>
#include <editeng/brushitem.hxx>
2000-09-18 16:15:01 +00:00
#include <tools/resid.hxx>
#include <fmtornt.hxx>
#include <swtypes.hxx> // empty string
2000-09-18 16:15:01 +00:00
#include <wrtsh.hxx>
#include <uinums.hxx>
#include <poolfmt.hxx>
#include <charfmt.hxx>
#include <frmatr.hxx>
#include <unomid.h>
using namespace ::com::sun::star;
#define VERSION_30B ((sal_uInt16)250)
#define VERSION_31B ((sal_uInt16)326)
#define VERSION_40A ((sal_uInt16)364)
#define VERSION_50A ((sal_uInt16)373)
#define VERSION_53A ((sal_uInt16)596)
2000-09-18 16:15:01 +00:00
#define ACT_NUM_VERSION VERSION_53A
#define CHAPTER_FILENAME "chapter.cfg"
2000-09-18 16:15:01 +00:00
// SwNumRulesWithName ----------------------------------------------------
// PUBLIC METHODES -------------------------------------------------------
/*------------------------------------------------------------------------
Description: Saving a rule
Parameter: rCopy -- the rule to save
nIdx -- position, where the rule is to be saved.
An old rule at that position will be overwritten.
2000-09-18 16:15:01 +00:00
------------------------------------------------------------------------*/
SwBaseNumRules::SwBaseNumRules( const String& rFileName )
:
2000-09-18 16:15:01 +00:00
sFileName( rFileName ),
nVersion(0),
bModified( sal_False )
2000-09-18 16:15:01 +00:00
{
Init();
}
SwBaseNumRules::~SwBaseNumRules()
{
if( bModified )
{
2000-10-06 12:41:54 +00:00
SvtPathOptions aPathOpt;
String sNm( aPathOpt.GetUserConfigPath() );
2000-09-18 16:15:01 +00:00
sNm += INET_PATH_TOKEN;
sNm += sFileName;
INetURLObject aTempObj(sNm);
sNm = aTempObj.GetFull();
2000-10-06 12:41:54 +00:00
SfxMedium aStrm( sNm, STREAM_WRITE | STREAM_TRUNC |
STREAM_SHARE_DENYALL );
2000-10-06 12:41:54 +00:00
Store( *aStrm.GetOutStream() );
2000-09-18 16:15:01 +00:00
}
for( sal_uInt16 i = 0; i < nMaxRules; ++i )
2000-09-18 16:15:01 +00:00
delete pNumRules[i];
}
void SwBaseNumRules::Init()
{
for(sal_uInt16 i = 0; i < nMaxRules; ++i )
2000-09-18 16:15:01 +00:00
pNumRules[i] = 0;
String sNm( sFileName );
SvtPathOptions aOpt;
if( aOpt.SearchFile( sNm, SvtPathOptions::PATH_USERCONFIG ))
2000-09-18 16:15:01 +00:00
{
SfxMedium aStrm( sNm, STREAM_STD_READ );
2000-10-06 12:41:54 +00:00
Load( *aStrm.GetInStream() );
2000-09-18 16:15:01 +00:00
}
}
void SwBaseNumRules::ApplyNumRules(const SwNumRulesWithName &rCopy, sal_uInt16 nIdx)
2000-09-18 16:15:01 +00:00
{
2010-10-20 15:36:15 +01:00
OSL_ENSURE(nIdx < nMaxRules, "Array der NumRules ueberindiziert.");
2000-09-18 16:15:01 +00:00
if( !pNumRules[nIdx] )
pNumRules[nIdx] = new SwNumRulesWithName( rCopy );
else
*pNumRules[nIdx] = rCopy;
}
2010-10-20 15:36:15 +01:00
// PROTECTED METHODS ----------------------------------------------------
Merge commit 'ooo/DEV300_m101' into integration/dev300_m101 Conflicts: starmath/inc/applicat.hxx starmath/inc/dialog.hxx starmath/inc/document.hxx starmath/inc/edit.hxx starmath/inc/format.hxx starmath/inc/node.hxx starmath/inc/parse.hxx starmath/inc/rect.hxx starmath/inc/smdll.hxx starmath/inc/smmod.hxx starmath/inc/starmath.hrc starmath/inc/symbol.hxx starmath/inc/toolbox.hxx starmath/inc/utility.hxx starmath/inc/view.hxx starmath/prj/build.lst starmath/qa/cppunit/version.map starmath/sdi/smslots.sdi starmath/source/accessibility.cxx starmath/source/cfgitem.cxx starmath/source/cfgitem.hxx starmath/source/config.cxx starmath/source/dialog.cxx starmath/source/document.cxx starmath/source/edit.cxx starmath/source/format.cxx starmath/source/makefile.mk starmath/source/math_pch.cxx starmath/source/mathmlexport.cxx starmath/source/mathmlimport.cxx starmath/source/mathtype.cxx starmath/source/node.cxx starmath/source/parse.cxx starmath/source/rect.cxx starmath/source/register.cxx starmath/source/smdetect.cxx starmath/source/smdll.cxx starmath/source/smmod.cxx starmath/source/smres.src starmath/source/symbol.cxx starmath/source/toolbox.cxx starmath/source/unomodel.cxx starmath/source/utility.cxx starmath/source/view.cxx sw/JunitTest_sw_unoapi.mk sw/Library_swd.mk sw/Makefile sw/inc/IDocumentFieldsAccess.hxx sw/inc/IDocumentSettingAccess.hxx sw/inc/IDocumentUndoRedo.hxx sw/inc/IShellCursorSupplier.hxx sw/inc/SwUndoField.hxx sw/inc/acmplwrd.hxx sw/inc/authfld.hxx sw/inc/bparr.hxx sw/inc/calbck.hxx sw/inc/calc.hxx sw/inc/ccoll.hxx sw/inc/cellatr.hxx sw/inc/cellfml.hxx sw/inc/chpfld.hxx sw/inc/cmdid.h sw/inc/crsrsh.hxx sw/inc/crstate.hxx sw/inc/dbfld.hxx sw/inc/dbmgr.hxx sw/inc/dcontact.hxx sw/inc/ddefld.hxx sw/inc/doc.hxx sw/inc/docary.hxx sw/inc/docsh.hxx sw/inc/docstat.hxx sw/inc/docstyle.hxx sw/inc/docufld.hxx sw/inc/editsh.hxx sw/inc/errhdl.hxx sw/inc/expfld.hxx sw/inc/fchrfmt.hxx sw/inc/fesh.hxx sw/inc/fldbas.hxx sw/inc/flddat.hxx sw/inc/flddropdown.hxx sw/inc/flypos.hxx sw/inc/fmtanchr.hxx sw/inc/fmtautofmt.hxx sw/inc/fmtclds.hxx sw/inc/fmtcnct.hxx sw/inc/fmtcol.hxx sw/inc/fmtfsize.hxx sw/inc/fmtftn.hxx sw/inc/fmtftntx.hxx sw/inc/fmthdft.hxx sw/inc/fmtinfmt.hxx sw/inc/fmtline.hxx sw/inc/fmtornt.hxx sw/inc/fmtpdsc.hxx sw/inc/fmtruby.hxx sw/inc/fmtsrnd.hxx sw/inc/fmturl.hxx sw/inc/fmtwrapinfluenceonobjpos.hxx sw/inc/format.hxx sw/inc/frmatr.hxx sw/inc/frmfmt.hxx sw/inc/grfatr.hxx sw/inc/helpid.h sw/inc/hintids.hxx sw/inc/hints.hxx sw/inc/htmltbl.hxx sw/inc/inetfld.hxx sw/inc/io.hxx sw/inc/iodetect.hxx sw/inc/itabenum.hxx sw/inc/ndarr.hxx sw/inc/ndgrf.hxx sw/inc/ndindex.hxx sw/inc/ndnotxt.hxx sw/inc/ndole.hxx sw/inc/ndtxt.hxx sw/inc/ndtyp.hxx sw/inc/node.hxx sw/inc/numrule.hxx sw/inc/pagedesc.hxx sw/inc/pagepreviewlayout.hxx sw/inc/pam.hxx sw/inc/paratr.hxx sw/inc/poolfmt.awk sw/inc/poolfmt.hxx sw/inc/printdata.hxx sw/inc/reffld.hxx sw/inc/shellio.hxx sw/inc/shellres.hxx sw/inc/swabstdlg.hxx sw/inc/swatrset.hxx sw/inc/swerror.h sw/inc/swprtopt.hxx sw/inc/swtable.hxx sw/inc/swtypes.hxx sw/inc/tblafmt.hxx sw/inc/tgrditem.hxx sw/inc/tox.hxx sw/inc/undobj.hxx sw/inc/unocoll.hxx sw/inc/unoframe.hxx sw/inc/unoprnms.hxx sw/inc/usrfld.hxx sw/inc/viewopt.hxx sw/inc/viewsh.hxx sw/inc/viscrs.hxx sw/prj/build.lst sw/qa/complex/accessibility/makefile.mk sw/qa/core/Test-BigPtrArray.cxx sw/qa/core/makefile.mk sw/sdi/makefile.mk sw/source/core/access/makefile.mk sw/source/core/access/textmarkuphelper.cxx sw/source/core/attr/calbck.cxx sw/source/core/attr/cellatr.cxx sw/source/core/attr/fmtwrapinfluenceonobjpos.cxx sw/source/core/attr/format.cxx sw/source/core/attr/hints.cxx sw/source/core/bastyp/calc.cxx sw/source/core/bastyp/init.cxx sw/source/core/bastyp/makefile.mk sw/source/core/bastyp/swcache.cxx sw/source/core/crsr/bookmrk.cxx sw/source/core/crsr/callnk.cxx sw/source/core/crsr/crsrsh.cxx sw/source/core/crsr/crstrvl.cxx sw/source/core/crsr/findattr.cxx sw/source/core/crsr/findcoll.cxx sw/source/core/crsr/makefile.mk sw/source/core/crsr/pam.cxx sw/source/core/crsr/swcrsr.cxx sw/source/core/crsr/trvltbl.cxx sw/source/core/crsr/unocrsr.cxx sw/source/core/crsr/viscrs.cxx sw/source/core/doc/acmplwrd.cxx sw/source/core/doc/doc.cxx sw/source/core/doc/docbm.cxx sw/source/core/doc/doccomp.cxx sw/source/core/doc/docdesc.cxx sw/source/core/doc/docdraw.cxx sw/source/core/doc/docedt.cxx sw/source/core/doc/docfld.cxx sw/source/core/doc/docfly.cxx sw/source/core/doc/docfmt.cxx sw/source/core/doc/docftn.cxx sw/source/core/doc/docglbl.cxx sw/source/core/doc/docglos.cxx sw/source/core/doc/doclay.cxx sw/source/core/doc/docnew.cxx sw/source/core/doc/docnum.cxx sw/source/core/doc/docredln.cxx sw/source/core/doc/docruby.cxx sw/source/core/doc/docsort.cxx sw/source/core/doc/docstat.cxx sw/source/core/doc/doctxm.cxx sw/source/core/doc/fmtcol.cxx sw/source/core/doc/gctable.cxx sw/source/core/doc/htmltbl.cxx sw/source/core/doc/makefile.mk sw/source/core/doc/number.cxx sw/source/core/doc/poolfmt.cxx sw/source/core/doc/tblafmt.cxx sw/source/core/doc/tblcpy.cxx sw/source/core/doc/tblrwcl.cxx sw/source/core/docnode/makefile.mk sw/source/core/docnode/ndcopy.cxx sw/source/core/docnode/ndnum.cxx sw/source/core/docnode/ndsect.cxx sw/source/core/docnode/ndtbl.cxx sw/source/core/docnode/ndtbl1.cxx sw/source/core/docnode/node.cxx sw/source/core/docnode/node2lay.cxx sw/source/core/docnode/nodes.cxx sw/source/core/docnode/section.cxx sw/source/core/docnode/swbaslnk.cxx sw/source/core/draw/dcontact.cxx sw/source/core/draw/dflyobj.cxx sw/source/core/draw/drawdoc.cxx sw/source/core/draw/dview.cxx sw/source/core/draw/makefile.mk sw/source/core/edit/autofmt.cxx sw/source/core/edit/edattr.cxx sw/source/core/edit/eddel.cxx sw/source/core/edit/edfcol.cxx sw/source/core/edit/edfld.cxx sw/source/core/edit/edfldexp.cxx sw/source/core/edit/edfmt.cxx sw/source/core/edit/edglss.cxx sw/source/core/edit/editsh.cxx sw/source/core/edit/edlingu.cxx sw/source/core/edit/ednumber.cxx sw/source/core/edit/edsect.cxx sw/source/core/edit/edtab.cxx sw/source/core/edit/edtox.cxx sw/source/core/edit/edundo.cxx sw/source/core/edit/makefile.mk sw/source/core/except/dbgloop.cxx sw/source/core/except/errhdl.cxx sw/source/core/fields/authfld.cxx sw/source/core/fields/cellfml.cxx sw/source/core/fields/chpfld.cxx sw/source/core/fields/dbfld.cxx sw/source/core/fields/ddefld.cxx sw/source/core/fields/ddetbl.cxx sw/source/core/fields/docufld.cxx sw/source/core/fields/expfld.cxx sw/source/core/fields/fldbas.cxx sw/source/core/fields/flddat.cxx sw/source/core/fields/flddropdown.cxx sw/source/core/fields/macrofld.cxx sw/source/core/fields/makefile.mk sw/source/core/fields/reffld.cxx sw/source/core/fields/scrptfld.cxx sw/source/core/fields/tblcalc.cxx sw/source/core/fields/usrfld.cxx sw/source/core/frmedt/fecopy.cxx sw/source/core/frmedt/fedesc.cxx sw/source/core/frmedt/fefly1.cxx sw/source/core/frmedt/feshview.cxx sw/source/core/frmedt/fetab.cxx sw/source/core/frmedt/fews.cxx sw/source/core/frmedt/makefile.mk sw/source/core/frmedt/tblsel.cxx sw/source/core/graphic/grfatr.cxx sw/source/core/inc/SwUndoFmt.hxx sw/source/core/inc/SwUndoTOXChange.hxx sw/source/core/inc/anchoredobjectposition.hxx sw/source/core/inc/dbgloop.hxx sw/source/core/inc/drawfont.hxx sw/source/core/inc/flowfrm.hxx sw/source/core/inc/frame.hxx sw/source/core/inc/frmtool.hxx sw/source/core/inc/layact.hxx sw/source/core/inc/layfrm.hxx sw/source/core/inc/notxtfrm.hxx sw/source/core/inc/rolbck.hxx sw/source/core/inc/rootfrm.hxx sw/source/core/inc/scriptinfo.hxx sw/source/core/inc/swblocks.hxx sw/source/core/inc/swcache.hxx sw/source/core/inc/tabfrm.hxx sw/source/core/inc/txmsrt.hxx sw/source/core/inc/undoflystrattr.hxx sw/source/core/inc/viewimp.hxx sw/source/core/layout/atrfrm.cxx sw/source/core/layout/calcmove.cxx sw/source/core/layout/dbg_lay.cxx sw/source/core/layout/findfrm.cxx sw/source/core/layout/flowfrm.cxx sw/source/core/layout/fly.cxx sw/source/core/layout/flycnt.cxx sw/source/core/layout/flyincnt.cxx sw/source/core/layout/flylay.cxx sw/source/core/layout/frmtool.cxx sw/source/core/layout/ftnfrm.cxx sw/source/core/layout/layact.cxx sw/source/core/layout/laycache.cxx sw/source/core/layout/makefile.mk sw/source/core/layout/objectformatter.cxx sw/source/core/layout/pagechg.cxx sw/source/core/layout/pagedesc.cxx sw/source/core/layout/paintfrm.cxx sw/source/core/layout/sectfrm.cxx sw/source/core/layout/tabfrm.cxx sw/source/core/layout/trvlfrm.cxx sw/source/core/layout/unusedf.cxx sw/source/core/layout/wsfrm.cxx sw/source/core/makefile.mk sw/source/core/objectpositioning/anchoredobjectposition.cxx sw/source/core/objectpositioning/ascharanchoredobjectposition.cxx sw/source/core/objectpositioning/makefile.mk sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx sw/source/core/objectpositioning/tolayoutanchoredobjectposition.cxx sw/source/core/ole/ndole.cxx sw/source/core/para/makefile.mk sw/source/core/para/paratr.cxx sw/source/core/sw3io/makefile.mk sw/source/core/sw3io/sw3convert.cxx sw/source/core/swg/SwXMLTextBlocks.cxx sw/source/core/swg/makefile.mk sw/source/core/swg/swblocks.cxx sw/source/core/table/swnewtable.cxx sw/source/core/table/swtable.cxx sw/source/core/text/EnhancedPDFExportHelper.cxx sw/source/core/text/atrstck.cxx sw/source/core/text/frmcrsr.cxx sw/source/core/text/frmform.cxx sw/source/core/text/itrcrsr.cxx sw/source/core/text/itrform2.cxx sw/source/core/text/makefile.mk sw/source/core/text/porlay.cxx sw/source/core/text/pormulti.cxx sw/source/core/text/txtfld.cxx sw/source/core/text/txtfrm.cxx sw/source/core/text/txtio.cxx sw/source/core/tox/makefile.mk sw/source/core/tox/txmsrt.cxx sw/source/core/txtnode/fmtatr2.cxx sw/source/core/txtnode/fntcache.cxx sw/source/core/txtnode/fntcap.cxx sw/source/core/txtnode/makefile.mk sw/source/core/txtnode/ndhints.cxx sw/source/core/txtnode/ndtxt.cxx sw/source/core/txtnode/swfont.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtatr2.cxx sw/source/core/txtnode/txtedt.cxx sw/source/core/undo/SwUndoField.cxx sw/source/core/undo/SwUndoPageDesc.cxx sw/source/core/undo/SwUndoTOXChange.cxx sw/source/core/undo/docundo.cxx sw/source/core/undo/makefile.mk sw/source/core/undo/rolbck.cxx sw/source/core/undo/unbkmk.cxx sw/source/core/undo/undel.cxx sw/source/core/undo/undobj.cxx sw/source/core/undo/undobj1.cxx sw/source/core/undo/unfmco.cxx sw/source/core/undo/unins.cxx sw/source/core/undo/unnum.cxx sw/source/core/undo/unoutl.cxx sw/source/core/undo/unredln.cxx sw/source/core/undo/unsect.cxx sw/source/core/undo/unsort.cxx sw/source/core/undo/unspnd.cxx sw/source/core/undo/untbl.cxx sw/source/core/unocore/makefile.mk sw/source/core/unocore/swunohelper.cxx sw/source/core/unocore/unobkm.cxx sw/source/core/unocore/unocoll.cxx sw/source/core/unocore/unocrsrhelper.cxx sw/source/core/unocore/unodraw.cxx sw/source/core/unocore/unofield.cxx sw/source/core/unocore/unoframe.cxx sw/source/core/unocore/unomap.cxx sw/source/core/unocore/unoprnms.cxx sw/source/core/unocore/unoredlines.cxx sw/source/core/unocore/unosett.cxx sw/source/core/unocore/unosrch.cxx sw/source/core/unocore/unostyle.cxx sw/source/core/unocore/unotbl.cxx sw/source/core/view/vdraw.cxx sw/source/core/view/viewimp.cxx sw/source/core/view/viewpg.cxx sw/source/core/view/viewsh.cxx sw/source/core/view/vnew.cxx sw/source/core/view/vprint.cxx sw/source/filter/ascii/ascatr.cxx sw/source/filter/ascii/makefile.mk sw/source/filter/ascii/wrtasc.cxx sw/source/filter/basflt/fltini.cxx sw/source/filter/basflt/iodetect.cxx sw/source/filter/basflt/makefile.mk sw/source/filter/html/SwAppletImpl.cxx sw/source/filter/html/css1atr.cxx sw/source/filter/html/htmlatr.cxx sw/source/filter/html/htmlbas.cxx sw/source/filter/html/htmlcss1.cxx sw/source/filter/html/htmlfly.cxx sw/source/filter/html/htmlftn.cxx sw/source/filter/html/htmlgrin.cxx sw/source/filter/html/htmlnum.cxx sw/source/filter/html/htmlplug.cxx sw/source/filter/html/htmltab.cxx sw/source/filter/html/makefile.mk sw/source/filter/html/parcss1.cxx sw/source/filter/html/svxcss1.cxx sw/source/filter/html/swhtml.cxx sw/source/filter/inc/msfilter.hxx sw/source/filter/inc/wrtswtbl.hxx sw/source/filter/rtf/makefile.mk sw/source/filter/rtf/rtffly.cxx sw/source/filter/rtf/rtfnum.cxx sw/source/filter/rtf/rtftbl.cxx sw/source/filter/rtf/swparrtf.cxx sw/source/filter/rtf/swparrtf.hxx sw/source/filter/writer/makefile.mk sw/source/filter/writer/writer.cxx sw/source/filter/writer/wrt_fn.cxx sw/source/filter/writer/wrtswtbl.cxx sw/source/filter/ww1/fltshell.cxx sw/source/filter/ww1/makefile.mk sw/source/filter/ww1/w1class.cxx sw/source/filter/ww1/w1class.hxx sw/source/filter/ww1/w1filter.cxx sw/source/filter/ww1/w1par.cxx sw/source/filter/ww1/w1sprm.cxx sw/source/filter/ww1/w1struct.hxx sw/source/filter/ww8/README-rtf.txt sw/source/filter/ww8/attributeoutputbase.hxx sw/source/filter/ww8/docxattributeoutput.cxx sw/source/filter/ww8/docxattributeoutput.hxx sw/source/filter/ww8/docxexport.cxx sw/source/filter/ww8/docxexport.hxx sw/source/filter/ww8/docxexportfilter.cxx sw/source/filter/ww8/dump/dump8.cxx sw/source/filter/ww8/dump/dump8a.cxx sw/source/filter/ww8/dump/msvbasic.cxx sw/source/filter/ww8/dump/msvbasic.hxx sw/source/filter/ww8/dump/ww8darr.cxx sw/source/filter/ww8/dump/ww8darr.hxx sw/source/filter/ww8/dump/ww8dout.cxx sw/source/filter/ww8/dump/ww8dout.hxx sw/source/filter/ww8/dump/ww8scan.cxx sw/source/filter/ww8/dump/ww8scan.hxx sw/source/filter/ww8/dump/ww8struc.hxx sw/source/filter/ww8/makefile.mk sw/source/filter/ww8/rtfattributeoutput.cxx sw/source/filter/ww8/rtfattributeoutput.hxx sw/source/filter/ww8/rtfexport.cxx sw/source/filter/ww8/rtfexport.hxx sw/source/filter/ww8/rtfexportfilter.cxx sw/source/filter/ww8/rtfexportfilter.hxx sw/source/filter/ww8/rtfimportfilter.cxx sw/source/filter/ww8/rtfimportfilter.hxx sw/source/filter/ww8/rtfsdrexport.cxx sw/source/filter/ww8/rtfsdrexport.hxx sw/source/filter/ww8/writerhelper.cxx sw/source/filter/ww8/writerwordglue.cxx sw/source/filter/ww8/wrtw8esh.cxx sw/source/filter/ww8/wrtw8nds.cxx sw/source/filter/ww8/wrtw8num.cxx sw/source/filter/ww8/wrtw8sty.cxx sw/source/filter/ww8/wrtww8.cxx sw/source/filter/ww8/wrtww8.hxx sw/source/filter/ww8/wrtww8gr.cxx sw/source/filter/ww8/ww8atr.cxx sw/source/filter/ww8/ww8attributeoutput.hxx sw/source/filter/ww8/ww8graf.cxx sw/source/filter/ww8/ww8graf.hxx sw/source/filter/ww8/ww8graf2.cxx sw/source/filter/ww8/ww8par.cxx sw/source/filter/ww8/ww8par.hxx sw/source/filter/ww8/ww8par2.cxx sw/source/filter/ww8/ww8par3.cxx sw/source/filter/ww8/ww8par5.cxx sw/source/filter/ww8/ww8par6.cxx sw/source/filter/ww8/ww8scan.cxx sw/source/filter/ww8/ww8scan.hxx sw/source/filter/ww8/ww8struc.hxx sw/source/filter/xml/makefile.mk sw/source/filter/xml/xmlimpit.cxx sw/source/filter/xml/xmltble.cxx sw/source/filter/xml/xmltbli.cxx sw/source/ui/app/appenv.cxx sw/source/ui/app/apphdl.cxx sw/source/ui/app/applab.cxx sw/source/ui/app/appopt.cxx sw/source/ui/app/docsh.cxx sw/source/ui/app/docsh2.cxx sw/source/ui/app/docshini.cxx sw/source/ui/app/docst.cxx sw/source/ui/app/docstyle.cxx sw/source/ui/app/makefile.mk sw/source/ui/app/mn.src sw/source/ui/app/swmodul1.cxx sw/source/ui/cctrl/makefile.mk sw/source/ui/cctrl/swlbox.cxx sw/source/ui/chrdlg/break.cxx sw/source/ui/chrdlg/ccoll.cxx sw/source/ui/chrdlg/chardlg.cxx sw/source/ui/chrdlg/drpcps.cxx sw/source/ui/chrdlg/makefile.mk sw/source/ui/chrdlg/numpara.cxx sw/source/ui/chrdlg/pardlg.cxx sw/source/ui/chrdlg/swuiccoll.cxx sw/source/ui/config/barcfg.cxx sw/source/ui/config/caption.cxx sw/source/ui/config/cfgitems.cxx sw/source/ui/config/fontcfg.cxx sw/source/ui/config/mailconfigpage.cxx sw/source/ui/config/makefile.mk sw/source/ui/config/modcfg.cxx sw/source/ui/config/optcomp.cxx sw/source/ui/config/optload.cxx sw/source/ui/config/optpage.cxx sw/source/ui/config/prtopt.cxx sw/source/ui/config/uinums.cxx sw/source/ui/config/usrpref.cxx sw/source/ui/config/viewopt.cxx sw/source/ui/dbui/dbinsdlg.cxx sw/source/ui/dbui/dbmgr.cxx sw/source/ui/dbui/dbtree.cxx sw/source/ui/dbui/makefile.mk sw/source/ui/dbui/mmaddressblockpage.cxx sw/source/ui/dbui/mmdocselectpage.cxx sw/source/ui/dbui/mmoutputpage.cxx sw/source/ui/dbui/swdbtoolsclient.cxx sw/source/ui/dialog/abstract.cxx sw/source/ui/dialog/ascfldlg.cxx sw/source/ui/dialog/macassgn.cxx sw/source/ui/dialog/makefile.mk sw/source/ui/dialog/regionsw.cxx sw/source/ui/dialog/swdlgfact.cxx sw/source/ui/dialog/swdlgfact.hxx sw/source/ui/dialog/uiregionsw.cxx sw/source/ui/dochdl/gloshdl.cxx sw/source/ui/dochdl/makefile.mk sw/source/ui/dochdl/swdtflvr.cxx sw/source/ui/docvw/PostItMgr.cxx sw/source/ui/docvw/SidebarWin.cxx sw/source/ui/docvw/edtdd.cxx sw/source/ui/docvw/edtwin.cxx sw/source/ui/docvw/edtwin2.cxx sw/source/ui/docvw/edtwin3.cxx sw/source/ui/docvw/makefile.mk sw/source/ui/docvw/romenu.cxx sw/source/ui/docvw/romenu.hxx sw/source/ui/docvw/srcedtw.cxx sw/source/ui/envelp/envfmt.cxx sw/source/ui/envelp/envimg.cxx sw/source/ui/envelp/envlop1.cxx sw/source/ui/envelp/envprt.cxx sw/source/ui/envelp/label1.cxx sw/source/ui/envelp/labfmt.cxx sw/source/ui/envelp/labprt.cxx sw/source/ui/envelp/mailmrge.cxx sw/source/ui/envelp/makefile.mk sw/source/ui/fldui/flddb.cxx sw/source/ui/fldui/flddinf.cxx sw/source/ui/fldui/flddok.cxx sw/source/ui/fldui/fldedt.cxx sw/source/ui/fldui/fldfunc.cxx sw/source/ui/fldui/fldmgr.cxx sw/source/ui/fldui/fldpage.cxx sw/source/ui/fldui/fldref.cxx sw/source/ui/fldui/fldtdlg.cxx sw/source/ui/fldui/fldvar.cxx sw/source/ui/fldui/fldwrap.cxx sw/source/ui/fldui/inpdlg.cxx sw/source/ui/fldui/makefile.mk sw/source/ui/fmtui/makefile.mk sw/source/ui/fmtui/tmpdlg.cxx sw/source/ui/frmdlg/colmgr.cxx sw/source/ui/frmdlg/column.cxx sw/source/ui/frmdlg/cption.cxx sw/source/ui/frmdlg/frmdlg.cxx sw/source/ui/frmdlg/frmmgr.cxx sw/source/ui/frmdlg/frmpage.cxx sw/source/ui/frmdlg/makefile.mk sw/source/ui/frmdlg/wrap.cxx sw/source/ui/globdoc/makefile.mk sw/source/ui/inc/bmpwin.hxx sw/source/ui/inc/colmgr.hxx sw/source/ui/inc/column.hxx sw/source/ui/inc/envimg.hxx sw/source/ui/inc/envlop.hxx sw/source/ui/inc/frmpage.hxx sw/source/ui/inc/inputwin.hxx sw/source/ui/inc/javaedit.hxx sw/source/ui/inc/num.hxx sw/source/ui/inc/optpage.hxx sw/source/ui/inc/regionsw.hxx sw/source/ui/inc/split.hxx sw/source/ui/inc/swlbox.hxx sw/source/ui/inc/swmn_tmpl.hrc sw/source/ui/inc/swuiidxmrk.hxx sw/source/ui/inc/tabsh.hxx sw/source/ui/inc/toxmgr.hxx sw/source/ui/inc/uiitems.hxx sw/source/ui/inc/view.hxx sw/source/ui/inc/workctrl.hxx sw/source/ui/inc/wrap.hxx sw/source/ui/inc/wrtsh.hxx sw/source/ui/index/cnttab.cxx sw/source/ui/index/makefile.mk sw/source/ui/index/toxmgr.cxx sw/source/ui/lingu/hhcwrp.cxx sw/source/ui/lingu/makefile.mk sw/source/ui/lingu/olmenu.cxx sw/source/ui/misc/bookmark.cxx sw/source/ui/misc/docfnote.cxx sw/source/ui/misc/glosbib.cxx sw/source/ui/misc/glosdoc.cxx sw/source/ui/misc/glshell.cxx sw/source/ui/misc/insfnote.cxx sw/source/ui/misc/linenum.cxx sw/source/ui/misc/makefile.mk sw/source/ui/misc/num.cxx sw/source/ui/misc/numberingtypelistbox.cxx sw/source/ui/misc/outline.cxx sw/source/ui/misc/pgfnote.cxx sw/source/ui/misc/pggrid.cxx sw/source/ui/misc/redlndlg.cxx sw/source/ui/misc/srtdlg.cxx sw/source/ui/misc/swmodalredlineacceptdlg.cxx sw/source/ui/ribbar/conarc.cxx sw/source/ui/ribbar/drawbase.cxx sw/source/ui/ribbar/inputwin.cxx sw/source/ui/ribbar/inputwin.src sw/source/ui/ribbar/makefile.mk sw/source/ui/ribbar/tbxanchr.cxx sw/source/ui/ribbar/workctrl.cxx sw/source/ui/ribbar/workctrl.src sw/source/ui/shells/annotsh.cxx sw/source/ui/shells/basesh.cxx sw/source/ui/shells/beziersh.cxx sw/source/ui/shells/drawdlg.cxx sw/source/ui/shells/drwbassh.cxx sw/source/ui/shells/drwtxtex.cxx sw/source/ui/shells/drwtxtsh.cxx sw/source/ui/shells/frmsh.cxx sw/source/ui/shells/grfsh.cxx sw/source/ui/shells/grfshex.cxx sw/source/ui/shells/makefile.mk sw/source/ui/shells/tabsh.cxx sw/source/ui/shells/textfld.cxx sw/source/ui/shells/textglos.cxx sw/source/ui/shells/textsh.cxx sw/source/ui/shells/textsh1.cxx sw/source/ui/shells/txtattr.cxx sw/source/ui/shells/txtcrsr.cxx sw/source/ui/shells/txtnum.cxx sw/source/ui/table/convert.cxx sw/source/ui/table/instable.cxx sw/source/ui/table/makefile.mk sw/source/ui/table/swtablerep.cxx sw/source/ui/table/tabledlg.cxx sw/source/ui/table/tablemgr.cxx sw/source/ui/table/tablepg.hxx sw/source/ui/table/tautofmt.cxx sw/source/ui/uiview/formatclipboard.cxx sw/source/ui/uiview/makefile.mk sw/source/ui/uiview/pview.cxx sw/source/ui/uiview/pview.src sw/source/ui/uiview/scroll.cxx sw/source/ui/uiview/srcview.cxx sw/source/ui/uiview/swcli.cxx sw/source/ui/uiview/uivwimp.cxx sw/source/ui/uiview/view.cxx sw/source/ui/uiview/view1.cxx sw/source/ui/uiview/view2.cxx sw/source/ui/uiview/viewcoll.cxx sw/source/ui/uiview/viewdlg2.cxx sw/source/ui/uiview/viewling.cxx sw/source/ui/uiview/viewmdi.cxx sw/source/ui/uiview/viewport.cxx sw/source/ui/uiview/viewprt.cxx sw/source/ui/uiview/viewsrch.cxx sw/source/ui/uiview/viewtab.cxx sw/source/ui/uno/SwXDocumentSettings.cxx sw/source/ui/uno/SwXPrintPreviewSettings.cxx sw/source/ui/uno/SwXPrintPreviewSettings.hxx sw/source/ui/uno/unoatxt.cxx sw/source/ui/uno/unomod.cxx sw/source/ui/uno/unotxdoc.cxx sw/source/ui/uno/unotxvw.cxx sw/source/ui/utlui/attrdesc.cxx sw/source/ui/utlui/content.cxx sw/source/ui/utlui/glbltree.cxx sw/source/ui/utlui/initui.cxx sw/source/ui/utlui/makefile.mk sw/source/ui/utlui/navipi.cxx sw/source/ui/utlui/navipi.src sw/source/ui/utlui/numfmtlb.cxx sw/source/ui/utlui/prcntfld.cxx sw/source/ui/utlui/uiitems.cxx sw/source/ui/utlui/uitool.cxx sw/source/ui/utlui/unotools.cxx sw/source/ui/utlui/viewlayoutctrl.cxx sw/source/ui/utlui/zoomctrl.cxx sw/source/ui/vba/makefile.mk sw/source/ui/vba/service.cxx sw/source/ui/web/makefile.mk sw/source/ui/wrtsh/makefile.mk sw/source/ui/wrtsh/wrtsh1.cxx sw/source/ui/wrtsh/wrtsh2.cxx sw/source/ui/wrtsh/wrtsh4.cxx sw/source/ui/wrtsh/wrtundo.cxx sw/util/hidother.src sw/util/makefile.mk sw/util/msword.map
2011-03-14 16:51:14 +00:00
sal_Bool SwBaseNumRules::Store(SvStream &rStream)
2000-09-18 16:15:01 +00:00
{
rStream << ACT_NUM_VERSION;
// Write, what positions are occupied by a rule
// Then write each of the rules
for(sal_uInt16 i = 0; i < nMaxRules; ++i)
2000-09-18 16:15:01 +00:00
{
if(pNumRules[i])
{
rStream << (unsigned char) sal_True;
2000-09-18 16:15:01 +00:00
pNumRules[i]->Store( rStream );
}
else
rStream << (unsigned char) sal_False;
2000-09-18 16:15:01 +00:00
}
return sal_True;
2000-09-18 16:15:01 +00:00
}
int SwBaseNumRules::Load(SvStream &rStream)
{
2000-10-12 07:32:44 +00:00
int rc = 0;
2000-09-18 16:15:01 +00:00
rStream >> nVersion;
// due to a small but serious mistake, PreFinal writes the same VERION_40A as SP2
// #55402#
2000-09-18 16:15:01 +00:00
if(VERSION_40A == nVersion)
{
OSL_FAIL("Version 364 is not clear #55402#");
2000-09-18 16:15:01 +00:00
}
else if( VERSION_30B == nVersion || VERSION_31B == nVersion ||
ACT_NUM_VERSION >= nVersion )
{
unsigned char bRule = sal_False;
for(sal_uInt16 i = 0; i < nMaxRules; ++i)
2000-09-18 16:15:01 +00:00
{
rStream >> bRule;
if(bRule)
pNumRules[i] = new SwNumRulesWithName( rStream, nVersion );
}
}
else
{
2000-10-12 07:32:44 +00:00
rc = 1;
2000-09-18 16:15:01 +00:00
}
return rc;
}
SwChapterNumRules::SwChapterNumRules() :
SwBaseNumRules(rtl::OUString(CHAPTER_FILENAME))
2000-09-18 16:15:01 +00:00
{
}
SwChapterNumRules::~SwChapterNumRules()
{
}
void SwChapterNumRules::ApplyNumRules(const SwNumRulesWithName &rCopy, sal_uInt16 nIdx)
2000-09-18 16:15:01 +00:00
{
bModified = sal_True;
2000-09-18 16:15:01 +00:00
SwBaseNumRules::ApplyNumRules(rCopy, nIdx);
}
SwNumRulesWithName::SwNumRulesWithName( const SwNumRule &rCopy,
const String &rName )
: maName(rName)
2000-09-18 16:15:01 +00:00
{
for( sal_uInt16 n = 0; n < MAXLEVEL; ++n )
2000-09-18 16:15:01 +00:00
{
const SwNumFmt* pFmt = rCopy.GetNumFmt( n );
if( pFmt )
aFmts[ n ] = new _SwNumFmtGlobal( *pFmt );
else
aFmts[ n ] = 0;
}
}
SwNumRulesWithName::SwNumRulesWithName( const SwNumRulesWithName& rCopy )
{
memset( aFmts, 0, sizeof( aFmts ));
*this = rCopy;
}
SwNumRulesWithName::~SwNumRulesWithName()
{
for( int n = 0; n < MAXLEVEL; ++n )
delete aFmts[ n ];
}
const SwNumRulesWithName& SwNumRulesWithName::operator=(const SwNumRulesWithName &rCopy)
{
if( this != &rCopy )
{
maName = rCopy.maName;
2000-09-18 16:15:01 +00:00
for( int n = 0; n < MAXLEVEL; ++n )
{
delete aFmts[ n ];
_SwNumFmtGlobal* pFmt = rCopy.aFmts[ n ];
if( pFmt )
aFmts[ n ] = new _SwNumFmtGlobal( *pFmt );
else
aFmts[ n ] = 0;
}
}
return *this;
}
SwNumRulesWithName::SwNumRulesWithName( SvStream &rStream, sal_uInt16 nVersion )
2000-09-18 16:15:01 +00:00
{
CharSet eEncoding = osl_getThreadTextEncoding();
maName = rStream.ReadUniOrByteString(eEncoding);
2000-09-18 16:15:01 +00:00
char c;
for(sal_uInt16 n = 0; n < MAXLEVEL; ++n )
2000-09-18 16:15:01 +00:00
{
if( VERSION_30B == nVersion )
c = 1;
// due to a small but serious mistake, PreFinal writes the same VERION_40A as SP2
// #55402#
2000-09-18 16:15:01 +00:00
else if(nVersion < VERSION_40A && n > 5)
c = 0;
else
rStream >> c;
if( c )
aFmts[ n ] = new _SwNumFmtGlobal( rStream, nVersion );
else
aFmts[ n ] = 0;
}
}
void SwNumRulesWithName::MakeNumRule( SwWrtShell& rSh, SwNumRule& rChg ) const
{
2010-10-20 15:36:15 +01:00
// #i89178#
rChg = SwNumRule( maName, numfunc::GetDefaultPositionAndSpaceMode() );
rChg.SetAutoRule( sal_False );
2000-09-18 16:15:01 +00:00
_SwNumFmtGlobal* pFmt;
for( sal_uInt16 n = 0; n < MAXLEVEL; ++n )
2000-09-18 16:15:01 +00:00
if( 0 != ( pFmt = aFmts[ n ] ) )
{
SwNumFmt aNew;
pFmt->ChgNumFmt( rSh, aNew );
rChg.Set( n, aNew );
}
}
void SwNumRulesWithName::Store( SvStream &rStream )
{
CharSet eEncoding = osl_getThreadTextEncoding();
rStream.WriteUniOrByteString(maName, eEncoding);
2000-09-18 16:15:01 +00:00
for( sal_uInt16 n = 0; n < MAXLEVEL; ++n )
2000-09-18 16:15:01 +00:00
{
_SwNumFmtGlobal* pFmt = aFmts[ n ];
if( pFmt )
{
rStream << (char)1;
pFmt->Store( rStream );
}
else
rStream << (char)0;
}
}
SwNumRulesWithName::_SwNumFmtGlobal::_SwNumFmtGlobal( const SwNumFmt& rFmt )
: aFmt( rFmt ), nCharPoolId( USHRT_MAX )
{
// relative gaps?????
2000-09-18 16:15:01 +00:00
SwCharFmt* pFmt = rFmt.GetCharFmt();
if( pFmt )
{
sCharFmtName = pFmt->GetName();
nCharPoolId = pFmt->GetPoolFmtId();
if( pFmt->GetAttrSet().Count() )
{
SfxItemIter aIter( pFmt->GetAttrSet() );
const SfxPoolItem *pCurr = aIter.GetCurItem();
while( true )
2000-09-18 16:15:01 +00:00
{
aItems.push_back( pCurr->Clone() );
2000-09-18 16:15:01 +00:00
if( aIter.IsAtEnd() )
break;
pCurr = aIter.NextItem();
}
}
aFmt.SetCharFmt( 0 );
}
}
SwNumRulesWithName::_SwNumFmtGlobal::_SwNumFmtGlobal( const _SwNumFmtGlobal& rFmt )
:
aFmt( rFmt.aFmt ),
sCharFmtName( rFmt.sCharFmtName ),
nCharPoolId( rFmt.nCharPoolId )
2000-09-18 16:15:01 +00:00
{
for( sal_uInt16 n = rFmt.aItems.size(); n; )
aItems.push_back( rFmt.aItems[ --n ].Clone() );
2000-09-18 16:15:01 +00:00
}
SwNumRulesWithName::_SwNumFmtGlobal::_SwNumFmtGlobal( SvStream& rStream,
sal_uInt16 nVersion )
2000-09-18 16:15:01 +00:00
: nCharPoolId( USHRT_MAX )
{
CharSet eEncoding = osl_getThreadTextEncoding();
2000-09-18 16:15:01 +00:00
{
sal_uInt16 nUS;
short nShort;
2000-09-18 16:15:01 +00:00
sal_Char cChar;
sal_Bool bFlag;
2000-09-18 16:15:01 +00:00
String sStr;
rStream >> nUS; aFmt.SetNumberingType((sal_Int16)nUS );
2000-09-18 16:15:01 +00:00
if( VERSION_53A > nVersion )
{
rStream >> cChar; aFmt.SetBulletChar( cChar );
}
else
{
rStream >> nUS; aFmt.SetBulletChar( nUS );
}
rStream >> bFlag; aFmt.SetIncludeUpperLevels( bFlag );
2000-09-18 16:15:01 +00:00
if( VERSION_30B == nVersion )
{
sal_Int32 nL;
rStream >> cChar; aFmt.SetStart( (sal_uInt16)cChar );
2000-09-18 16:15:01 +00:00
sStr = rStream.ReadUniOrByteString(eEncoding);
2000-09-18 16:15:01 +00:00
aFmt.SetPrefix( sStr );
sStr = rStream.ReadUniOrByteString(eEncoding);
aFmt.SetSuffix( sStr );
rStream >> nUS; aFmt.SetNumAdjust( SvxAdjust( nUS ) );
2000-09-18 16:15:01 +00:00
rStream >> nL; aFmt.SetLSpace( lNumIndent );
rStream >> nL; aFmt.SetFirstLineOffset( (short)nL );
}
else // old start-value was a Byte
2000-09-18 16:15:01 +00:00
{
rStream >> nUS; aFmt.SetStart( nUS );
sStr = rStream.ReadUniOrByteString(eEncoding);
2000-09-18 16:15:01 +00:00
aFmt.SetPrefix( sStr );
sStr = rStream.ReadUniOrByteString(eEncoding);
aFmt.SetSuffix( sStr );
rStream >> nUS; aFmt.SetNumAdjust( SvxAdjust( nUS ) );
2000-09-18 16:15:01 +00:00
rStream >> nUS; aFmt.SetAbsLSpace( nUS );
rStream >> nShort; aFmt.SetFirstLineOffset( nShort );
rStream >> nUS; aFmt.SetCharTextDistance( nUS );
2000-09-18 16:15:01 +00:00
rStream >> nShort; aFmt.SetLSpace( nShort );
rStream >> bFlag;
2000-09-18 16:15:01 +00:00
}
sal_uInt16 nFamily;
sal_uInt16 nCharSet;
2000-09-18 16:15:01 +00:00
short nWidth;
short nHeight;
sal_uInt16 nPitch;
2000-09-18 16:15:01 +00:00
String aName;
aName = rStream.ReadUniOrByteString(eEncoding);
2000-09-18 16:15:01 +00:00
rStream >> nFamily >> nCharSet >> nWidth >> nHeight >> nPitch;
if( aName.Len() )
{
Font aFont( static_cast<FontFamily>(nFamily), Size( nWidth, nHeight ) );
2000-09-18 16:15:01 +00:00
aFont.SetName( aName );
aFont.SetCharSet( (CharSet)nCharSet );
aFont.SetPitch( (FontPitch)nPitch );
aFmt.SetBulletFont( &aFont );
}
else
nCharSet = RTL_TEXTENCODING_SYMBOL;
if( VERSION_53A > nVersion )
2011-08-04 09:27:22 +01:00
{
sal_Char cEncoded(aFmt.GetBulletChar());
aFmt.SetBulletChar(rtl::OUString(&cEncoded, 1, nCharSet).toChar());
}
2000-09-18 16:15:01 +00:00
}
if( VERSION_30B != nVersion )
{
sal_uInt16 nItemCount;
2000-09-18 16:15:01 +00:00
rStream >> nCharPoolId;
sCharFmtName = rStream.ReadUniOrByteString(eEncoding);
2000-09-18 16:15:01 +00:00
rStream >> nItemCount;
while( nItemCount-- )
{
sal_uInt16 nWhich, nVers;
2000-09-18 16:15:01 +00:00
rStream >> nWhich >> nVers;
aItems.push_back( GetDfltAttr( nWhich )->Create( rStream, nVers ) );
2000-09-18 16:15:01 +00:00
}
}
if( VERSION_40A == nVersion && SVX_NUM_BITMAP == aFmt.GetNumberingType() )
2000-09-18 16:15:01 +00:00
{
sal_uInt8 cF;
sal_Int32 nWidth(0), nHeight(0);
2000-09-18 16:15:01 +00:00
rStream >> nWidth >> nHeight;
Size aSz(nWidth, nHeight);
2000-09-18 16:15:01 +00:00
rStream >> cF;
if( cF )
{
SvxBrushItem* pBrush = 0;
SwFmtVertOrient* pVOrient = 0;
sal_uInt16 nVer;
2000-09-18 16:15:01 +00:00
if( cF & 1 )
{
rStream >> nVer;
pBrush = (SvxBrushItem*)GetDfltAttr( RES_BACKGROUND )
->Create( rStream, nVer );
}
if( cF & 2 )
{
rStream >> nVer;
pVOrient = (SwFmtVertOrient*)GetDfltAttr( RES_VERT_ORIENT )
->Create( rStream, nVer );
}
sal_Int16 eOrient = text::VertOrientation::NONE;
if(pVOrient)
eOrient = (sal_Int16)pVOrient->GetVertOrient();
aFmt.SetGraphicBrush( pBrush, &aSz, pVOrient ? &eOrient : 0 );
2000-09-18 16:15:01 +00:00
}
}
}
SwNumRulesWithName::_SwNumFmtGlobal::~_SwNumFmtGlobal()
{
}
void SwNumRulesWithName::_SwNumFmtGlobal::Store( SvStream& rStream )
{
CharSet eEncoding = osl_getThreadTextEncoding();
2000-09-18 16:15:01 +00:00
{
String aName;
sal_uInt16 nFamily = FAMILY_DONTKNOW, nCharSet = 0, nPitch = 0;
2000-09-18 16:15:01 +00:00
short nWidth = 0, nHeight = 0;
const Font* pFnt = aFmt.GetBulletFont();
if( pFnt )
{
aName = pFnt->GetName();
nFamily = (sal_uInt16)pFnt->GetFamily();
nCharSet = (sal_uInt16)pFnt->GetCharSet();
2000-09-18 16:15:01 +00:00
nWidth = (short)pFnt->GetSize().Width();
nHeight = (short)pFnt->GetSize().Height();
nPitch = (sal_uInt16)pFnt->GetPitch();
2000-09-18 16:15:01 +00:00
}
rStream << sal_uInt16(aFmt.GetNumberingType())
2000-09-18 16:15:01 +00:00
<< aFmt.GetBulletChar()
<< static_cast<sal_Bool>(aFmt.GetIncludeUpperLevels() > 0)
<< aFmt.GetStart();
rStream.WriteUniOrByteString( aFmt.GetPrefix(), eEncoding );
rStream.WriteUniOrByteString( aFmt.GetSuffix(), eEncoding );
rStream << sal_uInt16( aFmt.GetNumAdjust() )
2000-09-18 16:15:01 +00:00
<< aFmt.GetAbsLSpace()
<< aFmt.GetFirstLineOffset()
<< aFmt.GetCharTextDistance()
2000-09-18 16:15:01 +00:00
<< aFmt.GetLSpace()
<< sal_False;//aFmt.IsRelLSpace();
rStream.WriteUniOrByteString( aName, eEncoding );
2000-09-18 16:15:01 +00:00
rStream << nFamily
<< nCharSet
<< nWidth
<< nHeight
<< nPitch;
}
rStream << nCharPoolId;
rStream.WriteUniOrByteString( sCharFmtName, eEncoding );
rStream << static_cast<sal_uInt16>(aItems.size());
2000-09-18 16:15:01 +00:00
for( sal_uInt16 n = aItems.size(); n; )
2000-09-18 16:15:01 +00:00
{
SfxPoolItem* pItem = &aItems[ --n ];
sal_uInt16 nIVers = pItem->GetVersion( SOFFICE_FILEFORMAT_50 );
2010-10-20 15:36:15 +01:00
OSL_ENSURE( nIVers != USHRT_MAX,
2000-09-18 16:15:01 +00:00
"Was'n das: Item-Version USHRT_MAX in der aktuellen Version" );
rStream << pItem->Which()
<< nIVers;
pItem->Store( rStream, nIVers );
}
// Extensions for 40A
2000-09-18 16:15:01 +00:00
if( SVX_NUM_BITMAP == aFmt.GetNumberingType() )
2000-09-18 16:15:01 +00:00
{
rStream << (sal_Int32)aFmt.GetGraphicSize().Width()
<< (sal_Int32)aFmt.GetGraphicSize().Height();
sal_uInt8 cFlg = ( 0 != aFmt.GetBrush() ? 1 : 0 ) +
( 0 != aFmt.GetGraphicOrientation() ? 2 : 0 );
2000-09-18 16:15:01 +00:00
rStream << cFlg;
if( aFmt.GetBrush() )
2000-09-18 16:15:01 +00:00
{
sal_uInt16 nVersion = aFmt.GetBrush()->GetVersion( SOFFICE_FILEFORMAT_50 );
2000-09-18 16:15:01 +00:00
rStream << nVersion;
aFmt.GetBrush()->Store( rStream, nVersion );
2000-09-18 16:15:01 +00:00
}
if( aFmt.GetGraphicOrientation() )
2000-09-18 16:15:01 +00:00
{
sal_uInt16 nVersion = aFmt.GetGraphicOrientation()->GetVersion( SOFFICE_FILEFORMAT_50 );
2000-09-18 16:15:01 +00:00
rStream << nVersion;
aFmt.GetGraphicOrientation()->Store( rStream, nVersion );
2000-09-18 16:15:01 +00:00
}
}
}
void SwNumRulesWithName::_SwNumFmtGlobal::ChgNumFmt( SwWrtShell& rSh,
SwNumFmt& rNew ) const
{
SwCharFmt* pFmt = 0;
if( sCharFmtName.Len() )
{
// at first, look for the name
sal_uInt16 nArrLen = rSh.GetCharFmtCount();
for( sal_uInt16 i = 1; i < nArrLen; ++i )
2000-09-18 16:15:01 +00:00
{
pFmt = &rSh.GetCharFmt( i );
if( COMPARE_EQUAL == pFmt->GetName().CompareTo( sCharFmtName ))
// exists, so leave attributes as they are!
2000-09-18 16:15:01 +00:00
break;
pFmt = 0;
}
if( !pFmt )
{
if( IsPoolUserFmt( nCharPoolId ) )
{
pFmt = rSh.MakeCharFmt( sCharFmtName );
pFmt->SetAuto( false );
2000-09-18 16:15:01 +00:00
}
else
pFmt = rSh.GetCharFmtFromPool( nCharPoolId );
if( !pFmt->GetDepends() ) // set attributes
for( sal_uInt16 n = aItems.size(); n; )
pFmt->SetFmtAttr( aItems[ --n ] );
2000-09-18 16:15:01 +00:00
}
}
((SwNumFmt&)aFmt).SetCharFmt( pFmt );
rNew = aFmt;
if( pFmt )
((SwNumFmt&)aFmt).SetCharFmt( 0 );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */