xref: /AOO41X/main/sc/inc/fmtuno.hxx (revision 38d50f7b14e1cf975d8c6468d9633894cd59b523)
1*38d50f7bSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*38d50f7bSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*38d50f7bSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*38d50f7bSAndrew Rist  * distributed with this work for additional information
6*38d50f7bSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*38d50f7bSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*38d50f7bSAndrew Rist  * "License"); you may not use this file except in compliance
9*38d50f7bSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*38d50f7bSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*38d50f7bSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*38d50f7bSAndrew Rist  * software distributed under the License is distributed on an
15*38d50f7bSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*38d50f7bSAndrew Rist  * KIND, either express or implied.  See the License for the
17*38d50f7bSAndrew Rist  * specific language governing permissions and limitations
18*38d50f7bSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*38d50f7bSAndrew Rist  *************************************************************/
21*38d50f7bSAndrew Rist 
22*38d50f7bSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef SC_FMTUNO_HXX
25cdf0e10cSrcweir #define SC_FMTUNO_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include "address.hxx"
28cdf0e10cSrcweir #include "conditio.hxx"
29cdf0e10cSrcweir #include <formula/grammar.hxx>
30cdf0e10cSrcweir #include <tools/list.hxx>
31cdf0e10cSrcweir #include <svl/itemprop.hxx>
32cdf0e10cSrcweir #include <com/sun/star/sheet/XSheetConditionalEntries.hpp>
33cdf0e10cSrcweir #include <com/sun/star/sheet/XSheetCondition.hpp>
34cdf0e10cSrcweir #include <com/sun/star/sheet/XSheetConditionalEntry.hpp>
35cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
36cdf0e10cSrcweir #include <com/sun/star/container/XNameAccess.hpp>
37cdf0e10cSrcweir #include <com/sun/star/container/XEnumerationAccess.hpp>
38cdf0e10cSrcweir #include <com/sun/star/lang/XUnoTunnel.hpp>
39cdf0e10cSrcweir #include <com/sun/star/beans/XPropertySet.hpp>
40cdf0e10cSrcweir 
41cdf0e10cSrcweir #include <com/sun/star/sheet/XMultiFormulaTokens.hpp>
42cdf0e10cSrcweir #include <com/sun/star/sheet/FormulaToken.hpp>
43cdf0e10cSrcweir #include <cppuhelper/implbase3.hxx>
44cdf0e10cSrcweir #include <cppuhelper/implbase4.hxx>
45cdf0e10cSrcweir #include <cppuhelper/implbase5.hxx>
46cdf0e10cSrcweir 
47cdf0e10cSrcweir 
48cdf0e10cSrcweir class ScDocument;
49cdf0e10cSrcweir class ScTableConditionalEntry;
50cdf0e10cSrcweir class ScConditionalFormat;
51cdf0e10cSrcweir class ScValidationData;
52cdf0e10cSrcweir 
53cdf0e10cSrcweir 
54cdf0e10cSrcweir struct ScCondFormatEntryItem
55cdf0e10cSrcweir {
56cdf0e10cSrcweir     ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > maTokens1;
57cdf0e10cSrcweir     ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > maTokens2;
58cdf0e10cSrcweir     String              maExpr1;
59cdf0e10cSrcweir     String              maExpr2;
60cdf0e10cSrcweir     String              maExprNmsp1;
61cdf0e10cSrcweir     String              maExprNmsp2;
62cdf0e10cSrcweir     String              maPosStr;  // formula position as text
63cdf0e10cSrcweir     String              maStyle;   // display name as stored in ScStyleSheet
64cdf0e10cSrcweir     ScAddress           maPos;
65cdf0e10cSrcweir     formula::FormulaGrammar::Grammar meGrammar1; // grammar used with maExpr1
66cdf0e10cSrcweir     formula::FormulaGrammar::Grammar meGrammar2; // grammar used with maExpr2
67cdf0e10cSrcweir     ScConditionMode     meMode;
68cdf0e10cSrcweir 
69cdf0e10cSrcweir     // Make sure the grammar is initialized for API calls.
70cdf0e10cSrcweir     ScCondFormatEntryItem();
71cdf0e10cSrcweir };
72cdf0e10cSrcweir 
73cdf0e10cSrcweir class ScTableConditionalFormat : public cppu::WeakImplHelper5<
74cdf0e10cSrcweir 							com::sun::star::sheet::XSheetConditionalEntries,
75cdf0e10cSrcweir 							com::sun::star::container::XNameAccess,
76cdf0e10cSrcweir 							com::sun::star::container::XEnumerationAccess,
77cdf0e10cSrcweir 							com::sun::star::lang::XUnoTunnel,
78cdf0e10cSrcweir 							com::sun::star::lang::XServiceInfo >
79cdf0e10cSrcweir {
80cdf0e10cSrcweir private:
81cdf0e10cSrcweir 	List	aEntries;
82cdf0e10cSrcweir 
83cdf0e10cSrcweir 	ScTableConditionalEntry*	GetObjectByIndex_Impl(sal_uInt16 nIndex) const;
84cdf0e10cSrcweir     void                        AddEntry_Impl(const ScCondFormatEntryItem& aEntry);
85cdf0e10cSrcweir 
86cdf0e10cSrcweir 	ScTableConditionalFormat(); // disable
87cdf0e10cSrcweir public:
88cdf0e10cSrcweir 							ScTableConditionalFormat(ScDocument* pDoc, sal_uLong nKey,
89cdf0e10cSrcweir                                 formula::FormulaGrammar::Grammar eGrammar);
90cdf0e10cSrcweir 	virtual					~ScTableConditionalFormat();
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     void                    FillFormat( ScConditionalFormat& rFormat, ScDocument* pDoc,
93cdf0e10cSrcweir                                 formula::FormulaGrammar::Grammar eGrammar) const;
94cdf0e10cSrcweir 
95cdf0e10cSrcweir 							// XSheetConditionalEntries
96cdf0e10cSrcweir 	virtual void SAL_CALL	addNew( const ::com::sun::star::uno::Sequence<
97cdf0e10cSrcweir 									::com::sun::star::beans::PropertyValue >& aConditionalEntry )
98cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
99cdf0e10cSrcweir 	virtual void SAL_CALL	removeByIndex( sal_Int32 nIndex )
100cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
101cdf0e10cSrcweir 	virtual void SAL_CALL	clear() throw(::com::sun::star::uno::RuntimeException);
102cdf0e10cSrcweir 
103cdf0e10cSrcweir 							// XIndexAccess
104cdf0e10cSrcweir 	virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
105cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
106cdf0e10cSrcweir 								throw(::com::sun::star::lang::IndexOutOfBoundsException,
107cdf0e10cSrcweir 									::com::sun::star::lang::WrappedTargetException,
108cdf0e10cSrcweir 									::com::sun::star::uno::RuntimeException);
109cdf0e10cSrcweir 
110cdf0e10cSrcweir 							// XNameAccess
111cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
112cdf0e10cSrcweir 								throw(::com::sun::star::container::NoSuchElementException,
113cdf0e10cSrcweir 									::com::sun::star::lang::WrappedTargetException,
114cdf0e10cSrcweir 									::com::sun::star::uno::RuntimeException);
115cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames()
116cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
117cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
118cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
119cdf0e10cSrcweir 
120cdf0e10cSrcweir 							// XEnumerationAccess
121cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
122cdf0e10cSrcweir 							createEnumeration() throw(::com::sun::star::uno::RuntimeException);
123cdf0e10cSrcweir 
124cdf0e10cSrcweir 							// XElementAccess
125cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
126cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
127cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
128cdf0e10cSrcweir 
129cdf0e10cSrcweir 							// XUnoTunnel
130cdf0e10cSrcweir 	virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
131cdf0e10cSrcweir 									sal_Int8 >& aIdentifier )
132cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
133cdf0e10cSrcweir 
134cdf0e10cSrcweir 	static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
135cdf0e10cSrcweir 	static ScTableConditionalFormat* getImplementation( const com::sun::star::uno::Reference<
136cdf0e10cSrcweir 									com::sun::star::sheet::XSheetConditionalEntries> xObj );
137cdf0e10cSrcweir 
138cdf0e10cSrcweir 							// XServiceInfo
139cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL getImplementationName()
140cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
141cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
142cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
143cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
144cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
145cdf0e10cSrcweir };
146cdf0e10cSrcweir 
147cdf0e10cSrcweir 
148cdf0e10cSrcweir 
149cdf0e10cSrcweir class ScTableConditionalEntry : public cppu::WeakImplHelper3<
150cdf0e10cSrcweir 							com::sun::star::sheet::XSheetCondition,
151cdf0e10cSrcweir 							com::sun::star::sheet::XSheetConditionalEntry,
152cdf0e10cSrcweir 							com::sun::star::lang::XServiceInfo >
153cdf0e10cSrcweir {
154cdf0e10cSrcweir private:
155cdf0e10cSrcweir     ScCondFormatEntryItem       aData;
156cdf0e10cSrcweir 
157cdf0e10cSrcweir 	ScTableConditionalEntry(); // disabled
158cdf0e10cSrcweir public:
159cdf0e10cSrcweir                             ScTableConditionalEntry(const ScCondFormatEntryItem& aItem);
160cdf0e10cSrcweir 	virtual					~ScTableConditionalEntry();
161cdf0e10cSrcweir 
162cdf0e10cSrcweir     void                    GetData(ScCondFormatEntryItem& rData) const;
163cdf0e10cSrcweir 
164cdf0e10cSrcweir 							// XSheetCondition
165cdf0e10cSrcweir 	virtual ::com::sun::star::sheet::ConditionOperator SAL_CALL getOperator()
166cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
167cdf0e10cSrcweir 	virtual void SAL_CALL	setOperator( ::com::sun::star::sheet::ConditionOperator nOperator )
168cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
169cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL getFormula1() throw(::com::sun::star::uno::RuntimeException);
170cdf0e10cSrcweir 	virtual void SAL_CALL	setFormula1( const ::rtl::OUString& aFormula1 )
171cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
172cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL getFormula2() throw(::com::sun::star::uno::RuntimeException);
173cdf0e10cSrcweir 	virtual void SAL_CALL	setFormula2( const ::rtl::OUString& aFormula2 )
174cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
175cdf0e10cSrcweir 	virtual ::com::sun::star::table::CellAddress SAL_CALL getSourcePosition()
176cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
177cdf0e10cSrcweir 	virtual void SAL_CALL setSourcePosition( const ::com::sun::star::table::CellAddress& aSourcePosition )
178cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
179cdf0e10cSrcweir 
180cdf0e10cSrcweir 							// XSheetConditionalEntry
181cdf0e10cSrcweir 	virtual ::rtl::OUString	SAL_CALL getStyleName() throw(::com::sun::star::uno::RuntimeException);
182cdf0e10cSrcweir 	virtual void SAL_CALL	setStyleName( const ::rtl::OUString& aStyleName )
183cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
184cdf0e10cSrcweir 
185cdf0e10cSrcweir 							// XServiceInfo
186cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL getImplementationName()
187cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
188cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
189cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
190cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
191cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
192cdf0e10cSrcweir };
193cdf0e10cSrcweir 
194cdf0e10cSrcweir 
195cdf0e10cSrcweir 
196cdf0e10cSrcweir class ScTableValidationObj : public cppu::WeakImplHelper5<
197cdf0e10cSrcweir 							com::sun::star::sheet::XSheetCondition,
198cdf0e10cSrcweir                             com::sun::star::sheet::XMultiFormulaTokens,
199cdf0e10cSrcweir 							com::sun::star::beans::XPropertySet,
200cdf0e10cSrcweir 							com::sun::star::lang::XUnoTunnel,
201cdf0e10cSrcweir 							com::sun::star::lang::XServiceInfo >
202cdf0e10cSrcweir {
203cdf0e10cSrcweir private:
204cdf0e10cSrcweir 	SfxItemPropertySet	aPropSet;
205cdf0e10cSrcweir 	sal_uInt16				nMode;			// enum ScConditionMode
206cdf0e10cSrcweir 	String				aExpr1;
207cdf0e10cSrcweir 	String				aExpr2;
208cdf0e10cSrcweir     String              maExprNmsp1;
209cdf0e10cSrcweir     String              maExprNmsp2;
210cdf0e10cSrcweir     formula::FormulaGrammar::Grammar  meGrammar1;      // grammar used with aExpr1 and aExpr2
211cdf0e10cSrcweir     formula::FormulaGrammar::Grammar  meGrammar2;      // grammar used with aExpr1 and aExpr2
212cdf0e10cSrcweir     ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > aTokens1;
213cdf0e10cSrcweir     ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > aTokens2;
214cdf0e10cSrcweir 	ScAddress			aSrcPos;
215cdf0e10cSrcweir     String              aPosString;     // formula position as text
216cdf0e10cSrcweir 	sal_uInt16				nValMode;		// enum ScValidationMode
217cdf0e10cSrcweir 	sal_Bool				bIgnoreBlank;
218cdf0e10cSrcweir     sal_Int16           nShowList;
219cdf0e10cSrcweir 	sal_Bool				bShowInput;
220cdf0e10cSrcweir 	String				aInputTitle;
221cdf0e10cSrcweir 	String				aInputMessage;
222cdf0e10cSrcweir 	sal_Bool				bShowError;
223cdf0e10cSrcweir 	sal_uInt16				nErrorStyle;	// enum ScValidErrorStyle
224cdf0e10cSrcweir 	String				aErrorTitle;
225cdf0e10cSrcweir 	String				aErrorMessage;
226cdf0e10cSrcweir 
227cdf0e10cSrcweir 	void					ClearData_Impl();
228cdf0e10cSrcweir 
229cdf0e10cSrcweir 	ScTableValidationObj(); // disabled
230cdf0e10cSrcweir public:
231cdf0e10cSrcweir 							ScTableValidationObj(ScDocument* pDoc, sal_uLong nKey,
232cdf0e10cSrcweir 												const formula::FormulaGrammar::Grammar eGrammar);
233cdf0e10cSrcweir 	virtual					~ScTableValidationObj();
234cdf0e10cSrcweir 
235cdf0e10cSrcweir 	ScValidationData*		CreateValidationData( ScDocument* pDoc,
236cdf0e10cSrcweir 												formula::FormulaGrammar::Grammar eGrammar ) const;
237cdf0e10cSrcweir 
238cdf0e10cSrcweir 							// XSheetCondition
239cdf0e10cSrcweir 	virtual ::com::sun::star::sheet::ConditionOperator SAL_CALL getOperator()
240cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
241cdf0e10cSrcweir 	virtual void SAL_CALL	setOperator( ::com::sun::star::sheet::ConditionOperator nOperator )
242cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
243cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL getFormula1() throw(::com::sun::star::uno::RuntimeException);
244cdf0e10cSrcweir 	virtual void SAL_CALL	setFormula1( const ::rtl::OUString& aFormula1 )
245cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
246cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL getFormula2() throw(::com::sun::star::uno::RuntimeException);
247cdf0e10cSrcweir 	virtual void SAL_CALL	setFormula2( const ::rtl::OUString& aFormula2 )
248cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
249cdf0e10cSrcweir 	virtual ::com::sun::star::table::CellAddress SAL_CALL getSourcePosition()
250cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
251cdf0e10cSrcweir 	virtual void SAL_CALL setSourcePosition( const ::com::sun::star::table::CellAddress& aSourcePosition )
252cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
253cdf0e10cSrcweir 
254cdf0e10cSrcweir                             // XMultiFormulaTokens
255cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken >
256cdf0e10cSrcweir                             SAL_CALL getTokens( sal_Int32 nIndex )
257cdf0e10cSrcweir                                 throw(::com::sun::star::uno::RuntimeException,::com::sun::star::lang::IndexOutOfBoundsException);
258cdf0e10cSrcweir     virtual void SAL_CALL setTokens( sal_Int32 nIndex,
259cdf0e10cSrcweir                                      const ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken >& aTokens )
260cdf0e10cSrcweir                                 throw(::com::sun::star::uno::RuntimeException,::com::sun::star::lang::IndexOutOfBoundsException);
261cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
262cdf0e10cSrcweir 
263cdf0e10cSrcweir 							// XPropertySet
264cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
265cdf0e10cSrcweir 							SAL_CALL getPropertySetInfo()
266cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
267cdf0e10cSrcweir 	virtual void SAL_CALL	setPropertyValue( const ::rtl::OUString& aPropertyName,
268cdf0e10cSrcweir 									const ::com::sun::star::uno::Any& aValue )
269cdf0e10cSrcweir 								throw(::com::sun::star::beans::UnknownPropertyException,
270cdf0e10cSrcweir 									::com::sun::star::beans::PropertyVetoException,
271cdf0e10cSrcweir 									::com::sun::star::lang::IllegalArgumentException,
272cdf0e10cSrcweir 									::com::sun::star::lang::WrappedTargetException,
273cdf0e10cSrcweir 									::com::sun::star::uno::RuntimeException);
274cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
275cdf0e10cSrcweir 									const ::rtl::OUString& PropertyName )
276cdf0e10cSrcweir 								throw(::com::sun::star::beans::UnknownPropertyException,
277cdf0e10cSrcweir 									::com::sun::star::lang::WrappedTargetException,
278cdf0e10cSrcweir 									::com::sun::star::uno::RuntimeException);
279cdf0e10cSrcweir 	virtual void SAL_CALL	addPropertyChangeListener( const ::rtl::OUString& aPropertyName,
280cdf0e10cSrcweir 									const ::com::sun::star::uno::Reference<
281cdf0e10cSrcweir 										::com::sun::star::beans::XPropertyChangeListener >& xListener )
282cdf0e10cSrcweir 								throw(::com::sun::star::beans::UnknownPropertyException,
283cdf0e10cSrcweir 									::com::sun::star::lang::WrappedTargetException,
284cdf0e10cSrcweir 									::com::sun::star::uno::RuntimeException);
285cdf0e10cSrcweir 	virtual void SAL_CALL	removePropertyChangeListener( const ::rtl::OUString& aPropertyName,
286cdf0e10cSrcweir 									const ::com::sun::star::uno::Reference<
287cdf0e10cSrcweir 										::com::sun::star::beans::XPropertyChangeListener >& aListener )
288cdf0e10cSrcweir 								throw(::com::sun::star::beans::UnknownPropertyException,
289cdf0e10cSrcweir 									::com::sun::star::lang::WrappedTargetException,
290cdf0e10cSrcweir 									::com::sun::star::uno::RuntimeException);
291cdf0e10cSrcweir 	virtual void SAL_CALL	addVetoableChangeListener( const ::rtl::OUString& PropertyName,
292cdf0e10cSrcweir 									const ::com::sun::star::uno::Reference<
293cdf0e10cSrcweir 										::com::sun::star::beans::XVetoableChangeListener >& aListener )
294cdf0e10cSrcweir 								throw(::com::sun::star::beans::UnknownPropertyException,
295cdf0e10cSrcweir 									::com::sun::star::lang::WrappedTargetException,
296cdf0e10cSrcweir 									::com::sun::star::uno::RuntimeException);
297cdf0e10cSrcweir 	virtual void SAL_CALL	removeVetoableChangeListener( const ::rtl::OUString& PropertyName,
298cdf0e10cSrcweir 									const ::com::sun::star::uno::Reference<
299cdf0e10cSrcweir 										::com::sun::star::beans::XVetoableChangeListener >& aListener )
300cdf0e10cSrcweir 								throw(::com::sun::star::beans::UnknownPropertyException,
301cdf0e10cSrcweir 									::com::sun::star::lang::WrappedTargetException,
302cdf0e10cSrcweir 									::com::sun::star::uno::RuntimeException);
303cdf0e10cSrcweir 
304cdf0e10cSrcweir 							// XUnoTunnel
305cdf0e10cSrcweir 	virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
306cdf0e10cSrcweir 									sal_Int8 >& aIdentifier )
307cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
308cdf0e10cSrcweir 
309cdf0e10cSrcweir 	static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
310cdf0e10cSrcweir 	static ScTableValidationObj* getImplementation( const com::sun::star::uno::Reference<
311cdf0e10cSrcweir 									com::sun::star::beans::XPropertySet> xObj );
312cdf0e10cSrcweir 
313cdf0e10cSrcweir 							// XServiceInfo
314cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL getImplementationName()
315cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
316cdf0e10cSrcweir 	virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
317cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
318cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
319cdf0e10cSrcweir 								throw(::com::sun::star::uno::RuntimeException);
320cdf0e10cSrcweir };
321cdf0e10cSrcweir 
322cdf0e10cSrcweir 
323cdf0e10cSrcweir #endif
324cdf0e10cSrcweir 
325