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