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