xref: /AOO41X/main/sw/source/core/text/porftn.hxx (revision 1d2dbeb0b7301723c6d13094e87a8714ef81a328)
1*1d2dbeb0SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*1d2dbeb0SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*1d2dbeb0SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*1d2dbeb0SAndrew Rist  * distributed with this work for additional information
6*1d2dbeb0SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*1d2dbeb0SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*1d2dbeb0SAndrew Rist  * "License"); you may not use this file except in compliance
9*1d2dbeb0SAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*1d2dbeb0SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*1d2dbeb0SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*1d2dbeb0SAndrew Rist  * software distributed under the License is distributed on an
15*1d2dbeb0SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*1d2dbeb0SAndrew Rist  * KIND, either express or implied.  See the License for the
17*1d2dbeb0SAndrew Rist  * specific language governing permissions and limitations
18*1d2dbeb0SAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*1d2dbeb0SAndrew Rist  *************************************************************/
21*1d2dbeb0SAndrew Rist 
22*1d2dbeb0SAndrew Rist 
23cdf0e10cSrcweir #ifndef _PORFTN_HXX
24cdf0e10cSrcweir #define _PORFTN_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include "porfld.hxx"
27cdf0e10cSrcweir 
28cdf0e10cSrcweir class SwTxtFrm;
29cdf0e10cSrcweir class SwTxtFtn;
30cdf0e10cSrcweir 
31cdf0e10cSrcweir /*************************************************************************
32cdf0e10cSrcweir  *						class SwFtnPortion
33cdf0e10cSrcweir  *************************************************************************/
34cdf0e10cSrcweir 
35cdf0e10cSrcweir class SwFtnPortion : public SwFldPortion
36cdf0e10cSrcweir {
37cdf0e10cSrcweir     SwTxtFrm *pFrm; 		// um im Dtor RemoveFtn rufen zu koennen.
38cdf0e10cSrcweir     SwTxtFtn *pFtn;
39cdf0e10cSrcweir     KSHORT nOrigHeight;
40cdf0e10cSrcweir     // --> OD 2009-01-29 #i98418#
41cdf0e10cSrcweir     bool mbPreferredScriptTypeSet;
42cdf0e10cSrcweir     sal_uInt8 mnPreferredScriptType;
43cdf0e10cSrcweir     // <--
44cdf0e10cSrcweir public:
45cdf0e10cSrcweir     SwFtnPortion( const XubString &rExpand, SwTxtFrm *pFrm, SwTxtFtn *pFtn,
46cdf0e10cSrcweir                   KSHORT nOrig = KSHRT_MAX );
Orig()47cdf0e10cSrcweir 	inline KSHORT& Orig() {	return nOrigHeight; }
48cdf0e10cSrcweir 
49cdf0e10cSrcweir 	virtual void Paint( const SwTxtPaintInfo &rInf ) const;
50cdf0e10cSrcweir 	virtual sal_Bool GetExpTxt( const SwTxtSizeInfo &rInf, XubString &rTxt ) const;
51cdf0e10cSrcweir 	virtual SwPosSize GetTxtSize( const SwTxtSizeInfo &rInfo ) const;
52cdf0e10cSrcweir 	virtual sal_Bool Format( SwTxtFormatInfo &rInf );
53cdf0e10cSrcweir 
54cdf0e10cSrcweir     // --> OD 2009-01-29 #i98418#
55cdf0e10cSrcweir     void SetPreferredScriptType( sal_uInt8 nPreferredScriptType );
56cdf0e10cSrcweir     // <--
57cdf0e10cSrcweir 
GetTxtFtn() const58cdf0e10cSrcweir     const SwTxtFtn* GetTxtFtn() const { return pFtn; };
59cdf0e10cSrcweir 	OUTPUT_OPERATOR
60cdf0e10cSrcweir };
61cdf0e10cSrcweir 
62cdf0e10cSrcweir /*************************************************************************
63cdf0e10cSrcweir  *						class SwFtnNumPortion
64cdf0e10cSrcweir  *************************************************************************/
65cdf0e10cSrcweir 
66cdf0e10cSrcweir class SwFtnNumPortion : public SwNumberPortion
67cdf0e10cSrcweir {
68cdf0e10cSrcweir public:
SwFtnNumPortion(const XubString & rExpand,SwFont * pFntL)69cdf0e10cSrcweir     inline SwFtnNumPortion( const XubString &rExpand, SwFont *pFntL )
70cdf0e10cSrcweir          // --> OD 2008-01-23 #newlistlevelattrs#
71cdf0e10cSrcweir          : SwNumberPortion( rExpand, pFntL, sal_True, sal_False, 0, false )
72cdf0e10cSrcweir          // <--
73cdf0e10cSrcweir 		 { SetWhichPor( POR_FTNNUM ); }
74cdf0e10cSrcweir 
75cdf0e10cSrcweir     OUTPUT_OPERATOR
76cdf0e10cSrcweir };
77cdf0e10cSrcweir 
78cdf0e10cSrcweir /*************************************************************************
79cdf0e10cSrcweir  *						class SwQuoVadisPortion
80cdf0e10cSrcweir  *************************************************************************/
81cdf0e10cSrcweir 
82cdf0e10cSrcweir class SwQuoVadisPortion : public SwFldPortion
83cdf0e10cSrcweir {
84cdf0e10cSrcweir 	XubString	aErgo;
85cdf0e10cSrcweir public:
86cdf0e10cSrcweir 			SwQuoVadisPortion( const XubString &rExp, const XubString& rStr );
87cdf0e10cSrcweir 	virtual sal_Bool Format( SwTxtFormatInfo &rInf );
88cdf0e10cSrcweir 	virtual void Paint( const SwTxtPaintInfo &rInf ) const;
89cdf0e10cSrcweir 	virtual sal_Bool GetExpTxt( const SwTxtSizeInfo &rInf, XubString &rTxt ) const;
90cdf0e10cSrcweir 
SetNumber(const XubString & rStr)91cdf0e10cSrcweir 	inline void SetNumber( const XubString& rStr ) { aErgo = rStr; }
GetQuoTxt() const92cdf0e10cSrcweir 	inline const XubString &GetQuoTxt() const { return aExpand; }
GetContTxt() const93cdf0e10cSrcweir 	inline const XubString &GetContTxt() const { return aErgo; }
94cdf0e10cSrcweir 
95cdf0e10cSrcweir 	// Felder-Cloner fuer SplitGlue
96cdf0e10cSrcweir 	virtual SwFldPortion *Clone( const XubString &rExpand ) const;
97cdf0e10cSrcweir 
98cdf0e10cSrcweir     // Accessibility: pass information about this portion to the PortionHandler
99cdf0e10cSrcweir     virtual void HandlePortion( SwPortionHandler& rPH ) const;
100cdf0e10cSrcweir 
101cdf0e10cSrcweir 	OUTPUT_OPERATOR
102cdf0e10cSrcweir };
103cdf0e10cSrcweir 
104cdf0e10cSrcweir /*************************************************************************
105cdf0e10cSrcweir  *						class SwErgoSumPortion
106cdf0e10cSrcweir  *************************************************************************/
107cdf0e10cSrcweir 
108cdf0e10cSrcweir class SwErgoSumPortion : public SwFldPortion
109cdf0e10cSrcweir {
110cdf0e10cSrcweir public:
111cdf0e10cSrcweir 			SwErgoSumPortion( const XubString &rExp, const XubString& rStr );
112cdf0e10cSrcweir 	virtual xub_StrLen GetCrsrOfst( const KSHORT nOfst ) const;
113cdf0e10cSrcweir 	virtual sal_Bool Format( SwTxtFormatInfo &rInf );
114cdf0e10cSrcweir 
115cdf0e10cSrcweir 	// Felder-Cloner fuer SplitGlue
116cdf0e10cSrcweir 	virtual SwFldPortion *Clone( const XubString &rExpand ) const;
117cdf0e10cSrcweir 	OUTPUT_OPERATOR
118cdf0e10cSrcweir };
119cdf0e10cSrcweir 
120cdf0e10cSrcweir CLASSIO( SwFtnPortion )
121cdf0e10cSrcweir CLASSIO( SwFtnNumPortion )
122cdf0e10cSrcweir CLASSIO( SwQuoVadisPortion )
123cdf0e10cSrcweir CLASSIO( SwErgoSumPortion )
124cdf0e10cSrcweir 
125cdf0e10cSrcweir 
126cdf0e10cSrcweir #endif
127