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 24cdf0e10cSrcweir #ifndef _CELLATR_HXX 25cdf0e10cSrcweir #define _CELLATR_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <svl/intitem.hxx> 28cdf0e10cSrcweir #include <svl/zforlist.hxx> 29cdf0e10cSrcweir #include "swdllapi.h" 30cdf0e10cSrcweir #include "format.hxx" 31cdf0e10cSrcweir #include "cellfml.hxx" 32cdf0e10cSrcweir 33cdf0e10cSrcweir class SW_DLLPUBLIC SwTblBoxNumFormat : public SfxUInt32Item 34cdf0e10cSrcweir { 35cdf0e10cSrcweir sal_Bool bAuto; // automatisch vergebenes Flag 36cdf0e10cSrcweir public: 37cdf0e10cSrcweir SwTblBoxNumFormat( sal_uInt32 nFormat = NUMBERFORMAT_TEXT, 38cdf0e10cSrcweir sal_Bool bAuto = sal_False ); 39cdf0e10cSrcweir 40cdf0e10cSrcweir // "pure virtual Methoden" vom SfxPoolItem 41cdf0e10cSrcweir virtual int operator==( const SfxPoolItem& ) const; 42cdf0e10cSrcweir virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; 43cdf0e10cSrcweir 44cdf0e10cSrcweir inline SwTblBoxNumFormat& operator=( const SwTblBoxNumFormat& rAttr ) 45cdf0e10cSrcweir { 46cdf0e10cSrcweir SetValue( rAttr.GetValue() ); 47cdf0e10cSrcweir SetAutoFlag( rAttr.GetAutoFlag() ); 48cdf0e10cSrcweir return *this; 49cdf0e10cSrcweir } 50cdf0e10cSrcweir 51cdf0e10cSrcweir sal_Bool GetAutoFlag() const { return bAuto; } 52cdf0e10cSrcweir void SetAutoFlag( sal_Bool bFlag = sal_True ) { bAuto = bFlag; } 53cdf0e10cSrcweir }; 54cdf0e10cSrcweir 55cdf0e10cSrcweir class SwTblBoxFormula : public SfxPoolItem, public SwTableFormula 56cdf0e10cSrcweir { 57cdf0e10cSrcweir SwModify* pDefinedIn; // Modify-Object, in dem die Formel steht 58cdf0e10cSrcweir // kann nur TablenBoxFormat sein 59cdf0e10cSrcweir 60cdf0e10cSrcweir public: 61cdf0e10cSrcweir SwTblBoxFormula( const String& rFormula ); 62cdf0e10cSrcweir 63cdf0e10cSrcweir // "pure virtual Methoden" vom SfxPoolItem 64cdf0e10cSrcweir virtual int operator==( const SfxPoolItem& ) const; 65cdf0e10cSrcweir virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; 66cdf0e10cSrcweir 67cdf0e10cSrcweir // erfrage und setze den Modify-Pointer 68cdf0e10cSrcweir inline const SwModify* GetDefinedIn() const { return pDefinedIn; } 69cdf0e10cSrcweir inline void ChgDefinedIn( const SwModify* pNew ) 70cdf0e10cSrcweir { pDefinedIn = (SwModify*)pNew; } 71cdf0e10cSrcweir // suche den Node, in dem die Formel steht: 72cdf0e10cSrcweir // BoxAttribut -> BoxStartNode 73cdf0e10cSrcweir virtual const SwNode* GetNodeOfFormula() const; 74cdf0e10cSrcweir 75cdf0e10cSrcweir SwTableBox* GetTableBox(); 76cdf0e10cSrcweir const SwTableBox* GetTableBox() const 77cdf0e10cSrcweir { return ((SwTblBoxFormula*)this)->GetTableBox(); } 78cdf0e10cSrcweir 79cdf0e10cSrcweir // Status aendern 80cdf0e10cSrcweir void ChangeState( const SfxPoolItem* pItem ); 81cdf0e10cSrcweir // berechne die Formel 82cdf0e10cSrcweir void Calc( SwTblCalcPara& rCalcPara, double& rValue ); 83cdf0e10cSrcweir }; 84cdf0e10cSrcweir 85cdf0e10cSrcweir class SW_DLLPUBLIC SwTblBoxValue : public SfxPoolItem 86cdf0e10cSrcweir { 87cdf0e10cSrcweir double nValue; 88cdf0e10cSrcweir public: 89cdf0e10cSrcweir SwTblBoxValue(); 90cdf0e10cSrcweir SwTblBoxValue( const double aVal ); 91cdf0e10cSrcweir 92cdf0e10cSrcweir // "pure virtual Methoden" vom SfxPoolItem 93cdf0e10cSrcweir virtual int operator==( const SfxPoolItem& ) const; 94cdf0e10cSrcweir virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; 95cdf0e10cSrcweir 96cdf0e10cSrcweir inline SwTblBoxValue& operator=( const SwTblBoxValue& rCmp ) 97cdf0e10cSrcweir { 98cdf0e10cSrcweir nValue = rCmp.nValue; 99cdf0e10cSrcweir return *this; 100cdf0e10cSrcweir } 101cdf0e10cSrcweir 102cdf0e10cSrcweir double GetValue() const { return nValue; } 103cdf0e10cSrcweir }; 104cdf0e10cSrcweir 105cdf0e10cSrcweir 106cdf0e10cSrcweir 107cdf0e10cSrcweir //*************************************************************************** 108cdf0e10cSrcweir 109cdf0e10cSrcweir inline const SwTblBoxNumFormat &SwAttrSet::GetTblBoxNumFmt(sal_Bool bInP) const 110cdf0e10cSrcweir { return (const SwTblBoxNumFormat&)Get( RES_BOXATR_FORMAT,bInP); } 111cdf0e10cSrcweir inline const SwTblBoxFormula &SwAttrSet::GetTblBoxFormula(sal_Bool bInP) const 112cdf0e10cSrcweir { return (const SwTblBoxFormula&)Get( RES_BOXATR_FORMULA,bInP); } 113cdf0e10cSrcweir inline const SwTblBoxValue &SwAttrSet::GetTblBoxValue(sal_Bool bInP) const 114cdf0e10cSrcweir { return (const SwTblBoxValue&)Get( RES_BOXATR_VALUE, bInP); } 115cdf0e10cSrcweir 116cdf0e10cSrcweir //*************************************************************************** 117cdf0e10cSrcweir 118cdf0e10cSrcweir inline const SwTblBoxNumFormat &SwFmt::GetTblBoxNumFmt(sal_Bool bInP) const 119cdf0e10cSrcweir { return aSet.GetTblBoxNumFmt(bInP); } 120cdf0e10cSrcweir inline const SwTblBoxFormula &SwFmt::GetTblBoxFormula(sal_Bool bInP) const 121cdf0e10cSrcweir { return aSet.GetTblBoxFormula(bInP); } 122cdf0e10cSrcweir inline const SwTblBoxValue &SwFmt::GetTblBoxValue(sal_Bool bInP) const 123cdf0e10cSrcweir { return aSet.GetTblBoxValue(bInP); } 124cdf0e10cSrcweir 125cdf0e10cSrcweir #endif 126