xref: /aoo42x/main/sw/inc/unotbl.hxx (revision cdf0e10c)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir #ifndef _UNOTBL_HXX
28*cdf0e10cSrcweir #define _UNOTBL_HXX
29*cdf0e10cSrcweir 
30*cdf0e10cSrcweir #include <com/sun/star/container/XNamed.hpp>
31*cdf0e10cSrcweir #include <com/sun/star/container/XEnumerationAccess.hpp>
32*cdf0e10cSrcweir #include <com/sun/star/util/XSortable.hpp>
33*cdf0e10cSrcweir #include <com/sun/star/chart/XChartData.hpp>
34*cdf0e10cSrcweir #include <com/sun/star/chart/XChartDataArray.hpp>
35*cdf0e10cSrcweir #include <com/sun/star/chart2/data/XLabeledDataSequence.hpp>
36*cdf0e10cSrcweir #include <com/sun/star/text/XTextTableCursor.hpp>
37*cdf0e10cSrcweir #include <com/sun/star/text/XTextTable.hpp>
38*cdf0e10cSrcweir #include <com/sun/star/table/XCellRange.hpp>
39*cdf0e10cSrcweir #include <com/sun/star/sheet/XCellRangeData.hpp>
40*cdf0e10cSrcweir #include <com/sun/star/table/XAutoFormattable.hpp>
41*cdf0e10cSrcweir 
42*cdf0e10cSrcweir #include <cppuhelper/implbase3.hxx>
43*cdf0e10cSrcweir #include <cppuhelper/implbase4.hxx>
44*cdf0e10cSrcweir #include <cppuhelper/implbase5.hxx>
45*cdf0e10cSrcweir #include <cppuhelper/implbase7.hxx>
46*cdf0e10cSrcweir #include <cppuhelper/implbase10.hxx>
47*cdf0e10cSrcweir 
48*cdf0e10cSrcweir #include <comphelper/uno3.hxx>
49*cdf0e10cSrcweir #include <tools/string.hxx>
50*cdf0e10cSrcweir 
51*cdf0e10cSrcweir #include <calbck.hxx>
52*cdf0e10cSrcweir #include <TextCursorHelper.hxx>
53*cdf0e10cSrcweir #include <unoevtlstnr.hxx>
54*cdf0e10cSrcweir #include <unotext.hxx>
55*cdf0e10cSrcweir 
56*cdf0e10cSrcweir 
57*cdf0e10cSrcweir class SwUnoCrsr;
58*cdf0e10cSrcweir class SwTable;
59*cdf0e10cSrcweir class SwTableBox;
60*cdf0e10cSrcweir class SwTableLine;
61*cdf0e10cSrcweir class SwTableCursor;
62*cdf0e10cSrcweir class SwTableBoxFmt;
63*cdf0e10cSrcweir class SwChartDataProvider;
64*cdf0e10cSrcweir class SwFrmFmt;
65*cdf0e10cSrcweir 
66*cdf0e10cSrcweir 
67*cdf0e10cSrcweir /* -----------------------------22.09.00 11:10--------------------------------
68*cdf0e10cSrcweir 
69*cdf0e10cSrcweir  ---------------------------------------------------------------------------*/
70*cdf0e10cSrcweir class SwChartEventListenerContainer : public SwEventListenerContainer
71*cdf0e10cSrcweir {
72*cdf0e10cSrcweir 	public:
73*cdf0e10cSrcweir         SwChartEventListenerContainer( ::com::sun::star::uno::XInterface* pxParentL) :
74*cdf0e10cSrcweir             SwEventListenerContainer(pxParentL){}
75*cdf0e10cSrcweir     	void ChartDataChanged();
76*cdf0e10cSrcweir };
77*cdf0e10cSrcweir /* ---------------------------------------------------------------------------
78*cdf0e10cSrcweir 
79*cdf0e10cSrcweir  ---------------------------------------------------------------------------*/
80*cdf0e10cSrcweir typedef
81*cdf0e10cSrcweir cppu::WeakImplHelper4
82*cdf0e10cSrcweir <
83*cdf0e10cSrcweir 	::com::sun::star::table::XCell,
84*cdf0e10cSrcweir 	::com::sun::star::lang::XServiceInfo,
85*cdf0e10cSrcweir 	::com::sun::star::beans::XPropertySet,
86*cdf0e10cSrcweir 	::com::sun::star::container::XEnumerationAccess
87*cdf0e10cSrcweir >
88*cdf0e10cSrcweir SwXCellBaseClass;
89*cdf0e10cSrcweir class SwXCell : public SwXCellBaseClass,
90*cdf0e10cSrcweir 	public SwXText,
91*cdf0e10cSrcweir 	public SwClient
92*cdf0e10cSrcweir {
93*cdf0e10cSrcweir     friend void   lcl_setString( SwXCell &rCell, const rtl::OUString &rTxt,
94*cdf0e10cSrcweir                                  sal_Bool bKeepNumberFmt = sal_False );
95*cdf0e10cSrcweir     friend double lcl_getValue( SwXCell &rCell );
96*cdf0e10cSrcweir     friend void   lcl_setValue( SwXCell &rCell, double nVal );
97*cdf0e10cSrcweir 
98*cdf0e10cSrcweir 
99*cdf0e10cSrcweir     const SfxItemPropertySet*   m_pPropSet;
100*cdf0e10cSrcweir     SwTableBox*                 pBox;       // only set in non-XML import
101*cdf0e10cSrcweir 	const SwStartNode* 		pStartNode; // only set in XML import
102*cdf0e10cSrcweir 
103*cdf0e10cSrcweir     // table position where pBox was found last
104*cdf0e10cSrcweir     sal_uInt16              nFndPos;
105*cdf0e10cSrcweir 
106*cdf0e10cSrcweir protected:
107*cdf0e10cSrcweir 	virtual const SwStartNode *GetStartNode() const;
108*cdf0e10cSrcweir 
109*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference<
110*cdf0e10cSrcweir                 ::com::sun::star::text::XTextCursor >
111*cdf0e10cSrcweir         CreateCursor()
112*cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
113*cdf0e10cSrcweir 
114*cdf0e10cSrcweir     bool IsValid() const;
115*cdf0e10cSrcweir 
116*cdf0e10cSrcweir 	virtual ~SwXCell();
117*cdf0e10cSrcweir 
118*cdf0e10cSrcweir 	//SwClient
119*cdf0e10cSrcweir    virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew);
120*cdf0e10cSrcweir 
121*cdf0e10cSrcweir public:
122*cdf0e10cSrcweir     SwXCell(SwFrmFmt* pTblFmt, SwTableBox* pBox, sal_uInt16 nPos=USHRT_MAX );
123*cdf0e10cSrcweir 	SwXCell(SwFrmFmt* pTblFmt, const SwStartNode& rStartNode); // XML import interface
124*cdf0e10cSrcweir 
125*cdf0e10cSrcweir 
126*cdf0e10cSrcweir 	TYPEINFO();
127*cdf0e10cSrcweir 
128*cdf0e10cSrcweir     static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId();
129*cdf0e10cSrcweir 
130*cdf0e10cSrcweir 	//XUnoTunnel
131*cdf0e10cSrcweir 	virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
132*cdf0e10cSrcweir 
133*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw(::com::sun::star::uno::RuntimeException);
134*cdf0e10cSrcweir     virtual void SAL_CALL acquire(  ) throw();
135*cdf0e10cSrcweir     virtual void SAL_CALL release(  ) throw();
136*cdf0e10cSrcweir 
137*cdf0e10cSrcweir 	//XTypeProvider
138*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes(  ) throw(::com::sun::star::uno::RuntimeException);
139*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId(  ) throw(::com::sun::star::uno::RuntimeException);
140*cdf0e10cSrcweir 
141*cdf0e10cSrcweir 	//XCell
142*cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getFormula(  ) throw(::com::sun::star::uno::RuntimeException);
143*cdf0e10cSrcweir     virtual void SAL_CALL setFormula( const ::rtl::OUString& aFormula ) throw(::com::sun::star::uno::RuntimeException);
144*cdf0e10cSrcweir     virtual double SAL_CALL getValue(  ) throw(::com::sun::star::uno::RuntimeException);
145*cdf0e10cSrcweir     virtual void SAL_CALL setValue( double nValue ) throw(::com::sun::star::uno::RuntimeException);
146*cdf0e10cSrcweir     virtual ::com::sun::star::table::CellContentType SAL_CALL getType(  ) throw(::com::sun::star::uno::RuntimeException);
147*cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getError(  ) throw(::com::sun::star::uno::RuntimeException);
148*cdf0e10cSrcweir 
149*cdf0e10cSrcweir 	//XText
150*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor >  SAL_CALL createTextCursor(void) throw( ::com::sun::star::uno::RuntimeException );
151*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor >  SAL_CALL createTextCursorByRange(const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > & aTextPosition) throw( ::com::sun::star::uno::RuntimeException );
152*cdf0e10cSrcweir 	virtual void SAL_CALL  setString(const rtl::OUString& aString) throw( ::com::sun::star::uno::RuntimeException );
153*cdf0e10cSrcweir 
154*cdf0e10cSrcweir 	//XPropertySet
155*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException);
156*cdf0e10cSrcweir     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
157*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
158*cdf0e10cSrcweir     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
159*cdf0e10cSrcweir     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
160*cdf0e10cSrcweir     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
161*cdf0e10cSrcweir     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
162*cdf0e10cSrcweir 
163*cdf0e10cSrcweir 	//XServiceInfo
164*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
165*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
166*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
167*cdf0e10cSrcweir 
168*cdf0e10cSrcweir 	//XEnumerationAccess - frueher XParagraphEnumerationAccess
169*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration >  SAL_CALL createEnumeration(void) throw( ::com::sun::star::uno::RuntimeException );
170*cdf0e10cSrcweir 
171*cdf0e10cSrcweir 	//XElementAccess
172*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException);
173*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException);
174*cdf0e10cSrcweir 
175*cdf0e10cSrcweir     SwTableBox*   GetTblBox()const {return pBox;}
176*cdf0e10cSrcweir 	static SwXCell*		CreateXCell(SwFrmFmt* pTblFmt, SwTableBox* pBox, SwTable *pTbl = 0 );
177*cdf0e10cSrcweir 	SwTableBox* 	FindBox(SwTable* pTable, SwTableBox* pBox);
178*cdf0e10cSrcweir 
179*cdf0e10cSrcweir     SwFrmFmt* GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
180*cdf0e10cSrcweir };
181*cdf0e10cSrcweir /* -----------------27.06.98 15:40-------------------
182*cdf0e10cSrcweir  *
183*cdf0e10cSrcweir  * --------------------------------------------------*/
184*cdf0e10cSrcweir class SwXTextTableRow : public cppu::WeakImplHelper2
185*cdf0e10cSrcweir <
186*cdf0e10cSrcweir 	::com::sun::star::beans::XPropertySet,
187*cdf0e10cSrcweir     ::com::sun::star::lang::XServiceInfo
188*cdf0e10cSrcweir >,
189*cdf0e10cSrcweir 	public SwClient
190*cdf0e10cSrcweir {
191*cdf0e10cSrcweir     const SfxItemPropertySet*   m_pPropSet;
192*cdf0e10cSrcweir 	SwTableLine* 			pLine;
193*cdf0e10cSrcweir 
194*cdf0e10cSrcweir 	SwFrmFmt* GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
195*cdf0e10cSrcweir protected:
196*cdf0e10cSrcweir 	virtual ~SwXTextTableRow();
197*cdf0e10cSrcweir 	//SwClient
198*cdf0e10cSrcweir    virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew);
199*cdf0e10cSrcweir 
200*cdf0e10cSrcweir public:
201*cdf0e10cSrcweir 	SwXTextTableRow(SwFrmFmt* pFmt, SwTableLine* pLine);
202*cdf0e10cSrcweir 
203*cdf0e10cSrcweir 
204*cdf0e10cSrcweir 	TYPEINFO();
205*cdf0e10cSrcweir 
206*cdf0e10cSrcweir 	//XPropertySet
207*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException);
208*cdf0e10cSrcweir     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
209*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
210*cdf0e10cSrcweir     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
211*cdf0e10cSrcweir     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
212*cdf0e10cSrcweir     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
213*cdf0e10cSrcweir     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
214*cdf0e10cSrcweir 
215*cdf0e10cSrcweir 	//XServiceInfo
216*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
217*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
218*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
219*cdf0e10cSrcweir 
220*cdf0e10cSrcweir 	const SwTableLine* 	GetTblRow() const {return pLine;}
221*cdf0e10cSrcweir 	static SwTableLine* FindLine(SwTable* pTable, SwTableLine* pLine);
222*cdf0e10cSrcweir };
223*cdf0e10cSrcweir /* -----------------20.07.98 13:03-------------------
224*cdf0e10cSrcweir  *
225*cdf0e10cSrcweir  * --------------------------------------------------*/
226*cdf0e10cSrcweir typedef cppu::WeakImplHelper3<
227*cdf0e10cSrcweir 								::com::sun::star::text::XTextTableCursor,
228*cdf0e10cSrcweir 								::com::sun::star::lang::XServiceInfo,
229*cdf0e10cSrcweir 								::com::sun::star::beans::XPropertySet
230*cdf0e10cSrcweir 							> SwXTextTableCursor_Base;
231*cdf0e10cSrcweir class SW_DLLPUBLIC SwXTextTableCursor : public SwXTextTableCursor_Base
232*cdf0e10cSrcweir 	,public SwClient
233*cdf0e10cSrcweir 	,public OTextCursorHelper
234*cdf0e10cSrcweir {
235*cdf0e10cSrcweir 	SwDepend 				aCrsrDepend;
236*cdf0e10cSrcweir     const SfxItemPropertySet*   m_pPropSet;
237*cdf0e10cSrcweir 
238*cdf0e10cSrcweir 	//	SwUnoCrsr* 		GetCrsr() const { return (SwUnoCrsr*)aCrsrDepend.GetRegisteredIn(); }
239*cdf0e10cSrcweir 
240*cdf0e10cSrcweir protected:
241*cdf0e10cSrcweir 	virtual ~SwXTextTableCursor();
242*cdf0e10cSrcweir public:
243*cdf0e10cSrcweir 	SwXTextTableCursor(SwFrmFmt* pFmt, SwTableBox* pBox);
244*cdf0e10cSrcweir 	SwXTextTableCursor(SwFrmFmt& rTableFmt,
245*cdf0e10cSrcweir 						const SwTableCursor* pTableSelection);
246*cdf0e10cSrcweir 
247*cdf0e10cSrcweir 
248*cdf0e10cSrcweir 	DECLARE_XINTERFACE()
249*cdf0e10cSrcweir 
250*cdf0e10cSrcweir 	//XTextTableCursor
251*cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getRangeName(  ) throw(::com::sun::star::uno::RuntimeException);
252*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL gotoCellByName( const ::rtl::OUString& aCellName, sal_Bool bExpand ) throw(::com::sun::star::uno::RuntimeException);
253*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL goLeft( sal_Int16 nCount, sal_Bool bExpand ) throw(::com::sun::star::uno::RuntimeException);
254*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL goRight( sal_Int16 nCount, sal_Bool bExpand ) throw(::com::sun::star::uno::RuntimeException);
255*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL goUp( sal_Int16 nCount, sal_Bool bExpand ) throw(::com::sun::star::uno::RuntimeException);
256*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL goDown( sal_Int16 nCount, sal_Bool bExpand ) throw(::com::sun::star::uno::RuntimeException);
257*cdf0e10cSrcweir     virtual void SAL_CALL gotoStart( sal_Bool bExpand ) throw(::com::sun::star::uno::RuntimeException);
258*cdf0e10cSrcweir     virtual void SAL_CALL gotoEnd( sal_Bool bExpand ) throw(::com::sun::star::uno::RuntimeException);
259*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL mergeRange(  ) throw(::com::sun::star::uno::RuntimeException);
260*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL splitRange( sal_Int16 Count, sal_Bool Horizontal ) throw(::com::sun::star::uno::RuntimeException);
261*cdf0e10cSrcweir 
262*cdf0e10cSrcweir 	//XPropertySet
263*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException);
264*cdf0e10cSrcweir     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
265*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
266*cdf0e10cSrcweir     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
267*cdf0e10cSrcweir     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
268*cdf0e10cSrcweir     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
269*cdf0e10cSrcweir     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
270*cdf0e10cSrcweir 
271*cdf0e10cSrcweir 	//XServiceInfo
272*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
273*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
274*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
275*cdf0e10cSrcweir 
276*cdf0e10cSrcweir 	//SwClient
277*cdf0e10cSrcweir    virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew);
278*cdf0e10cSrcweir 
279*cdf0e10cSrcweir 	// ITextCursorHelper
280*cdf0e10cSrcweir 	virtual const SwPaM*		GetPaM() const;
281*cdf0e10cSrcweir 	virtual	SwPaM*				GetPaM();
282*cdf0e10cSrcweir 	virtual const SwDoc* 		GetDoc() const;
283*cdf0e10cSrcweir 	virtual SwDoc* 				GetDoc();
284*cdf0e10cSrcweir 
285*cdf0e10cSrcweir 	const SwUnoCrsr*			GetCrsr() const;
286*cdf0e10cSrcweir 	SwUnoCrsr*					GetCrsr();
287*cdf0e10cSrcweir 	SwFrmFmt* 		GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
288*cdf0e10cSrcweir };
289*cdf0e10cSrcweir 
290*cdf0e10cSrcweir /*-----------------11.12.97 09:38-------------------
291*cdf0e10cSrcweir 
292*cdf0e10cSrcweir --------------------------------------------------*/
293*cdf0e10cSrcweir struct SwRangeDescriptor
294*cdf0e10cSrcweir {
295*cdf0e10cSrcweir     sal_Int32 nTop;
296*cdf0e10cSrcweir     sal_Int32 nLeft;
297*cdf0e10cSrcweir     sal_Int32 nBottom;
298*cdf0e10cSrcweir     sal_Int32 nRight;
299*cdf0e10cSrcweir 
300*cdf0e10cSrcweir     void Normalize();
301*cdf0e10cSrcweir };
302*cdf0e10cSrcweir 
303*cdf0e10cSrcweir class SwTableProperties_Impl;
304*cdf0e10cSrcweir class SwXTextTable : public cppu::WeakImplHelper10
305*cdf0e10cSrcweir <
306*cdf0e10cSrcweir 	::com::sun::star::text::XTextTable,
307*cdf0e10cSrcweir 	::com::sun::star::lang::XServiceInfo,
308*cdf0e10cSrcweir 	::com::sun::star::table::XCellRange,
309*cdf0e10cSrcweir 	::com::sun::star::chart::XChartDataArray,
310*cdf0e10cSrcweir 	::com::sun::star::beans::XPropertySet,
311*cdf0e10cSrcweir 	::com::sun::star::container::XNamed,
312*cdf0e10cSrcweir 	::com::sun::star::table::XAutoFormattable,
313*cdf0e10cSrcweir 	::com::sun::star::util::XSortable,
314*cdf0e10cSrcweir     ::com::sun::star::lang::XUnoTunnel,
315*cdf0e10cSrcweir     ::com::sun::star::sheet::XCellRangeData
316*cdf0e10cSrcweir >,
317*cdf0e10cSrcweir 	public SwClient
318*cdf0e10cSrcweir {
319*cdf0e10cSrcweir 	SwEventListenerContainer		aLstnrCntnr;
320*cdf0e10cSrcweir 	SwChartEventListenerContainer	aChartLstnrCntnr;
321*cdf0e10cSrcweir     const SfxItemPropertySet*       m_pPropSet;
322*cdf0e10cSrcweir 
323*cdf0e10cSrcweir 	// Descriptor-interface
324*cdf0e10cSrcweir 	SwTableProperties_Impl*		pTableProps;
325*cdf0e10cSrcweir 	String 						m_sTableName;
326*cdf0e10cSrcweir 	sal_Bool 						bIsDescriptor;
327*cdf0e10cSrcweir 	unsigned short 				nRows;
328*cdf0e10cSrcweir 	unsigned short 				nColumns;
329*cdf0e10cSrcweir 
330*cdf0e10cSrcweir 
331*cdf0e10cSrcweir 	sal_Bool						bFirstRowAsLabel 	:1;
332*cdf0e10cSrcweir 	sal_Bool						bFirstColumnAsLabel	:1;
333*cdf0e10cSrcweir protected:
334*cdf0e10cSrcweir 	virtual ~SwXTextTable();
335*cdf0e10cSrcweir public:
336*cdf0e10cSrcweir 	SwXTextTable();
337*cdf0e10cSrcweir 	SwXTextTable(SwFrmFmt& rFrmFmt);
338*cdf0e10cSrcweir 
339*cdf0e10cSrcweir 
340*cdf0e10cSrcweir 	static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId();
341*cdf0e10cSrcweir 
342*cdf0e10cSrcweir 	//XUnoTunnel
343*cdf0e10cSrcweir 	virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
344*cdf0e10cSrcweir 
345*cdf0e10cSrcweir 	TYPEINFO();
346*cdf0e10cSrcweir 
347*cdf0e10cSrcweir 	//XTextTable
348*cdf0e10cSrcweir     virtual void SAL_CALL initialize( sal_Int32 nRows, sal_Int32 nColumns ) throw(::com::sun::star::uno::RuntimeException);
349*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableRows > SAL_CALL getRows(  ) throw(::com::sun::star::uno::RuntimeException);
350*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableColumns > SAL_CALL getColumns(  ) throw(::com::sun::star::uno::RuntimeException);
351*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > SAL_CALL getCellByName( const ::rtl::OUString& aCellName ) throw(::com::sun::star::uno::RuntimeException);
352*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getCellNames(  ) throw(::com::sun::star::uno::RuntimeException);
353*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextTableCursor > SAL_CALL createCursorByCellName( const ::rtl::OUString& aCellName ) throw(::com::sun::star::uno::RuntimeException);
354*cdf0e10cSrcweir 
355*cdf0e10cSrcweir 	//XTextContent
356*cdf0e10cSrcweir 	virtual void SAL_CALL attach(const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > & xTextRange) throw( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException );
357*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getAnchor(  ) throw(::com::sun::star::uno::RuntimeException);
358*cdf0e10cSrcweir 
359*cdf0e10cSrcweir 	//XComponent
360*cdf0e10cSrcweir 	virtual void SAL_CALL dispose(void) throw( ::com::sun::star::uno::RuntimeException );
361*cdf0e10cSrcweir 	virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & aListener) throw( ::com::sun::star::uno::RuntimeException );
362*cdf0e10cSrcweir 	virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & aListener) throw( ::com::sun::star::uno::RuntimeException );
363*cdf0e10cSrcweir 
364*cdf0e10cSrcweir 	//XCellRange
365*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > SAL_CALL getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow ) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
366*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, sal_Int32 nRight, sal_Int32 nBottom ) throw(com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
367*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL getCellRangeByName( const ::rtl::OUString& aRange ) throw(::com::sun::star::uno::RuntimeException);
368*cdf0e10cSrcweir 
369*cdf0e10cSrcweir 	//XChartDataArray
370*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< double > > SAL_CALL getData(  ) throw(::com::sun::star::uno::RuntimeException);
371*cdf0e10cSrcweir     virtual void SAL_CALL setData( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< double > >& aData ) throw(::com::sun::star::uno::RuntimeException);
372*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getRowDescriptions(  ) throw(::com::sun::star::uno::RuntimeException);
373*cdf0e10cSrcweir     virtual void SAL_CALL setRowDescriptions( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRowDescriptions ) throw(::com::sun::star::uno::RuntimeException);
374*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getColumnDescriptions(  ) throw(::com::sun::star::uno::RuntimeException);
375*cdf0e10cSrcweir     virtual void SAL_CALL setColumnDescriptions( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aColumnDescriptions ) throw(::com::sun::star::uno::RuntimeException);
376*cdf0e10cSrcweir 
377*cdf0e10cSrcweir 	//XChartData
378*cdf0e10cSrcweir 	virtual void SAL_CALL addChartDataChangeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XChartDataChangeEventListener >& aListener ) throw(::com::sun::star::uno::RuntimeException);
379*cdf0e10cSrcweir     virtual void SAL_CALL removeChartDataChangeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XChartDataChangeEventListener >& aListener ) throw(::com::sun::star::uno::RuntimeException);
380*cdf0e10cSrcweir     virtual double SAL_CALL getNotANumber(  ) throw(::com::sun::star::uno::RuntimeException);
381*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL isNotANumber( double nNumber ) throw(::com::sun::star::uno::RuntimeException);
382*cdf0e10cSrcweir 
383*cdf0e10cSrcweir 	//XSortable
384*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL createSortDescriptor(void) throw( ::com::sun::star::uno::RuntimeException );
385*cdf0e10cSrcweir 	virtual void SAL_CALL sort(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& xDescriptor) throw( ::com::sun::star::uno::RuntimeException );
386*cdf0e10cSrcweir 
387*cdf0e10cSrcweir 	//XAutoFormattable
388*cdf0e10cSrcweir 	virtual void SAL_CALL autoFormat(const rtl::OUString& aName) throw( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException );
389*cdf0e10cSrcweir 
390*cdf0e10cSrcweir 	//XPropertySet
391*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException);
392*cdf0e10cSrcweir     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
393*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
394*cdf0e10cSrcweir     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
395*cdf0e10cSrcweir     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
396*cdf0e10cSrcweir     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
397*cdf0e10cSrcweir     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
398*cdf0e10cSrcweir 
399*cdf0e10cSrcweir 	//XNamed
400*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getName(void) throw( ::com::sun::star::uno::RuntimeException );
401*cdf0e10cSrcweir 	virtual void SAL_CALL setName(const rtl::OUString& Name_) throw( ::com::sun::star::uno::RuntimeException );
402*cdf0e10cSrcweir 
403*cdf0e10cSrcweir     //XCellRangeData
404*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > > SAL_CALL getDataArray(  ) throw (::com::sun::star::uno::RuntimeException);
405*cdf0e10cSrcweir     virtual void SAL_CALL setDataArray( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& aArray ) throw (::com::sun::star::uno::RuntimeException);
406*cdf0e10cSrcweir 
407*cdf0e10cSrcweir 	//XServiceInfo
408*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
409*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
410*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
411*cdf0e10cSrcweir 
412*cdf0e10cSrcweir     void attachToRange(const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > & xTextRange)throw( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException );
413*cdf0e10cSrcweir 
414*cdf0e10cSrcweir 	sal_uInt16 			getRowCount(void);
415*cdf0e10cSrcweir 	sal_uInt16 			getColumnCount(void);
416*cdf0e10cSrcweir 	::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >  	GetRangeByName(SwFrmFmt* pFmt, SwTable* pTable,
417*cdf0e10cSrcweir 						const String& sTLName, const String& sBRName,
418*cdf0e10cSrcweir 						SwRangeDescriptor& rDesc);
419*cdf0e10cSrcweir 
420*cdf0e10cSrcweir 	//SwClient
421*cdf0e10cSrcweir    virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew);
422*cdf0e10cSrcweir 
423*cdf0e10cSrcweir 	SwFrmFmt* GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
424*cdf0e10cSrcweir };
425*cdf0e10cSrcweir 
426*cdf0e10cSrcweir /* -----------------27.04.98 16:41-------------------
427*cdf0e10cSrcweir  *
428*cdf0e10cSrcweir  * --------------------------------------------------*/
429*cdf0e10cSrcweir class SwXCellRange : public cppu::WeakImplHelper7
430*cdf0e10cSrcweir <
431*cdf0e10cSrcweir 	::com::sun::star::table::XCellRange,
432*cdf0e10cSrcweir 	::com::sun::star::lang::XServiceInfo,
433*cdf0e10cSrcweir 	::com::sun::star::lang::XUnoTunnel,
434*cdf0e10cSrcweir 	::com::sun::star::beans::XPropertySet,
435*cdf0e10cSrcweir 	::com::sun::star::chart::XChartDataArray,
436*cdf0e10cSrcweir     ::com::sun::star::util::XSortable,
437*cdf0e10cSrcweir     ::com::sun::star::sheet::XCellRangeData
438*cdf0e10cSrcweir >,
439*cdf0e10cSrcweir 	public SwClient
440*cdf0e10cSrcweir {
441*cdf0e10cSrcweir 	SwDepend						aCursorDepend; //the cursor is removed after the doc has been removed
442*cdf0e10cSrcweir 	SwChartEventListenerContainer	aChartLstnrCntnr;
443*cdf0e10cSrcweir 
444*cdf0e10cSrcweir 	SwRangeDescriptor 			aRgDesc;
445*cdf0e10cSrcweir     const SfxItemPropertySet*   m_pPropSet;
446*cdf0e10cSrcweir 
447*cdf0e10cSrcweir 	SwUnoCrsr* 					pTblCrsr;
448*cdf0e10cSrcweir 
449*cdf0e10cSrcweir 	sal_Bool						bFirstRowAsLabel 	:1;
450*cdf0e10cSrcweir 	sal_Bool						bFirstColumnAsLabel	:1;
451*cdf0e10cSrcweir 
452*cdf0e10cSrcweir public:
453*cdf0e10cSrcweir 	SwXCellRange(SwUnoCrsr* pCrsr, SwFrmFmt& rFrmFmt, SwRangeDescriptor& rDesc);
454*cdf0e10cSrcweir 	~SwXCellRange();
455*cdf0e10cSrcweir 
456*cdf0e10cSrcweir 	TYPEINFO();
457*cdf0e10cSrcweir 
458*cdf0e10cSrcweir 	static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId();
459*cdf0e10cSrcweir 
460*cdf0e10cSrcweir 	//XUnoTunnel
461*cdf0e10cSrcweir 	virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
462*cdf0e10cSrcweir 
463*cdf0e10cSrcweir 
464*cdf0e10cSrcweir 	//XCellRange
465*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > SAL_CALL getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow ) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
466*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, sal_Int32 nRight, sal_Int32 nBottom ) throw(com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
467*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL getCellRangeByName( const ::rtl::OUString& aRange ) throw(::com::sun::star::uno::RuntimeException);
468*cdf0e10cSrcweir 
469*cdf0e10cSrcweir 	//XPropertySet
470*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException);
471*cdf0e10cSrcweir     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
472*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
473*cdf0e10cSrcweir     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
474*cdf0e10cSrcweir     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
475*cdf0e10cSrcweir     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
476*cdf0e10cSrcweir     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
477*cdf0e10cSrcweir 
478*cdf0e10cSrcweir 	//XChartData
479*cdf0e10cSrcweir     virtual void SAL_CALL addChartDataChangeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XChartDataChangeEventListener >& aListener ) throw(::com::sun::star::uno::RuntimeException);
480*cdf0e10cSrcweir     virtual void SAL_CALL removeChartDataChangeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XChartDataChangeEventListener >& aListener ) throw(::com::sun::star::uno::RuntimeException);
481*cdf0e10cSrcweir     virtual double SAL_CALL getNotANumber(  ) throw(::com::sun::star::uno::RuntimeException);
482*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL isNotANumber( double nNumber ) throw(::com::sun::star::uno::RuntimeException);
483*cdf0e10cSrcweir 
484*cdf0e10cSrcweir 	//XChartDataArray
485*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< double > > SAL_CALL getData(  ) throw(::com::sun::star::uno::RuntimeException);
486*cdf0e10cSrcweir     virtual void SAL_CALL setData( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< double > >& aData ) throw(::com::sun::star::uno::RuntimeException);
487*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getRowDescriptions(  ) throw(::com::sun::star::uno::RuntimeException);
488*cdf0e10cSrcweir     virtual void SAL_CALL setRowDescriptions( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRowDescriptions ) throw(::com::sun::star::uno::RuntimeException);
489*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getColumnDescriptions(  ) throw(::com::sun::star::uno::RuntimeException);
490*cdf0e10cSrcweir     virtual void SAL_CALL setColumnDescriptions( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aColumnDescriptions ) throw(::com::sun::star::uno::RuntimeException);
491*cdf0e10cSrcweir 
492*cdf0e10cSrcweir 	//XSortable
493*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL createSortDescriptor(void) throw( ::com::sun::star::uno::RuntimeException );
494*cdf0e10cSrcweir 	virtual void SAL_CALL sort(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& xDescriptor) throw( ::com::sun::star::uno::RuntimeException );
495*cdf0e10cSrcweir 
496*cdf0e10cSrcweir     //XCellRangeData
497*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > > SAL_CALL getDataArray(  ) throw (::com::sun::star::uno::RuntimeException);
498*cdf0e10cSrcweir     virtual void SAL_CALL setDataArray( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > >& aArray ) throw (::com::sun::star::uno::RuntimeException);
499*cdf0e10cSrcweir 
500*cdf0e10cSrcweir 	//XServiceInfo
501*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
502*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
503*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
504*cdf0e10cSrcweir 
505*cdf0e10cSrcweir 	//SwClient
506*cdf0e10cSrcweir    virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew);
507*cdf0e10cSrcweir 
508*cdf0e10cSrcweir 	SwFrmFmt* 	GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
509*cdf0e10cSrcweir 	sal_uInt16 		getRowCount(void);
510*cdf0e10cSrcweir 	sal_uInt16 		getColumnCount(void);
511*cdf0e10cSrcweir 
512*cdf0e10cSrcweir     const SwUnoCrsr* GetTblCrsr() const;
513*cdf0e10cSrcweir 
514*cdf0e10cSrcweir     // for SwChartDataSequence
515*cdf0e10cSrcweir     void GetDataSequence(
516*cdf0e10cSrcweir             ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > *pAnySeq,
517*cdf0e10cSrcweir             ::com::sun::star::uno::Sequence< ::rtl::OUString > *pTxtSeq,
518*cdf0e10cSrcweir             ::com::sun::star::uno::Sequence< double > *pDblSeq,
519*cdf0e10cSrcweir             sal_Bool bForceNumberResults = sal_False ) throw (::com::sun::star::uno::RuntimeException);
520*cdf0e10cSrcweir 
521*cdf0e10cSrcweir };
522*cdf0e10cSrcweir /* -----------------03.02.99 07:31-------------------
523*cdf0e10cSrcweir  *
524*cdf0e10cSrcweir  * --------------------------------------------------*/
525*cdf0e10cSrcweir class SwXTableRows : public cppu::WeakImplHelper2
526*cdf0e10cSrcweir <
527*cdf0e10cSrcweir 	::com::sun::star::table::XTableRows,
528*cdf0e10cSrcweir 	::com::sun::star::lang::XServiceInfo
529*cdf0e10cSrcweir >,
530*cdf0e10cSrcweir 	public SwClient
531*cdf0e10cSrcweir 
532*cdf0e10cSrcweir {
533*cdf0e10cSrcweir 	SwFrmFmt* GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
534*cdf0e10cSrcweir protected:
535*cdf0e10cSrcweir 	virtual ~SwXTableRows();
536*cdf0e10cSrcweir public:
537*cdf0e10cSrcweir 	SwXTableRows(SwFrmFmt& rFrmFmt);
538*cdf0e10cSrcweir 
539*cdf0e10cSrcweir 
540*cdf0e10cSrcweir 	TYPEINFO();
541*cdf0e10cSrcweir 
542*cdf0e10cSrcweir // automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
543*cdf0e10cSrcweir //	virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass >  > getIdlClasses(void) throw( ::com::sun::star::uno::RuntimeException );
544*cdf0e10cSrcweir 
545*cdf0e10cSrcweir // automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
546*cdf0e10cSrcweir //	virtual sal_Bool		queryInterface( ::com::sun::star::uno::Uik aUik, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >  & rOut );
547*cdf0e10cSrcweir 
548*cdf0e10cSrcweir //	SMART_UNO_DECLARATION( SwXTableRows, UsrObject );
549*cdf0e10cSrcweir 
550*cdf0e10cSrcweir 	//XIndexAccess
551*cdf0e10cSrcweir 	virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
552*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
553*cdf0e10cSrcweir 
554*cdf0e10cSrcweir 	//XElementAccess
555*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException);
556*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException);
557*cdf0e10cSrcweir 
558*cdf0e10cSrcweir 	//XTableRows
559*cdf0e10cSrcweir 	virtual void SAL_CALL insertByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( ::com::sun::star::uno::RuntimeException );
560*cdf0e10cSrcweir 	virtual void SAL_CALL removeByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( ::com::sun::star::uno::RuntimeException );
561*cdf0e10cSrcweir 
562*cdf0e10cSrcweir 	//XServiceInfo
563*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
564*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
565*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
566*cdf0e10cSrcweir 
567*cdf0e10cSrcweir 	//SwClient
568*cdf0e10cSrcweir    virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew);
569*cdf0e10cSrcweir };
570*cdf0e10cSrcweir 
571*cdf0e10cSrcweir /* -----------------03.02.99 07:31-------------------
572*cdf0e10cSrcweir  *
573*cdf0e10cSrcweir  * --------------------------------------------------*/
574*cdf0e10cSrcweir class SwXTableColumns : public cppu::WeakImplHelper2
575*cdf0e10cSrcweir <
576*cdf0e10cSrcweir 	::com::sun::star::table::XTableColumns,
577*cdf0e10cSrcweir 	::com::sun::star::lang::XServiceInfo
578*cdf0e10cSrcweir >,
579*cdf0e10cSrcweir 	public SwClient
580*cdf0e10cSrcweir 
581*cdf0e10cSrcweir {
582*cdf0e10cSrcweir 	SwFrmFmt* GetFrmFmt() const { return (SwFrmFmt*)GetRegisteredIn(); }
583*cdf0e10cSrcweir protected:
584*cdf0e10cSrcweir 	virtual ~SwXTableColumns();
585*cdf0e10cSrcweir public:
586*cdf0e10cSrcweir 	SwXTableColumns(SwFrmFmt& rFrmFmt);
587*cdf0e10cSrcweir 
588*cdf0e10cSrcweir 
589*cdf0e10cSrcweir 	TYPEINFO();
590*cdf0e10cSrcweir // automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
591*cdf0e10cSrcweir //	virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass >  > getIdlClasses(void) throw( ::com::sun::star::uno::RuntimeException );
592*cdf0e10cSrcweir 
593*cdf0e10cSrcweir // automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
594*cdf0e10cSrcweir //	virtual sal_Bool		queryInterface( ::com::sun::star::uno::Uik aUik, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >  & rOut );
595*cdf0e10cSrcweir 
596*cdf0e10cSrcweir //	SMART_UNO_DECLARATION( SwXTableColumns, UsrObject );
597*cdf0e10cSrcweir 
598*cdf0e10cSrcweir 	//XIndexAccess
599*cdf0e10cSrcweir 	virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
600*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
601*cdf0e10cSrcweir 
602*cdf0e10cSrcweir 	//XElementAccess
603*cdf0e10cSrcweir     virtual ::com::sun::star::uno::Type SAL_CALL getElementType(  ) throw(::com::sun::star::uno::RuntimeException);
604*cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasElements(  ) throw(::com::sun::star::uno::RuntimeException);
605*cdf0e10cSrcweir 
606*cdf0e10cSrcweir 	//XTableColumns
607*cdf0e10cSrcweir 	virtual void SAL_CALL insertByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( ::com::sun::star::uno::RuntimeException );
608*cdf0e10cSrcweir 	virtual void SAL_CALL removeByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( ::com::sun::star::uno::RuntimeException );
609*cdf0e10cSrcweir 
610*cdf0e10cSrcweir 	//XServiceInfo
611*cdf0e10cSrcweir 	virtual rtl::OUString SAL_CALL getImplementationName(void) throw( ::com::sun::star::uno::RuntimeException );
612*cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService(const rtl::OUString& ServiceName) throw( ::com::sun::star::uno::RuntimeException );
613*cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
614*cdf0e10cSrcweir 
615*cdf0e10cSrcweir 	//SwClient
616*cdf0e10cSrcweir    virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew);
617*cdf0e10cSrcweir };
618*cdf0e10cSrcweir 
619*cdf0e10cSrcweir #endif
620*cdf0e10cSrcweir 
621*cdf0e10cSrcweir 
622*cdf0e10cSrcweir 
623*cdf0e10cSrcweir 
624