xref: /trunk/main/svtools/source/inc/unoiface.hxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef _SVT_UNOIFACE_HXX
29 #define _SVT_UNOIFACE_HXX
30 
31 #include <toolkit/awt/vclxwindow.hxx>
32 #include <toolkit/awt/vclxwindows.hxx>
33 #include <toolkit/helper/listenermultiplexer.hxx>
34 
35 #include <cppuhelper/typeprovider.hxx>
36 
37 #include <com/sun/star/awt/XTextArea.hpp>
38 #include <com/sun/star/awt/XTextComponent.hpp>
39 #include <com/sun/star/awt/XTextLayoutConstrains.hpp>
40 #include <svtools/svmedit.hxx>
41 #include <svtools/fmtfield.hxx>
42 
43 
44 #include <comphelper/uno3.hxx>
45 #include <cppuhelper/implbase2.hxx>
46 #include <cppuhelper/implbase3.hxx>
47 #include <com/sun/star/awt/XItemEventBroadcaster.hpp>
48 
49 
50 namespace com { namespace sun { namespace star { namespace util {
51     class XNumberFormatsSupplier;
52 } } } }
53 
54 class SvNumberFormatsSupplierObj;
55 
56 //	----------------------------------------------------
57 //	class VCLXMultiLineEdit
58 //	----------------------------------------------------
59 class VCLXMultiLineEdit :	public ::com::sun::star::awt::XTextComponent,
60 							public ::com::sun::star::awt::XTextArea,
61 							public ::com::sun::star::awt::XTextLayoutConstrains,
62 							public VCLXWindow
63 {
64 private:
65 	TextListenerMultiplexer maTextListeners;
66     LineEnd                 meLineEndType;
67 
68 protected:
69     void                ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
70 
71 public:
72 					VCLXMultiLineEdit();
73 					~VCLXMultiLineEdit();
74 
75 	// ::com::sun::star::uno::XInterface
76     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
77 	void										SAL_CALL acquire() throw()	{ VCLXWindow::acquire(); }
78 	void										SAL_CALL release() throw()	{ VCLXWindow::release(); }
79 
80     // ::com::sun::star::lang::XTypeProvider
81 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
82 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
83 
84 	// ::com::sun::star::awt::XTextComponent
85     void SAL_CALL addTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException);
86     void SAL_CALL removeTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException);
87     void SAL_CALL setText( const ::rtl::OUString& aText ) throw(::com::sun::star::uno::RuntimeException);
88     void SAL_CALL insertText( const ::com::sun::star::awt::Selection& Sel, const ::rtl::OUString& Text ) throw(::com::sun::star::uno::RuntimeException);
89     ::rtl::OUString SAL_CALL getText(  ) throw(::com::sun::star::uno::RuntimeException);
90     ::rtl::OUString SAL_CALL getSelectedText(  ) throw(::com::sun::star::uno::RuntimeException);
91     void SAL_CALL setSelection( const ::com::sun::star::awt::Selection& aSelection ) throw(::com::sun::star::uno::RuntimeException);
92     ::com::sun::star::awt::Selection SAL_CALL getSelection(  ) throw(::com::sun::star::uno::RuntimeException);
93     sal_Bool SAL_CALL isEditable(  ) throw(::com::sun::star::uno::RuntimeException);
94     void SAL_CALL setEditable( sal_Bool bEditable ) throw(::com::sun::star::uno::RuntimeException);
95     void SAL_CALL setMaxTextLen( sal_Int16 nLen ) throw(::com::sun::star::uno::RuntimeException);
96     sal_Int16 SAL_CALL getMaxTextLen(  ) throw(::com::sun::star::uno::RuntimeException);
97 
98 	//XTextArea
99     ::rtl::OUString SAL_CALL getTextLines(  ) throw(::com::sun::star::uno::RuntimeException);
100 
101 	// ::com::sun::star::awt::XLayoutConstrains
102     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
103     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
104     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& aNewSize ) throw(::com::sun::star::uno::RuntimeException);
105 
106 	// ::com::sun::star::awt::XTextLayoutConstrains
107     ::com::sun::star::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) throw(::com::sun::star::uno::RuntimeException);
108     void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) throw(::com::sun::star::uno::RuntimeException);
109 
110 	// ::com::sun::star::awt::XVclWindowPeer
111     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
112     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
113 
114     // ::com::sun::star::awt::XWindow
115     void SAL_CALL setFocus(  ) throw(::com::sun::star::uno::RuntimeException);
116 
117     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
118     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
119 };
120 
121 
122 //	----------------------------------------------------
123 //	class VCLXFileControl
124 //	----------------------------------------------------
125 class VCLXFileControl : ::com::sun::star::awt::XTextComponent, public ::com::sun::star::awt::XTextLayoutConstrains, public VCLXWindow
126 {
127 protected:
128 	DECL_LINK( 	 	ModifyHdl, Edit* );
129 	TextListenerMultiplexer	maTextListeners;
130 
131 public:
132 					VCLXFileControl();
133 					~VCLXFileControl();
134 
135 	void 			SetWindow( Window* pWindow );
136 
137 	// ::com::sun::star::uno::XInterface
138     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
139 	void										SAL_CALL acquire() throw()	{ VCLXWindow::acquire(); }
140 	void										SAL_CALL release() throw()	{ VCLXWindow::release(); }
141 
142     // ::com::sun::star::lang::XTypeProvider
143 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
144 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
145 
146 	// ::com::sun::star::awt::XTextComponent
147     void SAL_CALL addTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException);
148     void SAL_CALL removeTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException);
149     void SAL_CALL setText( const ::rtl::OUString& aText ) throw(::com::sun::star::uno::RuntimeException);
150     void SAL_CALL insertText( const ::com::sun::star::awt::Selection& Sel, const ::rtl::OUString& Text ) throw(::com::sun::star::uno::RuntimeException);
151     ::rtl::OUString SAL_CALL getText(  ) throw(::com::sun::star::uno::RuntimeException);
152     ::rtl::OUString SAL_CALL getSelectedText(  ) throw(::com::sun::star::uno::RuntimeException);
153     void SAL_CALL setSelection( const ::com::sun::star::awt::Selection& aSelection ) throw(::com::sun::star::uno::RuntimeException);
154     ::com::sun::star::awt::Selection SAL_CALL getSelection(  ) throw(::com::sun::star::uno::RuntimeException);
155     sal_Bool SAL_CALL isEditable(  ) throw(::com::sun::star::uno::RuntimeException);
156     void SAL_CALL setEditable( sal_Bool bEditable ) throw(::com::sun::star::uno::RuntimeException);
157     void SAL_CALL setMaxTextLen( sal_Int16 nLen ) throw(::com::sun::star::uno::RuntimeException);
158     sal_Int16 SAL_CALL getMaxTextLen(  ) throw(::com::sun::star::uno::RuntimeException);
159 
160 	// ::com::sun::star::awt::XLayoutConstrains
161     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
162     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
163     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& aNewSize ) throw(::com::sun::star::uno::RuntimeException);
164 
165 	// ::com::sun::star::awt::XTextLayoutConstrains
166     ::com::sun::star::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) throw(::com::sun::star::uno::RuntimeException);
167     void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) throw(::com::sun::star::uno::RuntimeException);
168 
169     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value) throw(::com::sun::star::uno::RuntimeException);
170 
171     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
172     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
173 };
174 
175 //	----------------------------------------------------
176 //	class SVTXFormattedField
177 //	----------------------------------------------------
178 
179 class SVTXFormattedField : public VCLXSpinField
180 {
181 protected:
182 	SvNumberFormatsSupplierObj*	m_pCurrentSupplier;
183 	sal_Bool					bIsStandardSupplier;
184 
185 	sal_Int32					nKeyToSetDelayed;
186 
187 	FormattedField*				GetFormattedField() const { return (FormattedField*)GetWindow(); }
188 
189 public:
190 	SVTXFormattedField();
191 	~SVTXFormattedField();
192 
193 	// ::com::sun::star::awt::XVclWindowPeer
194     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
195     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
196 
197 protected:
198 	::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >  getFormatsSupplier(void) const;
199 	void	setFormatsSupplier(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier > & xSupplier);
200 	sal_Int32	getFormatKey(void) const;
201 	void	setFormatKey(sal_Int32 nKey);
202 
203 	void	SetValue(const ::com::sun::star::uno::Any& rValue);
204 	::com::sun::star::uno::Any	GetValue();
205 
206 	void	SetTreatAsNumber(sal_Bool bSet);
207 	sal_Bool	GetTreatAsNumber();
208 
209 	void	SetDefaultValue(const ::com::sun::star::uno::Any& rValue);
210 	::com::sun::star::uno::Any	GetDefaultValue();
211 
212 	void	SetMinValue(const ::com::sun::star::uno::Any& rValue);
213 	::com::sun::star::uno::Any	GetMinValue();
214 
215 	void	SetMaxValue(const ::com::sun::star::uno::Any& rValue);
216 	::com::sun::star::uno::Any	GetMaxValue();
217 
218 	void	NotifyTextListeners();
219 	::com::sun::star::uno::Any	convertEffectiveValue(const ::com::sun::star::uno::Any& rValue);
220 
221 	virtual void	SetWindow(Window* _pWindow);
222 
223     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
224     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
225 };
226 
227 
228 
229 //	----------------------------------------------------
230 //	class SVTXRoadmap
231 //	----------------------------------------------------
232 
233 namespace svt
234 {
235     class ORoadmap;
236 }
237 
238 struct RMItemData
239 {
240     sal_Bool            b_Enabled;
241     sal_Int32           n_ID;
242     ::rtl::OUString     Label;
243 };
244 
245 typedef ::cppu::ImplInheritanceHelper3  <   VCLXGraphicControl
246                                         ,   ::com::sun::star::container::XContainerListener
247                                         ,   ::com::sun::star::beans::XPropertyChangeListener
248                                         ,   ::com::sun::star::awt::XItemEventBroadcaster
249                                         >   SVTXRoadmap_Base;
250 class SVTXRoadmap : public SVTXRoadmap_Base
251 
252 
253 {
254 private:
255     ItemListenerMultiplexer 	maItemListeners;
256 
257     RMItemData CurRMItemData;
258     RMItemData GetRMItemData( const ::com::sun::star::container::ContainerEvent& _rEvent );
259 
260 protected:
261     ::svt::ORoadmap*				GetRoadmap() const { return (::svt::ORoadmap*)GetWindow(); }
262     void                            ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
263 
264 	~SVTXRoadmap();
265 
266 public:
267 	SVTXRoadmap();
268 
269     void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException) { VCLXWindow::disposing( Source ); }
270 
271 	// ::com::sun::star::awt::XVclWindowPeer
272     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
273 
274     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
275 
276     // XContainerListener
277     void SAL_CALL elementInserted( const ::com::sun::star::container::ContainerEvent& rEvent )throw(::com::sun::star::uno::RuntimeException);
278     void SAL_CALL elementRemoved( const ::com::sun::star::container::ContainerEvent& rEvent )throw(::com::sun::star::uno::RuntimeException);
279     void SAL_CALL elementReplaced( const ::com::sun::star::container::ContainerEvent& rEvent )throw(::com::sun::star::uno::RuntimeException);
280 
281     // XItemEventBroadcaster
282     virtual void SAL_CALL addItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw (::com::sun::star::uno::RuntimeException);
283     virtual void SAL_CALL removeItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw (::com::sun::star::uno::RuntimeException);
284 
285     // XPropertyChangeListener
286     virtual void SAL_CALL propertyChange( const ::com::sun::star::beans::PropertyChangeEvent& evt ) throw (::com::sun::star::uno::RuntimeException);
287 
288 protected:
289 
290     // VCLXGraphicControl overridables
291     virtual void    ImplSetNewImage();
292 
293     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
294     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
295 };
296 
297 
298 
299 //	----------------------------------------------------
300 //	class SVTXNumericField
301 //	----------------------------------------------------
302 class SVTXNumericField : public ::com::sun::star::awt::XNumericField, public SVTXFormattedField
303 {
304 public:
305 					SVTXNumericField();
306 					~SVTXNumericField();
307 
308 	// ::com::sun::star::uno::XInterface
309     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
310 	void										SAL_CALL acquire() throw()	{ SVTXFormattedField::acquire(); }
311 	void										SAL_CALL release() throw()	{ SVTXFormattedField::release(); }
312 
313     // ::com::sun::star::lang::XTypeProvider
314 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
315 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
316 
317 	// ::com::sun::star::awt::XNumericField
318     void SAL_CALL setValue( double Value ) throw(::com::sun::star::uno::RuntimeException);
319     double SAL_CALL getValue(  ) throw(::com::sun::star::uno::RuntimeException);
320     void SAL_CALL setMin( double Value ) throw(::com::sun::star::uno::RuntimeException);
321     double SAL_CALL getMin(  ) throw(::com::sun::star::uno::RuntimeException);
322     void SAL_CALL setMax( double Value ) throw(::com::sun::star::uno::RuntimeException);
323     double SAL_CALL getMax(  ) throw(::com::sun::star::uno::RuntimeException);
324     void SAL_CALL setFirst( double Value ) throw(::com::sun::star::uno::RuntimeException);
325     double SAL_CALL getFirst(  ) throw(::com::sun::star::uno::RuntimeException);
326     void SAL_CALL setLast( double Value ) throw(::com::sun::star::uno::RuntimeException);
327     double SAL_CALL getLast(  ) throw(::com::sun::star::uno::RuntimeException);
328     void SAL_CALL setSpinSize( double Value ) throw(::com::sun::star::uno::RuntimeException);
329     double SAL_CALL getSpinSize(  ) throw(::com::sun::star::uno::RuntimeException);
330     void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) throw(::com::sun::star::uno::RuntimeException);
331     sal_Int16 SAL_CALL getDecimalDigits(  ) throw(::com::sun::star::uno::RuntimeException);
332     void SAL_CALL setStrictFormat( sal_Bool bStrict ) throw(::com::sun::star::uno::RuntimeException);
333     sal_Bool SAL_CALL isStrictFormat(  ) throw(::com::sun::star::uno::RuntimeException);
334 
335     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
336     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
337 };
338 
339 //	----------------------------------------------------
340 //	class VCLXCurrencyField
341 //	----------------------------------------------------
342 class SVTXCurrencyField : public ::com::sun::star::awt::XCurrencyField, public SVTXFormattedField
343 {
344 public:
345 					SVTXCurrencyField();
346 					~SVTXCurrencyField();
347 
348 	// ::com::sun::star::uno::XInterface
349     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
350 	void										SAL_CALL acquire() throw()	{ SVTXFormattedField::acquire(); }
351 	void										SAL_CALL release() throw()	{ SVTXFormattedField::release(); }
352 
353     // ::com::sun::star::lang::XTypeProvider
354 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
355 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
356 
357 	// ::com::sun::star::awt::XVclWindowPeer
358     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
359     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
360 
361 	// ::com::sun::star::awt::XCurrencyField
362     void SAL_CALL setValue( double Value ) throw(::com::sun::star::uno::RuntimeException);
363     double SAL_CALL getValue(  ) throw(::com::sun::star::uno::RuntimeException);
364     void SAL_CALL setMin( double Value ) throw(::com::sun::star::uno::RuntimeException);
365     double SAL_CALL getMin(  ) throw(::com::sun::star::uno::RuntimeException);
366     void SAL_CALL setMax( double Value ) throw(::com::sun::star::uno::RuntimeException);
367     double SAL_CALL getMax(  ) throw(::com::sun::star::uno::RuntimeException);
368     void SAL_CALL setFirst( double Value ) throw(::com::sun::star::uno::RuntimeException);
369     double SAL_CALL getFirst(  ) throw(::com::sun::star::uno::RuntimeException);
370     void SAL_CALL setLast( double Value ) throw(::com::sun::star::uno::RuntimeException);
371     double SAL_CALL getLast(  ) throw(::com::sun::star::uno::RuntimeException);
372     void SAL_CALL setSpinSize( double Value ) throw(::com::sun::star::uno::RuntimeException);
373     double SAL_CALL getSpinSize(  ) throw(::com::sun::star::uno::RuntimeException);
374     void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) throw(::com::sun::star::uno::RuntimeException);
375     sal_Int16 SAL_CALL getDecimalDigits(  ) throw(::com::sun::star::uno::RuntimeException);
376     void SAL_CALL setStrictFormat( sal_Bool bStrict ) throw(::com::sun::star::uno::RuntimeException);
377     sal_Bool SAL_CALL isStrictFormat(  ) throw(::com::sun::star::uno::RuntimeException);
378 
379     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
380     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
381 };
382 
383 //	----------------------------------------------------
384 //	class VCLXProgressBar
385 //	----------------------------------------------------
386 class VCLXProgressBar :	public ::com::sun::star::awt::XProgressBar,
387 						public VCLXWindow
388 {
389 private:
390 	sal_Int32	m_nValue;
391 	sal_Int32	m_nValueMin;
392 	sal_Int32	m_nValueMax;
393 
394 protected:
395 	void			ImplUpdateValue();
396 
397 public:
398 					VCLXProgressBar();
399 					~VCLXProgressBar();
400 
401 	// ::com::sun::star::uno::XInterface
402     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
403 	void										SAL_CALL acquire() throw()	{ VCLXWindow::acquire(); }
404 	void										SAL_CALL release() throw()	{ VCLXWindow::release(); }
405 
406     // ::com::sun::star::lang::XTypeProvider
407 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
408 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
409 
410 	// ::com::sun::star::awt::XProgressBar
411     void SAL_CALL setForegroundColor( sal_Int32 nColor ) throw(::com::sun::star::uno::RuntimeException);
412     void SAL_CALL setBackgroundColor( sal_Int32 nColor ) throw(::com::sun::star::uno::RuntimeException);
413     void SAL_CALL setValue( sal_Int32 nValue ) throw(::com::sun::star::uno::RuntimeException);
414     void SAL_CALL setRange(	sal_Int32 nMin, sal_Int32 nMax ) throw(::com::sun::star::uno::RuntimeException );
415     sal_Int32 SAL_CALL getValue() throw(::com::sun::star::uno::RuntimeException);
416 
417 	// ::com::sun::star::awt::VclWindowPeer
418     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
419     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
420 
421     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
422     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
423 };
424 
425 //	----------------------------------------------------
426 //	class SVTXDateField
427 //	----------------------------------------------------
428 class SVTXDateField : public VCLXDateField
429 {
430 public:
431 					SVTXDateField();
432 					~SVTXDateField();
433 
434 	// ::com::sun::star::awt::VclWindowPeer
435     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
436 
437     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
438     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
439 };
440 
441 #endif	// _SVT_UNOIFACE_HXX
442