1*efeef26fSAndrew Rist /**************************************************************
2cdf0e10cSrcweir *
3*efeef26fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*efeef26fSAndrew Rist * or more contributor license agreements. See the NOTICE file
5*efeef26fSAndrew Rist * distributed with this work for additional information
6*efeef26fSAndrew Rist * regarding copyright ownership. The ASF licenses this file
7*efeef26fSAndrew Rist * to you under the Apache License, Version 2.0 (the
8*efeef26fSAndrew Rist * "License"); you may not use this file except in compliance
9*efeef26fSAndrew Rist * with the License. You may obtain a copy of the License at
10*efeef26fSAndrew Rist *
11*efeef26fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0
12*efeef26fSAndrew Rist *
13*efeef26fSAndrew Rist * Unless required by applicable law or agreed to in writing,
14*efeef26fSAndrew Rist * software distributed under the License is distributed on an
15*efeef26fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*efeef26fSAndrew Rist * KIND, either express or implied. See the License for the
17*efeef26fSAndrew Rist * specific language governing permissions and limitations
18*efeef26fSAndrew Rist * under the License.
19*efeef26fSAndrew Rist *
20*efeef26fSAndrew Rist *************************************************************/
21*efeef26fSAndrew Rist
22*efeef26fSAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_sw.hxx"
26cdf0e10cSrcweir
27cdf0e10cSrcweir
28cdf0e10cSrcweir #include <tools/debug.hxx>
29cdf0e10cSrcweir
30cdf0e10cSrcweir #include "numrule.hxx"
31cdf0e10cSrcweir #include "caption.hxx"
32cdf0e10cSrcweir
33cdf0e10cSrcweir #define VERSION_01 1
34cdf0e10cSrcweir #define CAPTION_VERSION VERSION_01
35cdf0e10cSrcweir
36cdf0e10cSrcweir /*--------------------------------------------------------------------
37cdf0e10cSrcweir Beschreibung:
38cdf0e10cSrcweir --------------------------------------------------------------------*/
39cdf0e10cSrcweir
InsCaptionOpt(const SwCapObjType eType,const SvGlobalName * pOleId)40cdf0e10cSrcweir InsCaptionOpt::InsCaptionOpt(const SwCapObjType eType, const SvGlobalName* pOleId) :
41cdf0e10cSrcweir bUseCaption(sal_False),
42cdf0e10cSrcweir eObjType(eType),
43cdf0e10cSrcweir nNumType(SVX_NUM_ARABIC),
44cdf0e10cSrcweir sNumberSeparator( ::rtl::OUString::createFromAscii(". ") ),
45cdf0e10cSrcweir nPos(1),
46cdf0e10cSrcweir nLevel(0),
47cdf0e10cSrcweir sSeparator( String::CreateFromAscii( ": " ) ),
48cdf0e10cSrcweir bIgnoreSeqOpts(sal_False),
49cdf0e10cSrcweir bCopyAttributes(sal_False)
50cdf0e10cSrcweir {
51cdf0e10cSrcweir if (pOleId)
52cdf0e10cSrcweir aOleId = *pOleId;
53cdf0e10cSrcweir }
54cdf0e10cSrcweir
55cdf0e10cSrcweir /*--------------------------------------------------------------------
56cdf0e10cSrcweir Beschreibung:
57cdf0e10cSrcweir --------------------------------------------------------------------*/
58cdf0e10cSrcweir
InsCaptionOpt(const InsCaptionOpt & rOpt)59cdf0e10cSrcweir InsCaptionOpt::InsCaptionOpt(const InsCaptionOpt& rOpt)
60cdf0e10cSrcweir {
61cdf0e10cSrcweir *this = rOpt;
62cdf0e10cSrcweir }
63cdf0e10cSrcweir
64cdf0e10cSrcweir /*--------------------------------------------------------------------
65cdf0e10cSrcweir Beschreibung:
66cdf0e10cSrcweir --------------------------------------------------------------------*/
67cdf0e10cSrcweir
~InsCaptionOpt()68cdf0e10cSrcweir InsCaptionOpt::~InsCaptionOpt()
69cdf0e10cSrcweir {
70cdf0e10cSrcweir }
71cdf0e10cSrcweir
72cdf0e10cSrcweir /*--------------------------------------------------------------------
73cdf0e10cSrcweir Beschreibung:
74cdf0e10cSrcweir --------------------------------------------------------------------*/
75cdf0e10cSrcweir
operator =(const InsCaptionOpt & rOpt)76cdf0e10cSrcweir InsCaptionOpt& InsCaptionOpt::operator=( const InsCaptionOpt& rOpt )
77cdf0e10cSrcweir {
78cdf0e10cSrcweir bUseCaption = rOpt.bUseCaption;
79cdf0e10cSrcweir eObjType = rOpt.eObjType;
80cdf0e10cSrcweir aOleId = rOpt.aOleId;
81cdf0e10cSrcweir sCategory = rOpt.sCategory;
82cdf0e10cSrcweir nNumType = rOpt.nNumType;
83cdf0e10cSrcweir sNumberSeparator = rOpt.sNumberSeparator;
84cdf0e10cSrcweir sCaption = rOpt.sCaption;
85cdf0e10cSrcweir nPos = rOpt.nPos;
86cdf0e10cSrcweir nLevel = rOpt.nLevel;
87cdf0e10cSrcweir sSeparator = rOpt.sSeparator;
88cdf0e10cSrcweir bIgnoreSeqOpts = rOpt.bIgnoreSeqOpts;
89cdf0e10cSrcweir sCharacterStyle = rOpt.sCharacterStyle;
90cdf0e10cSrcweir bCopyAttributes = rOpt.bCopyAttributes;
91cdf0e10cSrcweir
92cdf0e10cSrcweir return *this;
93cdf0e10cSrcweir }
94cdf0e10cSrcweir
95cdf0e10cSrcweir /*--------------------------------------------------------------------
96cdf0e10cSrcweir Beschreibung:
97cdf0e10cSrcweir --------------------------------------------------------------------*/
98cdf0e10cSrcweir
operator ==(const InsCaptionOpt & rOpt) const99cdf0e10cSrcweir sal_Bool InsCaptionOpt::operator==( const InsCaptionOpt& rOpt ) const
100cdf0e10cSrcweir {
101cdf0e10cSrcweir return (eObjType == rOpt.eObjType &&
102cdf0e10cSrcweir aOleId == rOpt.aOleId); // Damit gleiche Ole-IDs nicht mehrfach eingefuegt
103cdf0e10cSrcweir // werden koennen, auf nichts weiteres vergleichen
104cdf0e10cSrcweir
105cdf0e10cSrcweir
106cdf0e10cSrcweir /* &&
107cdf0e10cSrcweir sCategory == rOpt.sCategory &&
108cdf0e10cSrcweir nNumType == rOpt.nNumType &&
109cdf0e10cSrcweir sCaption == rOpt.sCaption &&
110cdf0e10cSrcweir nPos == rOpt.nPos &&
111cdf0e10cSrcweir nLevel == rOpt.nLevel &&
112cdf0e10cSrcweir cSeparator == rOpt.cSeparator);*/
113cdf0e10cSrcweir }
114cdf0e10cSrcweir
115cdf0e10cSrcweir /*************************************************************************
116cdf0e10cSrcweir |*
117cdf0e10cSrcweir |* InsCaptionOpt::operator>>()
118cdf0e10cSrcweir |*
119cdf0e10cSrcweir |* Beschreibung Stream-Leseoperator
120cdf0e10cSrcweir |*
121cdf0e10cSrcweir *************************************************************************/
122cdf0e10cSrcweir
123cdf0e10cSrcweir /*SvStream& operator>>( SvStream& rIStream, InsCaptionOpt& rCapOpt )
124cdf0e10cSrcweir {
125cdf0e10cSrcweir rtl_TextEncoding eEncoding = gsl_getSystemTextEncoding();
126cdf0e10cSrcweir sal_uInt16 nVal;
127cdf0e10cSrcweir sal_uInt8 cVal;
128cdf0e10cSrcweir sal_uInt8 nVersion;
129cdf0e10cSrcweir
130cdf0e10cSrcweir rIStream >> nVersion;
131cdf0e10cSrcweir rIStream >> cVal; rCapOpt.UseCaption() = cVal != 0;
132cdf0e10cSrcweir rIStream >> nVal; rCapOpt.eObjType = (SwCapObjType)nVal;
133cdf0e10cSrcweir rIStream >> rCapOpt.aOleId;
134cdf0e10cSrcweir
135cdf0e10cSrcweir rIStream.ReadByteString( rCapOpt.sCategory, eEncoding );
136cdf0e10cSrcweir rIStream >> nVal; rCapOpt.nNumType = nVal;
137cdf0e10cSrcweir rIStream.ReadByteString( rCapOpt.sCaption, eEncoding );
138cdf0e10cSrcweir rIStream >> nVal; rCapOpt.nPos = nVal;
139cdf0e10cSrcweir rIStream >> nVal; rCapOpt.nLevel = nVal;
140cdf0e10cSrcweir
141cdf0e10cSrcweir rIStream >> cVal;
142cdf0e10cSrcweir rCapOpt.sSeparator = UniString(
143cdf0e10cSrcweir ByteString(static_cast< char >(cVal)) , eEncoding).GetChar(0);
144cdf0e10cSrcweir
145cdf0e10cSrcweir return rIStream;
146cdf0e10cSrcweir }
147cdf0e10cSrcweir */
148cdf0e10cSrcweir /*************************************************************************
149cdf0e10cSrcweir |*
150cdf0e10cSrcweir |* InsCaptionOpt::operator<<()
151cdf0e10cSrcweir |*
152cdf0e10cSrcweir |* Beschreibung Stream-Schreiboperator
153cdf0e10cSrcweir |*
154cdf0e10cSrcweir *************************************************************************/
155cdf0e10cSrcweir
156cdf0e10cSrcweir /*SvStream& operator<<( SvStream& rOStream, const InsCaptionOpt& rCapOpt )
157cdf0e10cSrcweir {
158cdf0e10cSrcweir rtl_TextEncoding eEncoding = gsl_getSystemTextEncoding();
159cdf0e10cSrcweir rOStream << (sal_uInt8)CAPTION_VERSION
160cdf0e10cSrcweir << (sal_uInt8)rCapOpt.UseCaption()
161cdf0e10cSrcweir << (sal_uInt16)rCapOpt.eObjType
162cdf0e10cSrcweir << rCapOpt.aOleId;
163cdf0e10cSrcweir
164cdf0e10cSrcweir rOStream.WriteByteString( rCapOpt.sCategory, eEncoding );
165cdf0e10cSrcweir
166cdf0e10cSrcweir rOStream << (sal_uInt16)rCapOpt.nNumType;
167cdf0e10cSrcweir
168cdf0e10cSrcweir rOStream.WriteByteString( rCapOpt.sCaption, eEncoding );
169cdf0e10cSrcweir
170cdf0e10cSrcweir sal_uInt8 cSep = ByteString(rCapOpt.sSeparator, eEncoding).GetChar(0);
171cdf0e10cSrcweir rOStream << (sal_uInt16)rCapOpt.nPos
172cdf0e10cSrcweir << (sal_uInt16)rCapOpt.nLevel
173cdf0e10cSrcweir << cSep;
174cdf0e10cSrcweir
175cdf0e10cSrcweir return rOStream;
176cdf0e10cSrcweir }
177cdf0e10cSrcweir */
178cdf0e10cSrcweir
179