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 _TOOLKIT_AWT_VCLXWINDOWS_HXX_
25 #define _TOOLKIT_AWT_VCLXWINDOWS_HXX_
26 
27 #include <toolkit/dllapi.h>
28 
29 #include <com/sun/star/beans/PropertyValues.hpp>
30 #include <com/sun/star/beans/XPropertySet.hpp>
31 #include <com/sun/star/beans/PropertyValue.hpp>
32 #include <com/sun/star/beans/PropertyState.hpp>
33 #include <com/sun/star/beans/XPropertySetInfo.hpp>
34 #include <com/sun/star/beans/XMultiPropertySet.hpp>
35 #include <com/sun/star/beans/XFastPropertySet.hpp>
36 #include <com/sun/star/beans/XVetoableChangeListener.hpp>
37 #include <com/sun/star/beans/XPropertyState.hpp>
38 #include <com/sun/star/beans/PropertyAttribute.hpp>
39 #include <com/sun/star/beans/XPropertiesChangeListener.hpp>
40 #include <com/sun/star/beans/XPropertyChangeListener.hpp>
41 #include <com/sun/star/beans/XPropertyAccess.hpp>
42 #include <com/sun/star/beans/XPropertyContainer.hpp>
43 #include <com/sun/star/beans/PropertyStateChangeEvent.hpp>
44 #include <com/sun/star/beans/PropertyChangeEvent.hpp>
45 #include <com/sun/star/awt/XFileDialog.hpp>
46 #include <com/sun/star/awt/XTextComponent.hpp>
47 #include <com/sun/star/awt/XListBox.hpp>
48 #include <com/sun/star/awt/XProgressMonitor.hpp>
49 #include <com/sun/star/awt/TextAlign.hpp>
50 #include <com/sun/star/awt/XScrollBar.hpp>
51 #include <com/sun/star/awt/XVclContainerPeer.hpp>
52 #include <com/sun/star/awt/XTabControllerModel.hpp>
53 #include <com/sun/star/awt/XMessageBox.hpp>
54 #include <com/sun/star/awt/XTextEditField.hpp>
55 #include <com/sun/star/awt/Style.hpp>
56 #include <com/sun/star/awt/XTimeField.hpp>
57 #include <com/sun/star/awt/XVclWindowPeer.hpp>
58 #include <com/sun/star/awt/XControlModel.hpp>
59 #include <com/sun/star/awt/XSpinField.hpp>
60 #include <com/sun/star/awt/XUnoControlContainer.hpp>
61 #include <com/sun/star/awt/XTextLayoutConstrains.hpp>
62 #include <com/sun/star/awt/XNumericField.hpp>
63 #ifndef _COM_SUN_STAR_AWT_XMetricFIELD_HPP_
64 #include <com/sun/star/awt/XMetricField.hpp>
65 #endif
66 #include <com/sun/star/awt/XButton.hpp>
67 #include <com/sun/star/awt/XToggleButton.hpp>
68 #include <com/sun/star/awt/XPointer.hpp>
69 #include <com/sun/star/awt/XTextArea.hpp>
70 #include <com/sun/star/awt/XImageButton.hpp>
71 #include <com/sun/star/awt/XFixedHyperlink.hpp>
72 #include <com/sun/star/awt/XFixedText.hpp>
73 #include <com/sun/star/awt/XControlContainer.hpp>
74 #include <com/sun/star/awt/XDialog2.hpp>
75 #include <com/sun/star/awt/XRadioButton.hpp>
76 #include <com/sun/star/awt/XCurrencyField.hpp>
77 #include <com/sun/star/awt/XPatternField.hpp>
78 #include <com/sun/star/awt/XDateField.hpp>
79 #include <com/sun/star/awt/XComboBox.hpp>
80 #include <com/sun/star/awt/XCheckBox.hpp>
81 #include <com/sun/star/awt/XItemListListener.hpp>
82 #include <cppuhelper/weak.hxx>
83 #include <cppuhelper/implbase3.hxx>
84 #include <cppuhelper/implbase2.hxx>
85 
86 #include "toolkit/awt/vclxwindow.hxx"
87 #include "toolkit/awt/vclxtopwindow.hxx"
88 #include <cppuhelper/implbase1.hxx>
89 
90 #include <vcl/pointr.hxx>
91 #include <vcl/image.hxx>
92 
93 class Button;
94 class CheckBox;
95 class RadioButton;
96 class ListBox;
97 class ScrollBar;
98 class Edit;
99 class Menu;
100 class ComboBox;
101 class FormatterBase;
102 class SpinField;
103 class ToolBox;
104 class VclSimpleEvent;
105 class VclMenuEvent;
106 
107 //	----------------------------------------------------
108 //	class VCLXGraphicControl
109 //    deriving from VCLXWindow, drawing the graphic which exists as "Graphic" at the model
110 //	----------------------------------------------------
111 
112 
113 class TOOLKIT_DLLPUBLIC VCLXGraphicControl : public VCLXWindow
114 {
115 private:
116     /// the image we currently display
117     Image                       maImage;
118 
119 protected:
GetImage() const120     const Image&    GetImage() const { return maImage; }
121 
122 protected:
123 	// ::com::sun::star::awt::XWindow
124     void SAL_CALL setPosSize( sal_Int32 X, sal_Int32 Y, sal_Int32 Width, sal_Int32 Height, sal_Int16 Flags ) throw(::com::sun::star::uno::RuntimeException);
125 
126 	// ::com::sun::star::awt::VclWindowPeer
127     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
128     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
129 
130 protected:
131     /** forward our bitmap to our window
132         @precond
133             our mutex is locked
134         @precond
135             GetWindow is not <NULL/>
136         @see GetBitmap
137     */
138     virtual void    ImplSetNewImage();
139 
140 public:
141     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)142     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
143 
144 };
145 
146 //	----------------------------------------------------
147 //	class VCLXButton
148 //	----------------------------------------------------
149 typedef ::cppu::ImplInheritanceHelper2  <   VCLXGraphicControl
150                                         ,   ::com::sun::star::awt::XButton
151                                         ,   ::com::sun::star::awt::XToggleButton
152                                         >   VCLXButton_Base;
153 class VCLXButton :public VCLXButton_Base
154 {
155 private:
156 	::rtl::OUString				maActionCommand;
157 	ActionListenerMultiplexer	maActionListeners;
158 	ItemListenerMultiplexer     maItemListeners;
159 
160 protected:
161     void            ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
162 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > CreateAccessibleContext();
163 
164 public:
165 					VCLXButton();
166     ~VCLXButton();
167 
168 	// ::com::sun::star::lang::XComponent
169     void SAL_CALL dispose(  ) throw(::com::sun::star::uno::RuntimeException);
170 
171 	// ::com::sun::star::awt::XButton
172     void SAL_CALL addActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
173     void SAL_CALL removeActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
174     void SAL_CALL setLabel( const ::rtl::OUString& Label ) throw(::com::sun::star::uno::RuntimeException);
175     void SAL_CALL setActionCommand( const ::rtl::OUString& Command ) throw(::com::sun::star::uno::RuntimeException);
176 
177 	// ::com::sun::star::awt::XToggleButton
178 	// ::com::sun::star::awt::XItemEventBroadcaster
179     void SAL_CALL addItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
180     void SAL_CALL removeItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
181 
182     // ::com::sun::star::awt::XLayoutConstrains
183     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
184     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
185     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& rNewSize ) throw(::com::sun::star::uno::RuntimeException);
186 
187 	// ::com::sun::star::awt::VclWindowPeer
188     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
189     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
190 
191     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)192     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
193 };
194 
195 //	----------------------------------------------------
196 //	class VCLXImageControl
197 //	----------------------------------------------------
198 class VCLXImageControl : public VCLXGraphicControl
199 {
200 public:
201 					VCLXImageControl();
202 					~VCLXImageControl();
203 
204 	// ::com::sun::star::awt::XLayoutConstrains
205     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
206     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
207     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& rNewSize ) throw(::com::sun::star::uno::RuntimeException);
208 
209 	// ::com::sun::star::awt::VclWindowPeer
210     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
211     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
212 
213     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)214     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
215 
216 protected:
217     virtual void    ImplSetNewImage();
218 };
219 
220 //	----------------------------------------------------
221 //	class VCLXCheckBox
222 //	----------------------------------------------------
223 class VCLXCheckBox :	public ::com::sun::star::awt::XCheckBox,
224 						public ::com::sun::star::awt::XButton,
225 						public VCLXGraphicControl
226 {
227 private:
228 	ActionListenerMultiplexer	maActionListeners;
229 	::rtl::OUString				maActionCommand;
230 	ItemListenerMultiplexer     maItemListeners;
231 
232 protected:
233     void    ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
234 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > CreateAccessibleContext();
235 
236 public:
237 					VCLXCheckBox();
238 
239 	// ::com::sun::star::uno::XInterface
240     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()241 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()242 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
243 
244     // ::com::sun::star::lang::XTypeProvider
245 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
246 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
247 
248 
249 	// ::com::sun::star::lang::XComponent
250     void SAL_CALL dispose(  ) throw(::com::sun::star::uno::RuntimeException);
251 
252     // ::com::sun::star::awt::XCheckBox
253     void SAL_CALL addItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
254     void SAL_CALL removeItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
255     sal_Int16 SAL_CALL getState(  ) throw(::com::sun::star::uno::RuntimeException);
256     void SAL_CALL setState( sal_Int16 n ) throw(::com::sun::star::uno::RuntimeException);
257     void SAL_CALL setLabel( const ::rtl::OUString& Label ) throw(::com::sun::star::uno::RuntimeException);
258     void SAL_CALL enableTriState( sal_Bool b ) throw(::com::sun::star::uno::RuntimeException);
259 
260 	// ::com::sun::star::awt::XButton:
261     void SAL_CALL addActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
262     void SAL_CALL removeActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
263     void SAL_CALL setActionCommand( const ::rtl::OUString& Command ) throw(::com::sun::star::uno::RuntimeException);
264 
265 	// ::com::sun::star::awt::XLayoutConstrains
266     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
267     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
268     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& rNewSize ) throw(::com::sun::star::uno::RuntimeException);
269 
270 	// ::com::sun::star::awt::VclWindowPeer
271     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
272     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
273 
274     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)275     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
276 };
277 
278 //	----------------------------------------------------
279 //	class VCLXRadioButton
280 //	----------------------------------------------------
281 class VCLXRadioButton :	public ::com::sun::star::awt::XRadioButton,
282 						public ::com::sun::star::awt::XButton,
283 						public VCLXGraphicControl
284 {
285 private:
286 	ItemListenerMultiplexer     maItemListeners;
287 	ActionListenerMultiplexer	maActionListeners;
288 	::rtl::OUString				maActionCommand;
289 
290 protected:
291 	void			ImplClickedOrToggled( sal_Bool bToggled );
292     void            ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
293 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > CreateAccessibleContext();
294 
295 public:
296 					VCLXRadioButton();
297 
298 	// ::com::sun::star::uno::XInterface
299     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()300 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()301 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
302 
303     // ::com::sun::star::lang::XTypeProvider
304 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
305 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
306 
307 	// ::com::sun::star::lang::XComponent
308     void SAL_CALL dispose(  ) throw(::com::sun::star::uno::RuntimeException);
309 
310 	// ::com::sun::star::awt::XRadioButton
311     void SAL_CALL addItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
312     void SAL_CALL removeItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
313     sal_Bool SAL_CALL getState(  ) throw(::com::sun::star::uno::RuntimeException);
314     void SAL_CALL setState( sal_Bool b ) throw(::com::sun::star::uno::RuntimeException);
315     void SAL_CALL setLabel( const ::rtl::OUString& Label ) throw(::com::sun::star::uno::RuntimeException);
316 
317 	// ::com::sun::star::awt::XButton:
318     void SAL_CALL addActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
319     void SAL_CALL removeActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
320     void SAL_CALL setActionCommand( const ::rtl::OUString& Command ) throw(::com::sun::star::uno::RuntimeException);
321 
322 	// ::com::sun::star::awt::XLayoutConstrains
323     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
324     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
325     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& rNewSize ) throw(::com::sun::star::uno::RuntimeException);
326 
327 	// ::com::sun::star::awt::VclWindowPeer
328     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
329     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) 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     ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getFirstActionListener ();
335 };
336 
337 //	----------------------------------------------------
338 //	class VCLXMessageBox
339 //	----------------------------------------------------
340 class VCLXMessageBox :	public ::com::sun::star::awt::XMessageBox,
341 						public VCLXTopWindow
342 {
343 public:
344 						VCLXMessageBox();
345 						~VCLXMessageBox();
346 
347 	// ::com::sun::star::uno::XInterface
348     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()349 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()350 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
351 
352     // ::com::sun::star::lang::XTypeProvider
353 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
354 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
355 
356 
357     // ::com::sun::star::awt::XMessageBox
358     void SAL_CALL setCaptionText( const ::rtl::OUString& aText ) throw(::com::sun::star::uno::RuntimeException);
359     ::rtl::OUString SAL_CALL getCaptionText(  ) throw(::com::sun::star::uno::RuntimeException);
360     void SAL_CALL setMessageText( const ::rtl::OUString& aText ) throw(::com::sun::star::uno::RuntimeException);
361     ::rtl::OUString SAL_CALL getMessageText(  ) throw(::com::sun::star::uno::RuntimeException);
362     sal_Int16 SAL_CALL execute(  ) throw(::com::sun::star::uno::RuntimeException);
363 
364     // ::com::sun::star::awt::XLayoutConstrains
365     ::com::sun::star::awt::Size SAL_CALL getMinimumSize() throw(::com::sun::star::uno::RuntimeException);
366 
367     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)368     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
369 };
370 
371 
372 
373 //	----------------------------------------------------
374 //	class VCLXDialog
375 //	----------------------------------------------------
376 class TOOLKIT_DLLPUBLIC VCLXDialog :	public ::com::sun::star::awt::XDialog2,
377 					public VCLXTopWindow
378 {
379 public:
380 						VCLXDialog();
381 						~VCLXDialog();
382 
383 	// ::com::sun::star::uno::XInterface
384     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()385 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()386 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
387 
388     // ::com::sun::star::lang::XTypeProvider
389 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
390 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
391 
392     // ::com::sun::star::awt::XDialog2
393     virtual void SAL_CALL endDialog( ::sal_Int32 Result ) throw (::com::sun::star::uno::RuntimeException);
394     virtual void SAL_CALL setHelpId( const rtl::OUString& Id ) throw (::com::sun::star::uno::RuntimeException);
395 
396     // ::com::sun::star::awt::XDialog
397     void SAL_CALL setTitle( const ::rtl::OUString& Title ) throw(::com::sun::star::uno::RuntimeException);
398     ::rtl::OUString SAL_CALL getTitle(  ) throw(::com::sun::star::uno::RuntimeException);
399     sal_Int16 SAL_CALL execute(  ) throw(::com::sun::star::uno::RuntimeException);
400     void SAL_CALL endExecute(  ) throw(::com::sun::star::uno::RuntimeException);
401 
402 	// ::com::sun::star::awt::XView
403     void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) throw(::com::sun::star::uno::RuntimeException);
404 
405 	// ::com::sun::star::awt::XDevice,
406 	::com::sun::star::awt::DeviceInfo SAL_CALL getInfo() throw(::com::sun::star::uno::RuntimeException);
407 
408     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)409     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
410 
411 	// ::com::sun::star::awt::XVclWindowPeer
412     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
413 
414 };
415 
416 //	----------------------------------------------------
417 //	class VCLXTabPage
418 //	----------------------------------------------------
419 class VCLXTabPage :	public VCLXContainer
420 {
421 public:
422 						VCLXTabPage();
423 						~VCLXTabPage();
424 
425 	// ::com::sun::star::uno::XInterface
426     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()427 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()428 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
429 
430     // ::com::sun::star::lang::XTypeProvider
431 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
432 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
433 
434 	// ::com::sun::star::awt::XView
435     void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY ) throw(::com::sun::star::uno::RuntimeException);
436 
437 	// ::com::sun::star::awt::XDevice,
438 	::com::sun::star::awt::DeviceInfo SAL_CALL getInfo() throw(::com::sun::star::uno::RuntimeException);
439 
440 	// ::com::sun::star::awt::XVclWindowPeer
441     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
442 
443 };
444 
445 //  ----------------------------------------------------
446 //  class VCLXFixedHyperlink
447 //  ----------------------------------------------------
448 class TOOLKIT_DLLPUBLIC VCLXFixedHyperlink :
449     public ::com::sun::star::awt::XFixedHyperlink,
450     public VCLXWindow
451 {
452 private:
453     ActionListenerMultiplexer   maActionListeners;
454 
455 protected:
456     void                        ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
457 
458     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
459                                 CreateAccessibleContext();
460 
461 public:
462     VCLXFixedHyperlink();
463     ~VCLXFixedHyperlink();
464 
465     // ::com::sun::star::uno::XInterface
466     ::com::sun::star::uno::Any                  SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()467     void                                        SAL_CALL acquire() throw()  { OWeakObject::acquire(); }
release()468     void                                        SAL_CALL release() throw()  { OWeakObject::release(); }
469 
470     // ::com::sun::star::lang::XComponent
471     void SAL_CALL dispose(  ) throw(::com::sun::star::uno::RuntimeException);
472 
473     // ::com::sun::star::lang::XTypeProvider
474     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >  SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
475     ::com::sun::star::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
476 
477     // ::com::sun::star::awt::XFixedHyperlink
478     void SAL_CALL setText( const ::rtl::OUString& Text ) throw(::com::sun::star::uno::RuntimeException);
479     ::rtl::OUString SAL_CALL getText(  ) throw(::com::sun::star::uno::RuntimeException);
480     void SAL_CALL setURL( const ::rtl::OUString& URL ) throw(::com::sun::star::uno::RuntimeException);
481     ::rtl::OUString SAL_CALL getURL(  ) throw(::com::sun::star::uno::RuntimeException);
482     void SAL_CALL setAlignment( sal_Int16 nAlign ) throw(::com::sun::star::uno::RuntimeException);
483     sal_Int16 SAL_CALL getAlignment(  ) throw(::com::sun::star::uno::RuntimeException);
484     void SAL_CALL addActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
485     void SAL_CALL removeActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
486 
487     // ::com::sun::star::awt::XLayoutConstrains
488     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
489     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
490     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& rNewSize ) throw(::com::sun::star::uno::RuntimeException);
491 
492     // ::com::sun::star::awt::VclWindowPeer
493     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
494     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
495 
496     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)497     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
498 };
499 
500 //	----------------------------------------------------
501 //	class VCLXFixedText
502 //	----------------------------------------------------
503 class VCLXFixedText :	public ::com::sun::star::awt::XFixedText,
504 						public VCLXWindow
505 {
506 protected:
507 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > CreateAccessibleContext();
508 
509 public:
510 						VCLXFixedText();
511 						~VCLXFixedText();
512 
513 	// ::com::sun::star::uno::XInterface
514     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()515 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()516 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
517 
518     // ::com::sun::star::lang::XTypeProvider
519 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
520 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
521 
522 	// ::com::sun::star::awt::XFixedText
523     void SAL_CALL setText( const ::rtl::OUString& Text ) throw(::com::sun::star::uno::RuntimeException);
524     ::rtl::OUString SAL_CALL getText(  ) throw(::com::sun::star::uno::RuntimeException);
525     void SAL_CALL setAlignment( sal_Int16 nAlign ) throw(::com::sun::star::uno::RuntimeException);
526     sal_Int16 SAL_CALL getAlignment(  ) throw(::com::sun::star::uno::RuntimeException);
527 
528 	// ::com::sun::star::awt::XLayoutConstrains
529     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
530     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
531     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& rNewSize ) throw(::com::sun::star::uno::RuntimeException);
532 
533     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)534     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
535 };
536 
537 //	----------------------------------------------------
538 //	class VCLXScrollBar
539 //	----------------------------------------------------
540 class VCLXScrollBar :	public ::com::sun::star::awt::XScrollBar,
541 						public VCLXWindow
542 {
543 private:
544 	AdjustmentListenerMultiplexer maAdjustmentListeners;
545 
546 protected:
547     void            ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
548 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > CreateAccessibleContext();
549 
550 public:
551 					VCLXScrollBar();
552 	// ::com::sun::star::uno::XInterface
553     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()554 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()555 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
556 
557     // ::com::sun::star::lang::XTypeProvider
558 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
559 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
560 
561 
562 	// ::com::sun::star::lang::XComponent
563     void SAL_CALL dispose(  ) throw(::com::sun::star::uno::RuntimeException);
564 
565 	// ::com::sun::star::awt::XScrollbar
566     void SAL_CALL addAdjustmentListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XAdjustmentListener >& l ) throw(::com::sun::star::uno::RuntimeException);
567     void SAL_CALL removeAdjustmentListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XAdjustmentListener >& l ) throw(::com::sun::star::uno::RuntimeException);
568     void SAL_CALL setValue( sal_Int32 n ) throw(::com::sun::star::uno::RuntimeException);
569     void SAL_CALL setValues( sal_Int32 nValue, sal_Int32 nVisible, sal_Int32 nMax ) throw(::com::sun::star::uno::RuntimeException);
570     sal_Int32 SAL_CALL getValue(  ) throw(::com::sun::star::uno::RuntimeException);
571     void SAL_CALL setMaximum( sal_Int32 n ) throw(::com::sun::star::uno::RuntimeException);
572     sal_Int32 SAL_CALL getMaximum(  ) throw(::com::sun::star::uno::RuntimeException);
573     void SAL_CALL setLineIncrement( sal_Int32 n ) throw(::com::sun::star::uno::RuntimeException);
574     sal_Int32 SAL_CALL getLineIncrement(  ) throw(::com::sun::star::uno::RuntimeException);
575     void SAL_CALL setBlockIncrement( sal_Int32 n ) throw(::com::sun::star::uno::RuntimeException);
576     sal_Int32 SAL_CALL getBlockIncrement(  ) throw(::com::sun::star::uno::RuntimeException);
577     void SAL_CALL setVisibleSize( sal_Int32 n ) throw(::com::sun::star::uno::RuntimeException);
578     sal_Int32 SAL_CALL getVisibleSize(  ) throw(::com::sun::star::uno::RuntimeException);
579     void SAL_CALL setOrientation( sal_Int32 n ) throw(::com::sun::star::uno::RuntimeException);
580     sal_Int32 SAL_CALL getOrientation(  ) throw(::com::sun::star::uno::RuntimeException);
581 
582     // why isn't this part of the XScrollbar?
583     void SAL_CALL setMinimum( sal_Int32 n ) throw(::com::sun::star::uno::RuntimeException);
584     sal_Int32 SAL_CALL getMinimum(  ) throw(::com::sun::star::uno::RuntimeException);
585 
586 	// ::com::sun::star::awt::VclWindowPeer
587     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
588     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
589 
590     // ::com::sun::star::awt::XLayoutConstrains
591     ::com::sun::star::awt::Size SAL_CALL getMinimumSize() throw(::com::sun::star::uno::RuntimeException);
592     static ::com::sun::star::awt::Size SAL_CALL implGetMinimumSize( Window* p ) throw(::com::sun::star::uno::RuntimeException);
593 
594     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)595     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
596 };
597 
598 //	----------------------------------------------------
599 //	class VCLXEdit
600 //	----------------------------------------------------
601 class TOOLKIT_DLLPUBLIC VCLXEdit :	public ::com::sun::star::awt::XTextComponent,
602 					public ::com::sun::star::awt::XTextEditField,
603 					public ::com::sun::star::awt::XTextLayoutConstrains,
604 					public VCLXWindow
605 {
606 private:
607 	TextListenerMultiplexer maTextListeners;
608 
609 protected:
610     void            ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
611 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > CreateAccessibleContext();
612 
613 
614 public:
615 					VCLXEdit();
616 
GetTextListeners()617 	TextListenerMultiplexer&	GetTextListeners() { return maTextListeners; }
618 
619 	// ::com::sun::star::uno::XInterface
620     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()621 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()622 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
623 
624     // ::com::sun::star::lang::XTypeProvider
625 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
626 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
627 
628 
629 	// ::com::sun::star::lang::XComponent
630     void SAL_CALL dispose(  ) throw(::com::sun::star::uno::RuntimeException);
631 
632 	// ::com::sun::star::awt::XTextComponent
633     void SAL_CALL addTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException);
634     void SAL_CALL removeTextListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l ) throw(::com::sun::star::uno::RuntimeException);
635     void SAL_CALL setText( const ::rtl::OUString& aText ) throw(::com::sun::star::uno::RuntimeException);
636     void SAL_CALL insertText( const ::com::sun::star::awt::Selection& Sel, const ::rtl::OUString& Text ) throw(::com::sun::star::uno::RuntimeException);
637     ::rtl::OUString SAL_CALL getText(  ) throw(::com::sun::star::uno::RuntimeException);
638     ::rtl::OUString SAL_CALL getSelectedText(  ) throw(::com::sun::star::uno::RuntimeException);
639     void SAL_CALL setSelection( const ::com::sun::star::awt::Selection& aSelection ) throw(::com::sun::star::uno::RuntimeException);
640     ::com::sun::star::awt::Selection SAL_CALL getSelection(  ) throw(::com::sun::star::uno::RuntimeException);
641     sal_Bool SAL_CALL isEditable(  ) throw(::com::sun::star::uno::RuntimeException);
642     void SAL_CALL setEditable( sal_Bool bEditable ) throw(::com::sun::star::uno::RuntimeException);
643     void SAL_CALL setMaxTextLen( sal_Int16 nLen ) throw(::com::sun::star::uno::RuntimeException);
644     sal_Int16 SAL_CALL getMaxTextLen(  ) throw(::com::sun::star::uno::RuntimeException);
645 
646 	// ::com::sun::star::awt::XTextEditField:
647     void SAL_CALL setEchoChar( sal_Unicode cEcho ) throw(::com::sun::star::uno::RuntimeException);
648 
649 	// ::com::sun::star::awt::XLayoutConstrains
650     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
651     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
652     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& rNewSize ) throw(::com::sun::star::uno::RuntimeException);
653 
654 	// ::com::sun::star::awt::XTextLayoutConstrains
655     ::com::sun::star::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) throw(::com::sun::star::uno::RuntimeException);
656     void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) throw(::com::sun::star::uno::RuntimeException);
657 
658 	// ::com::sun::star::awt::VclWindowPeer
659     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
660     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
661 
662     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)663     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
664 };
665 
666 //	----------------------------------------------------
667 //	class VCLXListBox
668 //	----------------------------------------------------
669 typedef ::cppu::ImplInheritanceHelper3  <   VCLXWindow
670                                         ,   ::com::sun::star::awt::XListBox
671                                         ,   ::com::sun::star::awt::XTextLayoutConstrains
672                                         ,   ::com::sun::star::awt::XItemListListener
673                                         >   VCLXListBox_Base;
674 class VCLXListBox  : public VCLXListBox_Base
675 {
676 private:
677 	ActionListenerMultiplexer	maActionListeners;
678 	ItemListenerMultiplexer		maItemListeners;
679 
680 protected:
681     virtual void	ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
682 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
683 					CreateAccessibleContext();
684     void            ImplCallItemListeners();
685 
686 public:
687 						VCLXListBox();
688 
689 	// ::com::sun::star::lang::XComponent
690     void SAL_CALL dispose(  ) throw(::com::sun::star::uno::RuntimeException);
691 
692     // ::com::sun::star::awt::XListBox
693     void SAL_CALL addItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
694     void SAL_CALL removeItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
695     void SAL_CALL addActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
696     void SAL_CALL removeActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
697     void SAL_CALL addItem( const ::rtl::OUString& aItem, sal_Int16 nPos ) throw(::com::sun::star::uno::RuntimeException);
698     void SAL_CALL addItems( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aItems, sal_Int16 nPos ) throw(::com::sun::star::uno::RuntimeException);
699     void SAL_CALL removeItems( sal_Int16 nPos, sal_Int16 nCount ) throw(::com::sun::star::uno::RuntimeException);
700     sal_Int16 SAL_CALL getItemCount(  ) throw(::com::sun::star::uno::RuntimeException);
701     ::rtl::OUString SAL_CALL getItem( sal_Int16 nPos ) throw(::com::sun::star::uno::RuntimeException);
702     ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getItems(  ) throw(::com::sun::star::uno::RuntimeException);
703     sal_Int16 SAL_CALL getSelectedItemPos(  ) throw(::com::sun::star::uno::RuntimeException);
704     ::com::sun::star::uno::Sequence< sal_Int16 > SAL_CALL getSelectedItemsPos(  ) throw(::com::sun::star::uno::RuntimeException);
705     ::rtl::OUString SAL_CALL getSelectedItem(  ) throw(::com::sun::star::uno::RuntimeException);
706     ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSelectedItems(  ) throw(::com::sun::star::uno::RuntimeException);
707     void SAL_CALL selectItemPos( sal_Int16 nPos, sal_Bool bSelect ) throw(::com::sun::star::uno::RuntimeException);
708     void SAL_CALL selectItemsPos( const ::com::sun::star::uno::Sequence< sal_Int16 >& aPositions, sal_Bool bSelect ) throw(::com::sun::star::uno::RuntimeException);
709     void SAL_CALL selectItem( const ::rtl::OUString& aItem, sal_Bool bSelect ) throw(::com::sun::star::uno::RuntimeException);
710     sal_Bool SAL_CALL isMutipleMode(  ) throw(::com::sun::star::uno::RuntimeException);
711     void SAL_CALL setMultipleMode( sal_Bool bMulti ) throw(::com::sun::star::uno::RuntimeException);
712     sal_Int16 SAL_CALL getDropDownLineCount(  ) throw(::com::sun::star::uno::RuntimeException);
713     void SAL_CALL setDropDownLineCount( sal_Int16 nLines ) throw(::com::sun::star::uno::RuntimeException);
714     void SAL_CALL makeVisible( sal_Int16 nEntry ) throw(::com::sun::star::uno::RuntimeException);
715 
716 	// ::com::sun::star::awt::XLayoutConstrains
717     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
718     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
719     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& rNewSize ) throw(::com::sun::star::uno::RuntimeException);
720 
721 	// ::com::sun::star::awt::XTextLayoutConstrains
722     ::com::sun::star::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) throw(::com::sun::star::uno::RuntimeException);
723     void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) throw(::com::sun::star::uno::RuntimeException);
724 
725 	// ::com::sun::star::awt::VclWindowPeer
726     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
727     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
728 
729     // XItemListListener
730     virtual void SAL_CALL listItemInserted( const ::com::sun::star::awt::ItemListEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
731     virtual void SAL_CALL listItemRemoved( const ::com::sun::star::awt::ItemListEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
732     virtual void SAL_CALL listItemModified( const ::com::sun::star::awt::ItemListEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
733     virtual void SAL_CALL allItemsRemoved( const ::com::sun::star::lang::EventObject& Event ) throw (::com::sun::star::uno::RuntimeException);
734     virtual void SAL_CALL itemListChanged( const ::com::sun::star::lang::EventObject& Event ) throw (::com::sun::star::uno::RuntimeException);
735 
736     // XEventListener
737     virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& i_rEvent ) throw (::com::sun::star::uno::RuntimeException);
738 
739     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)740     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
741 };
742 
743 //	----------------------------------------------------
744 //	class VCLXComboBox
745 //	----------------------------------------------------
746 typedef ::cppu::ImplInheritanceHelper2  <   VCLXEdit
747                                         ,   ::com::sun::star::awt::XComboBox
748                                         ,   ::com::sun::star::awt::XItemListListener > VCLXComboBox_Base;
749 class VCLXComboBox :	public VCLXComboBox_Base
750 {
751 private:
752 	ActionListenerMultiplexer	maActionListeners;
753 	ItemListenerMultiplexer		maItemListeners;
754 
755 protected:
756     void            ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
757 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > CreateAccessibleContext();
758 
759 
760 public:
761 						VCLXComboBox();
762     ~VCLXComboBox();
763 
764  	// ::com::sun::star::lang::XComponent
765     void SAL_CALL dispose(  ) throw(::com::sun::star::uno::RuntimeException);
766 
767 	// ::com::sun::star::awt::XComboBox
768     void SAL_CALL addItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
769     void SAL_CALL removeItemListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l ) throw(::com::sun::star::uno::RuntimeException);
770     void SAL_CALL addActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
771     void SAL_CALL removeActionListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l ) throw(::com::sun::star::uno::RuntimeException);
772     void SAL_CALL addItem( const ::rtl::OUString& aItem, sal_Int16 nPos ) throw(::com::sun::star::uno::RuntimeException);
773     void SAL_CALL addItems( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aItems, sal_Int16 nPos ) throw(::com::sun::star::uno::RuntimeException);
774     void SAL_CALL removeItems( sal_Int16 nPos, sal_Int16 nCount ) throw(::com::sun::star::uno::RuntimeException);
775     sal_Int16 SAL_CALL getItemCount(  ) throw(::com::sun::star::uno::RuntimeException);
776     ::rtl::OUString SAL_CALL getItem( sal_Int16 nPos ) throw(::com::sun::star::uno::RuntimeException);
777     ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getItems(  ) throw(::com::sun::star::uno::RuntimeException);
778     sal_Int16 SAL_CALL getDropDownLineCount(  ) throw(::com::sun::star::uno::RuntimeException);
779     void SAL_CALL setDropDownLineCount( sal_Int16 nLines ) throw(::com::sun::star::uno::RuntimeException);
780 
781 	// ::com::sun::star::awt::XLayoutConstrains
782     ::com::sun::star::awt::Size SAL_CALL getMinimumSize(  ) throw(::com::sun::star::uno::RuntimeException);
783     ::com::sun::star::awt::Size SAL_CALL getPreferredSize(  ) throw(::com::sun::star::uno::RuntimeException);
784     ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& rNewSize ) throw(::com::sun::star::uno::RuntimeException);
785 
786 	// ::com::sun::star::awt::XTextLayoutConstrains
787     ::com::sun::star::awt::Size SAL_CALL getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) throw(::com::sun::star::uno::RuntimeException);
788     void SAL_CALL getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) throw(::com::sun::star::uno::RuntimeException);
789 
790 	// ::com::sun::star::awt::VclWindowPeer
791     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
792     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
793 
794     // XItemListListener
795     virtual void SAL_CALL listItemInserted( const ::com::sun::star::awt::ItemListEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
796     virtual void SAL_CALL listItemRemoved( const ::com::sun::star::awt::ItemListEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
797     virtual void SAL_CALL listItemModified( const ::com::sun::star::awt::ItemListEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
798     virtual void SAL_CALL allItemsRemoved( const ::com::sun::star::lang::EventObject& Event ) throw (::com::sun::star::uno::RuntimeException);
799     virtual void SAL_CALL itemListChanged( const ::com::sun::star::lang::EventObject& Event ) throw (::com::sun::star::uno::RuntimeException);
800     // XEventListener
801     virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& i_rEvent ) throw (::com::sun::star::uno::RuntimeException);
802 
803     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)804     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
805 };
806 
807 //	----------------------------------------------------
808 //	class VCLXSpinField
809 //	----------------------------------------------------
810 class TOOLKIT_DLLPUBLIC VCLXSpinField :	public ::com::sun::star::awt::XSpinField,
811 						public VCLXEdit
812 {
813 private:
814 	SpinListenerMultiplexer	maSpinListeners;
815 
816 protected:
817     void            ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent );
818 
819 public:
820 					VCLXSpinField();
821 
822 	// ::com::sun::star::uno::XInterface
823     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()824 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()825 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
826 
827     // ::com::sun::star::lang::XTypeProvider
828 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
829 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
830 
831 
832 	// ::com::sun::star::awt::XSpinField
833     void SAL_CALL addSpinListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XSpinListener >& l ) throw(::com::sun::star::uno::RuntimeException);
834     void SAL_CALL removeSpinListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XSpinListener >& l ) throw(::com::sun::star::uno::RuntimeException);
835     void SAL_CALL up(  ) throw(::com::sun::star::uno::RuntimeException);
836     void SAL_CALL down(  ) throw(::com::sun::star::uno::RuntimeException);
837     void SAL_CALL first(  ) throw(::com::sun::star::uno::RuntimeException);
838     void SAL_CALL last(  ) throw(::com::sun::star::uno::RuntimeException);
839     void SAL_CALL enableRepeat( sal_Bool bRepeat ) throw(::com::sun::star::uno::RuntimeException);
840 
841     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)842     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
843 };
844 
845 //	----------------------------------------------------
846 //	class VCLXFormattedSpinField
847 //	----------------------------------------------------
848 class VCLXFormattedSpinField : public VCLXSpinField
849 {
850 private:
851 	FormatterBase*	mpFormatter;
852 
853 protected:
GetFormatter() const854 	FormatterBase*	GetFormatter() const { return GetWindow() ? mpFormatter : NULL; }
855 
856 public:
857 					VCLXFormattedSpinField();
858 					~VCLXFormattedSpinField();
859 
SetFormatter(FormatterBase * pFormatter)860 	void			SetFormatter( FormatterBase* pFormatter ) { mpFormatter = pFormatter; }
861 
862 	void 			setStrictFormat( sal_Bool bStrict );
863     sal_Bool 		isStrictFormat();
864 
865 	// ::com::sun::star::awt::VclWindowPeer
866     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
867     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
868 
869     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)870     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
871 };
872 
873 //	----------------------------------------------------
874 //	class VCLXDateField
875 //	----------------------------------------------------
876 class TOOLKIT_DLLPUBLIC VCLXDateField :	public ::com::sun::star::awt::XDateField,
877 						public VCLXFormattedSpinField
878 {
879 protected:
880 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > CreateAccessibleContext();
881 public:
882 					VCLXDateField();
883 					~VCLXDateField();
884 
885 	// ::com::sun::star::uno::XInterface
886     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()887 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()888 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
889 
890     // ::com::sun::star::lang::XTypeProvider
891 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
892 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
893 
894 
895 	// ::com::sun::star::awt::XDateField
896     void SAL_CALL setDate( sal_Int32 Date ) throw(::com::sun::star::uno::RuntimeException);
897     sal_Int32 SAL_CALL getDate(  ) throw(::com::sun::star::uno::RuntimeException);
898     void SAL_CALL setMin( sal_Int32 Date ) throw(::com::sun::star::uno::RuntimeException);
899     sal_Int32 SAL_CALL getMin(  ) throw(::com::sun::star::uno::RuntimeException);
900     void SAL_CALL setMax( sal_Int32 Date ) throw(::com::sun::star::uno::RuntimeException);
901     sal_Int32 SAL_CALL getMax(  ) throw(::com::sun::star::uno::RuntimeException);
902     void SAL_CALL setFirst( sal_Int32 Date ) throw(::com::sun::star::uno::RuntimeException);
903     sal_Int32 SAL_CALL getFirst(  ) throw(::com::sun::star::uno::RuntimeException);
904     void SAL_CALL setLast( sal_Int32 Date ) throw(::com::sun::star::uno::RuntimeException);
905     sal_Int32 SAL_CALL getLast(  ) throw(::com::sun::star::uno::RuntimeException);
906     void SAL_CALL setLongFormat( sal_Bool bLong ) throw(::com::sun::star::uno::RuntimeException);
907     sal_Bool SAL_CALL isLongFormat(  ) throw(::com::sun::star::uno::RuntimeException);
908     void SAL_CALL setEmpty(  ) throw(::com::sun::star::uno::RuntimeException);
909     sal_Bool SAL_CALL isEmpty(  ) throw(::com::sun::star::uno::RuntimeException);
910     void SAL_CALL setStrictFormat( sal_Bool bStrict ) throw(::com::sun::star::uno::RuntimeException);
911     sal_Bool SAL_CALL isStrictFormat(  ) throw(::com::sun::star::uno::RuntimeException);
912 
913 	// ::com::sun::star::awt::VclWindowPeer
914     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
915     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
916 
917     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)918     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
919 };
920 
921 //	----------------------------------------------------
922 //	class VCLXTimeField
923 //	----------------------------------------------------
924 class VCLXTimeField :	public ::com::sun::star::awt::XTimeField,
925 						public VCLXFormattedSpinField
926 {
927 protected:
928 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > CreateAccessibleContext();
929 public:
930 					VCLXTimeField();
931 					~VCLXTimeField();
932 
933 	// ::com::sun::star::uno::XInterface
934     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()935 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()936 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
937 
938     // ::com::sun::star::lang::XTypeProvider
939 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
940 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
941 
942 	// ::com::sun::star::awt::XTimeField
943     void SAL_CALL setTime( sal_Int32 Time ) throw(::com::sun::star::uno::RuntimeException);
944     sal_Int32 SAL_CALL getTime(  ) throw(::com::sun::star::uno::RuntimeException);
945     void SAL_CALL setMin( sal_Int32 Time ) throw(::com::sun::star::uno::RuntimeException);
946     sal_Int32 SAL_CALL getMin(  ) throw(::com::sun::star::uno::RuntimeException);
947     void SAL_CALL setMax( sal_Int32 Time ) throw(::com::sun::star::uno::RuntimeException);
948     sal_Int32 SAL_CALL getMax(  ) throw(::com::sun::star::uno::RuntimeException);
949     void SAL_CALL setFirst( sal_Int32 Time ) throw(::com::sun::star::uno::RuntimeException);
950     sal_Int32 SAL_CALL getFirst(  ) throw(::com::sun::star::uno::RuntimeException);
951     void SAL_CALL setLast( sal_Int32 Time ) throw(::com::sun::star::uno::RuntimeException);
952     sal_Int32 SAL_CALL getLast(  ) throw(::com::sun::star::uno::RuntimeException);
953     void SAL_CALL setEmpty(  ) throw(::com::sun::star::uno::RuntimeException);
954     sal_Bool SAL_CALL isEmpty(  ) throw(::com::sun::star::uno::RuntimeException);
955     void SAL_CALL setStrictFormat( sal_Bool bStrict ) throw(::com::sun::star::uno::RuntimeException);
956     sal_Bool SAL_CALL isStrictFormat(  ) throw(::com::sun::star::uno::RuntimeException);
957 
958 	// ::com::sun::star::awt::VclWindowPeer
959     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
960     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
961 
962     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)963     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
964 };
965 
966 //	----------------------------------------------------
967 //	class VCLXNumericField
968 //	----------------------------------------------------
969 class VCLXNumericField :	public ::com::sun::star::awt::XNumericField,
970 							public VCLXFormattedSpinField
971 {
972 public:
973 					VCLXNumericField();
974 					~VCLXNumericField();
975 
976 	// ::com::sun::star::uno::XInterface
977     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()978 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()979 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
980 
981     // ::com::sun::star::lang::XTypeProvider
982 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
983 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
984 
985 	// ::com::sun::star::awt::XNumericField
986     void SAL_CALL setValue( double Value ) throw(::com::sun::star::uno::RuntimeException);
987     double SAL_CALL getValue(  ) throw(::com::sun::star::uno::RuntimeException);
988     void SAL_CALL setMin( double Value ) throw(::com::sun::star::uno::RuntimeException);
989     double SAL_CALL getMin(  ) throw(::com::sun::star::uno::RuntimeException);
990     void SAL_CALL setMax( double Value ) throw(::com::sun::star::uno::RuntimeException);
991     double SAL_CALL getMax(  ) throw(::com::sun::star::uno::RuntimeException);
992     void SAL_CALL setFirst( double Value ) throw(::com::sun::star::uno::RuntimeException);
993     double SAL_CALL getFirst(  ) throw(::com::sun::star::uno::RuntimeException);
994     void SAL_CALL setLast( double Value ) throw(::com::sun::star::uno::RuntimeException);
995     double SAL_CALL getLast(  ) throw(::com::sun::star::uno::RuntimeException);
996     void SAL_CALL setSpinSize( double Value ) throw(::com::sun::star::uno::RuntimeException);
997     double SAL_CALL getSpinSize(  ) throw(::com::sun::star::uno::RuntimeException);
998     void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) throw(::com::sun::star::uno::RuntimeException);
999     sal_Int16 SAL_CALL getDecimalDigits(  ) throw(::com::sun::star::uno::RuntimeException);
1000     void SAL_CALL setStrictFormat( sal_Bool bStrict ) throw(::com::sun::star::uno::RuntimeException);
1001     sal_Bool SAL_CALL isStrictFormat(  ) throw(::com::sun::star::uno::RuntimeException);
1002 
1003 	// ::com::sun::star::awt::VclWindowPeer
1004     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
1005     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
1006 
1007     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)1008     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
1009 };
1010 
1011 //	----------------------------------------------------
1012 //	class VCLXMetricField
1013 //	----------------------------------------------------
1014 class MetricFormatter;
1015 class MetricField;
1016 class VCLXMetricField :	public ::com::sun::star::awt::XMetricField,
1017                         public VCLXFormattedSpinField
1018 {
1019     MetricFormatter *GetMetricFormatter() throw(::com::sun::star::uno::RuntimeException);
1020     MetricField     *GetMetricField() throw(::com::sun::star::uno::RuntimeException);
1021     void CallListeners();
1022 public:
1023     VCLXMetricField();
1024     ~VCLXMetricField();
1025 
1026 	// ::com::sun::star::uno::XInterface
1027     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()1028 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()1029 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
1030 
1031     // ::com::sun::star::lang::XTypeProvider
1032 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
1033 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
1034 
1035 	// ::com::sun::star::awt::XMetricField
1036     virtual void SAL_CALL setValue( ::sal_Int64 Value, ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1037     virtual void SAL_CALL setUserValue( ::sal_Int64 Value, ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1038     virtual ::sal_Int64 SAL_CALL getValue( ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1039     virtual ::sal_Int64 SAL_CALL getCorrectedValue( ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1040     virtual void SAL_CALL setMin( ::sal_Int64 Value, ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1041     virtual ::sal_Int64 SAL_CALL getMin( ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1042     virtual void SAL_CALL setMax( ::sal_Int64 Value, ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1043     virtual ::sal_Int64 SAL_CALL getMax( ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1044     virtual void SAL_CALL setFirst( ::sal_Int64 Value, ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1045     virtual ::sal_Int64 SAL_CALL getFirst( ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1046     virtual void SAL_CALL setLast( ::sal_Int64 Value, ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1047     virtual ::sal_Int64 SAL_CALL getLast( ::sal_Int16 Unit ) throw (::com::sun::star::uno::RuntimeException);
1048     virtual void SAL_CALL setSpinSize( ::sal_Int64 Value ) throw (::com::sun::star::uno::RuntimeException);
1049     virtual ::sal_Int64 SAL_CALL getSpinSize(  ) throw (::com::sun::star::uno::RuntimeException);
1050     virtual void SAL_CALL setDecimalDigits( ::sal_Int16 nDigits ) throw (::com::sun::star::uno::RuntimeException);
1051     virtual ::sal_Int16 SAL_CALL getDecimalDigits(  ) throw (::com::sun::star::uno::RuntimeException);
1052     virtual void SAL_CALL setStrictFormat( ::sal_Bool bStrict ) throw (::com::sun::star::uno::RuntimeException);
1053     virtual ::sal_Bool SAL_CALL isStrictFormat(  ) throw (::com::sun::star::uno::RuntimeException);
1054 
1055 	// ::com::sun::star::awt::VclWindowPeer
1056     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
1057     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
1058 
1059     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)1060     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
1061 };
1062 
1063 //	----------------------------------------------------
1064 //	class VCLXCurrencyField
1065 //	----------------------------------------------------
1066 class VCLXCurrencyField :	public ::com::sun::star::awt::XCurrencyField,
1067 							public VCLXFormattedSpinField
1068 {
1069 public:
1070 					VCLXCurrencyField();
1071 					~VCLXCurrencyField();
1072 
1073 	// ::com::sun::star::uno::XInterface
1074     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()1075 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()1076 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
1077 
1078     // ::com::sun::star::lang::XTypeProvider
1079 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
1080 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
1081 
1082 
1083 	// ::com::sun::star::awt::XCurrencyField
1084     void SAL_CALL setValue( double Value ) throw(::com::sun::star::uno::RuntimeException);
1085     double SAL_CALL getValue(  ) throw(::com::sun::star::uno::RuntimeException);
1086     void SAL_CALL setMin( double Value ) throw(::com::sun::star::uno::RuntimeException);
1087     double SAL_CALL getMin(  ) throw(::com::sun::star::uno::RuntimeException);
1088     void SAL_CALL setMax( double Value ) throw(::com::sun::star::uno::RuntimeException);
1089     double SAL_CALL getMax(  ) throw(::com::sun::star::uno::RuntimeException);
1090     void SAL_CALL setFirst( double Value ) throw(::com::sun::star::uno::RuntimeException);
1091     double SAL_CALL getFirst(  ) throw(::com::sun::star::uno::RuntimeException);
1092     void SAL_CALL setLast( double Value ) throw(::com::sun::star::uno::RuntimeException);
1093     double SAL_CALL getLast(  ) throw(::com::sun::star::uno::RuntimeException);
1094     void SAL_CALL setSpinSize( double Value ) throw(::com::sun::star::uno::RuntimeException);
1095     double SAL_CALL getSpinSize(  ) throw(::com::sun::star::uno::RuntimeException);
1096     void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) throw(::com::sun::star::uno::RuntimeException);
1097     sal_Int16 SAL_CALL getDecimalDigits(  ) throw(::com::sun::star::uno::RuntimeException);
1098     void SAL_CALL setStrictFormat( sal_Bool bStrict ) throw(::com::sun::star::uno::RuntimeException);
1099     sal_Bool SAL_CALL isStrictFormat(  ) throw(::com::sun::star::uno::RuntimeException);
1100 
1101 	// ::com::sun::star::awt::VclWindowPeer
1102     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
1103     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
1104 
1105     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)1106     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
1107 };
1108 
1109 //	----------------------------------------------------
1110 //	class VCLXPatternField
1111 //	----------------------------------------------------
1112 class VCLXPatternField :	public ::com::sun::star::awt::XPatternField,
1113 							public VCLXFormattedSpinField
1114 {
1115 public:
1116 					VCLXPatternField();
1117 					~VCLXPatternField();
1118 
1119 	// ::com::sun::star::uno::XInterface
1120     ::com::sun::star::uno::Any					SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
acquire()1121 	void										SAL_CALL acquire() throw()	{ OWeakObject::acquire(); }
release()1122 	void										SAL_CALL release() throw()	{ OWeakObject::release(); }
1123 
1124     // ::com::sun::star::lang::XTypeProvider
1125 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >	SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException);
1126 	::com::sun::star::uno::Sequence< sal_Int8 >						SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
1127 
1128 
1129 	// ::com::sun::star::awt::XPatternField
1130     void SAL_CALL setMasks( const ::rtl::OUString& EditMask, const ::rtl::OUString& LiteralMask ) throw(::com::sun::star::uno::RuntimeException);
1131     void SAL_CALL getMasks( ::rtl::OUString& EditMask, ::rtl::OUString& LiteralMask ) throw(::com::sun::star::uno::RuntimeException);
1132     void SAL_CALL setString( const ::rtl::OUString& Str ) throw(::com::sun::star::uno::RuntimeException);
1133     ::rtl::OUString SAL_CALL getString(  ) throw(::com::sun::star::uno::RuntimeException);
1134     void SAL_CALL setStrictFormat( sal_Bool bStrict ) throw(::com::sun::star::uno::RuntimeException);
1135     sal_Bool SAL_CALL isStrictFormat(  ) throw(::com::sun::star::uno::RuntimeException);
1136 
1137 	// ::com::sun::star::awt::VclWindowPeer
1138     void SAL_CALL setProperty( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Any& Value ) throw(::com::sun::star::uno::RuntimeException);
1139     ::com::sun::star::uno::Any SAL_CALL getProperty( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
1140 
1141     static void     ImplGetPropertyIds( std::list< sal_uInt16 > &aIds );
GetPropertyIds(std::list<sal_uInt16> & aIds)1142     virtual void    GetPropertyIds( std::list< sal_uInt16 > &aIds ) { return ImplGetPropertyIds( aIds ); }
1143 };
1144 
1145 //	----------------------------------------------------
1146 //	class VCLXToolBox
1147 //	----------------------------------------------------
1148 class VCLXToolBox :	public VCLXWindow
1149 {
1150 private:
1151 
1152 protected:
1153 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
1154 						CreateAccessibleContext();
1155 
1156 public:
1157 						VCLXToolBox();
1158 						~VCLXToolBox();
1159 };
1160 
1161 #endif // _TOOLKIT_AWT_VCLXWINDOWS_HXX_
1162 
1163