xref: /AOO41X/main/UnoControls/inc/basecontrol.hxx (revision 47148b3bc50811ceb41802e4cc50a5db21535900)
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 _UNOCONTROLS_BASECONTROL_CTRL_HXX
25 #define _UNOCONTROLS_BASECONTROL_CTRL_HXX
26 
27 //____________________________________________________________________________________________________________
28 //  includes of other projects
29 //____________________________________________________________________________________________________________
30 
31 #include <com/sun/star/awt/XKeyListener.hpp>
32 #include <com/sun/star/awt/XPaintListener.hpp>
33 #include <com/sun/star/awt/KeyEvent.hpp>
34 #include <com/sun/star/awt/KeyModifier.hpp>
35 #include <com/sun/star/awt/XMouseMotionListener.hpp>
36 #include <com/sun/star/awt/FocusEvent.hpp>
37 #include <com/sun/star/awt/XWindowListener.hpp>
38 #include <com/sun/star/awt/XActivateListener.hpp>
39 #include <com/sun/star/awt/MouseEvent.hpp>
40 #include <com/sun/star/awt/XTopWindowListener.hpp>
41 #include <com/sun/star/awt/PaintEvent.hpp>
42 #include <com/sun/star/awt/InputEvent.hpp>
43 #include <com/sun/star/awt/KeyGroup.hpp>
44 #include <com/sun/star/awt/Key.hpp>
45 #include <com/sun/star/awt/WindowEvent.hpp>
46 #include <com/sun/star/awt/XMouseListener.hpp>
47 #include <com/sun/star/awt/KeyFunction.hpp>
48 #include <com/sun/star/awt/FocusChangeReason.hpp>
49 #include <com/sun/star/awt/MouseButton.hpp>
50 #include <com/sun/star/awt/XFocusListener.hpp>
51 #include <com/sun/star/awt/XFileDialog.hpp>
52 #include <com/sun/star/awt/XTextComponent.hpp>
53 #include <com/sun/star/awt/XListBox.hpp>
54 #include <com/sun/star/awt/XProgressMonitor.hpp>
55 #include <com/sun/star/awt/TextAlign.hpp>
56 #include <com/sun/star/awt/XScrollBar.hpp>
57 #include <com/sun/star/awt/XVclContainerPeer.hpp>
58 #include <com/sun/star/awt/XTabControllerModel.hpp>
59 #include <com/sun/star/awt/XMessageBox.hpp>
60 #include <com/sun/star/awt/XTextEditField.hpp>
61 #include <com/sun/star/awt/Style.hpp>
62 #include <com/sun/star/awt/XTimeField.hpp>
63 #include <com/sun/star/awt/XVclWindowPeer.hpp>
64 #include <com/sun/star/awt/XControlModel.hpp>
65 #include <com/sun/star/awt/XSpinField.hpp>
66 #include <com/sun/star/awt/XUnoControlContainer.hpp>
67 #include <com/sun/star/awt/XTextLayoutConstrains.hpp>
68 #include <com/sun/star/awt/XNumericField.hpp>
69 #include <com/sun/star/awt/XButton.hpp>
70 #include <com/sun/star/awt/XTextArea.hpp>
71 #include <com/sun/star/awt/XImageButton.hpp>
72 #include <com/sun/star/awt/XFixedText.hpp>
73 #include <com/sun/star/awt/XControlContainer.hpp>
74 #include <com/sun/star/awt/XDialog.hpp>
75 #include <com/sun/star/awt/ScrollBarOrientation.hpp>
76 #include <com/sun/star/awt/XRadioButton.hpp>
77 #include <com/sun/star/awt/XCurrencyField.hpp>
78 #include <com/sun/star/awt/XPatternField.hpp>
79 #include <com/sun/star/awt/VclWindowPeerAttribute.hpp>
80 #include <com/sun/star/awt/XTabController.hpp>
81 #include <com/sun/star/awt/XVclContainer.hpp>
82 #include <com/sun/star/awt/XDateField.hpp>
83 #include <com/sun/star/awt/XComboBox.hpp>
84 #include <com/sun/star/awt/XControl.hpp>
85 #include <com/sun/star/awt/XCheckBox.hpp>
86 #include <com/sun/star/awt/XLayoutConstrains.hpp>
87 #include <com/sun/star/awt/XProgressBar.hpp>
88 #include <com/sun/star/awt/XTopWindow.hpp>
89 #include <com/sun/star/awt/XWindow.hpp>
90 #include <com/sun/star/awt/PosSize.hpp>
91 #include <com/sun/star/awt/XView.hpp>
92 #include <com/sun/star/lang/XServiceInfo.hpp>
93 #include <osl/mutex.hxx>
94 #include <cppuhelper/weak.hxx>
95 #include <cppuhelper/component.hxx>
96 
97 //____________________________________________________________________________________________________________
98 //  includes of my project
99 //____________________________________________________________________________________________________________
100 #include "multiplexer.hxx"
101 
102 //____________________________________________________________________________________________________________
103 //  "namespaces"
104 //____________________________________________________________________________________________________________
105 
106 namespace unocontrols{
107 
108 #define UNO3_ANY                                    ::com::sun::star::uno::Any
109 #define UNO3_EVENTOBJECT                            ::com::sun::star::lang::EventObject
110 #define UNO3_MUTEX                                  ::osl::Mutex
111 #define UNO3_OCOMPONENTHELPER                       ::cppu::OComponentHelper
112 #define UNO3_OUSTRING                               ::rtl::OUString
113 #define UNO3_PAINTEVENT                             ::com::sun::star::awt::PaintEvent
114 #define UNO3_RECTANGLE                              ::com::sun::star::awt::Rectangle
115 #define UNO3_REFERENCE                              ::com::sun::star::uno::Reference
116 #define UNO3_RUNTIMEEXCEPTION                       ::com::sun::star::uno::RuntimeException
117 #define UNO3_SEQUENCE                               ::com::sun::star::uno::Sequence
118 #define UNO3_SIZE                                   ::com::sun::star::awt::Size
119 #define UNO3_TYPE                                   ::com::sun::star::uno::Type
120 #define UNO3_WINDOWDESCRIPTOR                       ::com::sun::star::awt::WindowDescriptor
121 #define UNO3_XCONTROL                               ::com::sun::star::awt::XControl
122 #define UNO3_XCONTROLMODEL                          ::com::sun::star::awt::XControlModel
123 #define UNO3_XEVENTLISTENER                         ::com::sun::star::lang::XEventListener
124 #define UNO3_XFOCUSLISTENER                         ::com::sun::star::awt::XFocusListener
125 #define UNO3_XGRAPHICS                              ::com::sun::star::awt::XGraphics
126 #define UNO3_XKEYLISTENER                           ::com::sun::star::awt::XKeyListener
127 #define UNO3_XMOUSELISTENER                         ::com::sun::star::awt::XMouseListener
128 #define UNO3_XMOUSEMOTIONLISTENER                   ::com::sun::star::awt::XMouseMotionListener
129 #define UNO3_XMULTISERVICEFACTORY                   ::com::sun::star::lang::XMultiServiceFactory
130 #define UNO3_XPAINTLISTENER                         ::com::sun::star::awt::XPaintListener
131 #define UNO3_XSERVICEINFO                           ::com::sun::star::lang::XServiceInfo
132 #define UNO3_XTOOLKIT                               ::com::sun::star::awt::XToolkit
133 #define UNO3_XVIEW                                  ::com::sun::star::awt::XView
134 #define UNO3_XWINDOW                                ::com::sun::star::awt::XWindow
135 #define UNO3_XWINDOWLISTENER                        ::com::sun::star::awt::XWindowListener
136 #define UNO3_XWINDOWPEER                            ::com::sun::star::awt::XWindowPeer
137 #define UNO3_XINTERFACE                             ::com::sun::star::uno::XInterface
138 
139 //____________________________________________________________________________________________________________
140 //  macros
141 //____________________________________________________________________________________________________________
142 
143 #define TRGB_COLORDATA(TRANSPARENCE,RED,GREEN,BLUE) \
144         ((sal_Int32)(((sal_uInt32)((sal_uInt8)(BLUE))))|(((sal_uInt32)((sal_uInt8)(GREEN)))<<8)|(((sal_uInt32)((sal_uInt8)(RED)))<<16)|(((sal_uInt32)((sal_uInt8)(TRANSPARENCE)))<<24))
145 
146 //____________________________________________________________________________________________________________
147 //  structs
148 //____________________________________________________________________________________________________________
149 
150 struct IMPL_MutexContainer
151 {
152     // Is necassery to initialize "BaseControl" and make this class thread-safe.
153     UNO3_MUTEX m_aMutex ;
154 };
155 
156 //____________________________________________________________________________________________________________
157 //  classes
158 //____________________________________________________________________________________________________________
159 
160 class BaseControl   : public UNO3_XSERVICEINFO
161                     , public UNO3_XPAINTLISTENER
162                     , public UNO3_XWINDOWLISTENER
163                     , public UNO3_XVIEW
164                     , public UNO3_XWINDOW
165                     , public UNO3_XCONTROL
166                     , public IMPL_MutexContainer
167                     , public UNO3_OCOMPONENTHELPER
168 {
169 //____________________________________________________________________________________________________________
170 //  public methods
171 //____________________________________________________________________________________________________________
172 
173 public:
174 
175     //________________________________________________________________________________________________________
176     //  construct/destruct
177     //________________________________________________________________________________________________________
178 
179     /**_______________________________________________________________________________________________________
180         @short      -
181         @descr      -
182 
183         @seealso    -
184 
185         @param      -
186 
187         @return     -
188 
189         @onerror    -
190     */
191 
192     BaseControl( const UNO3_REFERENCE< UNO3_XMULTISERVICEFACTORY >& xFactory );
193 
194     /**_______________________________________________________________________________________________________
195         @short      -
196         @descr      -
197 
198         @seealso    -
199 
200         @param      -
201 
202         @return     -
203 
204         @onerror    -
205     */
206 
207     virtual ~BaseControl();
208 
209     //________________________________________________________________________________________________________
210     //  XInterface
211     //________________________________________________________________________________________________________
212 
213     /**_______________________________________________________________________________________________________
214         @short      give answer, if interface is supported
215         @descr      The interfaces are searched by type.
216 
217         @seealso    XInterface
218 
219         @param      "rType" is the type of searched interface.
220 
221         @return     Any     information about found interface
222 
223         @onerror    A RuntimeException is thrown.
224     */
225 
226     virtual UNO3_ANY SAL_CALL queryInterface( const UNO3_TYPE& aType ) throw( UNO3_RUNTIMEEXCEPTION );
227 
228     /**_______________________________________________________________________________________________________
229         @short      increment refcount
230         @descr      -
231 
232         @seealso    XInterface
233         @seealso    release()
234 
235         @param      -
236 
237         @return     -
238 
239         @onerror    A RuntimeException is thrown.
240     */
241 
242     virtual void SAL_CALL acquire() throw();
243 
244     /**_______________________________________________________________________________________________________
245         @short      decrement refcount
246         @descr      -
247 
248         @seealso    XInterface
249         @seealso    acquire()
250 
251         @param      -
252 
253         @return     -
254 
255         @onerror    A RuntimeException is thrown.
256     */
257 
258     virtual void SAL_CALL release() throw();
259 
260     //________________________________________________________________________________________________________
261     //  XTypeProvider
262     //________________________________________________________________________________________________________
263 
264     /**_______________________________________________________________________________________________________
265         @short      get information about supported interfaces
266         @descr      -
267 
268         @seealso    XTypeProvider
269 
270         @param      -
271 
272         @return     Sequence of types of all supported interfaces
273 
274         @onerror    A RuntimeException is thrown.
275     */
276 
277     virtual UNO3_SEQUENCE< UNO3_TYPE > SAL_CALL getTypes() throw( UNO3_RUNTIMEEXCEPTION );
278 
279     /**_______________________________________________________________________________________________________
280         @short      get implementation id
281         @descr      This ID is neccessary for UNO-caching. If there no ID, cache is disabled.
282                     Another way, cache is enabled.
283 
284         @seealso    XTypeProvider
285 
286         @param      -
287 
288         @return     ID as Sequence of byte
289 
290         @onerror    A RuntimeException is thrown.
291     */
292 
293     virtual UNO3_SEQUENCE< sal_Int8 > SAL_CALL getImplementationId() throw( UNO3_RUNTIMEEXCEPTION );
294 
295     //________________________________________________________________________________________________________
296     //  XAggregation
297     //________________________________________________________________________________________________________
298 
299     /**_______________________________________________________________________________________________________
300         @short      -
301         @descr      -
302 
303         @seealso    -
304 
305         @param      -
306 
307         @return     -
308 
309         @onerror    -
310     */
311 
312     virtual void SAL_CALL setDelegator( const UNO3_REFERENCE< UNO3_XINTERFACE >& xDelegator ) throw( UNO3_RUNTIMEEXCEPTION );
313 
314     /**_______________________________________________________________________________________________________
315         @short      -
316         @descr      -
317 
318         @seealso    -
319 
320         @param      -
321 
322         @return     -
323 
324         @onerror    -
325     */
326 
327     virtual UNO3_ANY SAL_CALL queryAggregation( const UNO3_TYPE& aType ) throw( UNO3_RUNTIMEEXCEPTION );
328 
329     //________________________________________________________________________________________________________
330     //  XServiceInfo
331     //________________________________________________________________________________________________________
332 
333     /**_______________________________________________________________________________________________________
334         @short      -
335         @descr      -
336 
337         @seealso    -
338 
339         @param      -
340 
341         @return     -
342 
343         @onerror    -
344     */
345 
346     virtual sal_Bool SAL_CALL supportsService( const UNO3_OUSTRING& sServiceName ) throw( UNO3_RUNTIMEEXCEPTION );
347 
348     /**_______________________________________________________________________________________________________
349         @short      -
350         @descr      -
351 
352         @seealso    -
353 
354         @param      -
355 
356         @return     -
357 
358         @onerror    -
359     */
360 
361     virtual UNO3_OUSTRING SAL_CALL getImplementationName() throw( UNO3_RUNTIMEEXCEPTION );
362 
363     /**_______________________________________________________________________________________________________
364         @short      -
365         @descr      -
366 
367         @seealso    -
368 
369         @param      -
370 
371         @return     -
372 
373         @onerror    -
374     */
375 
376     virtual UNO3_SEQUENCE< UNO3_OUSTRING > SAL_CALL getSupportedServiceNames() throw( UNO3_RUNTIMEEXCEPTION );
377 
378     //________________________________________________________________________________________________________
379     //  XComponent
380     //________________________________________________________________________________________________________
381 
382     /**_______________________________________________________________________________________________________
383         @short      -
384         @descr      -
385 
386         @seealso    -
387 
388         @param      -
389 
390         @return     -
391 
392         @onerror    -
393     */
394 
395     virtual void SAL_CALL dispose() throw( UNO3_RUNTIMEEXCEPTION );
396 
397     /**_______________________________________________________________________________________________________
398         @short      -
399         @descr      -
400 
401         @seealso    -
402 
403         @param      -
404 
405         @return     -
406 
407         @onerror    -
408     */
409 
410     virtual void SAL_CALL addEventListener( const UNO3_REFERENCE< UNO3_XEVENTLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
411 
412     /**_______________________________________________________________________________________________________
413         @short      -
414         @descr      -
415 
416         @seealso    -
417 
418         @param      -
419 
420         @return     -
421 
422         @onerror    -
423     */
424 
425     virtual void SAL_CALL removeEventListener( const UNO3_REFERENCE< UNO3_XEVENTLISTENER >& xListener   ) throw( UNO3_RUNTIMEEXCEPTION );
426 
427     //________________________________________________________________________________________________________
428     //  XControl
429     //________________________________________________________________________________________________________
430 
431     /**_______________________________________________________________________________________________________
432         @short      -
433         @descr      -
434 
435         @seealso    -
436 
437         @param      -
438 
439         @return     -
440 
441         @onerror    -
442     */
443 
444     virtual void SAL_CALL createPeer( const UNO3_REFERENCE< UNO3_XTOOLKIT >& xToolkit, const UNO3_REFERENCE< UNO3_XWINDOWPEER >& xParent ) throw( UNO3_RUNTIMEEXCEPTION );
445 
446     /**_______________________________________________________________________________________________________
447         @short      -
448         @descr      -
449 
450         @seealso    -
451 
452         @param      -
453 
454         @return     -
455 
456         @onerror    -
457     */
458 
459     virtual void SAL_CALL setContext( const UNO3_REFERENCE< UNO3_XINTERFACE >& xContext ) throw( UNO3_RUNTIMEEXCEPTION );
460 
461     /**_______________________________________________________________________________________________________
462         @short      -
463         @descr      -
464 
465         @seealso    -
466 
467         @param      -
468 
469         @return     -
470 
471         @onerror    -
472     */
473 
474     virtual sal_Bool SAL_CALL setModel( const UNO3_REFERENCE< UNO3_XCONTROLMODEL >& xModel ) throw( UNO3_RUNTIMEEXCEPTION ) = 0 ;
475 
476     /**_______________________________________________________________________________________________________
477         @short      -
478         @descr      -
479 
480         @seealso    -
481 
482         @param      -
483 
484         @return     -
485 
486         @onerror    -
487     */
488 
489     virtual void SAL_CALL setDesignMode( sal_Bool bOn ) throw( UNO3_RUNTIMEEXCEPTION );
490 
491     /**_______________________________________________________________________________________________________
492         @short      -
493         @descr      -
494 
495         @seealso    -
496 
497         @param      -
498 
499         @return     -
500 
501         @onerror    -
502     */
503 
504     virtual UNO3_REFERENCE< UNO3_XINTERFACE > SAL_CALL getContext() throw( UNO3_RUNTIMEEXCEPTION );
505 
506     /**_______________________________________________________________________________________________________
507         @short      -
508         @descr      -
509 
510         @seealso    -
511 
512         @param      -
513 
514         @return     -
515 
516         @onerror    -
517     */
518 
519     virtual UNO3_REFERENCE< UNO3_XCONTROLMODEL > SAL_CALL getModel() throw( UNO3_RUNTIMEEXCEPTION ) = 0;
520 
521     /**_______________________________________________________________________________________________________
522         @short      -
523         @descr      -
524 
525         @seealso    -
526 
527         @param      -
528 
529         @return     -
530 
531         @onerror    -
532     */
533 
534     virtual UNO3_REFERENCE< UNO3_XWINDOWPEER > SAL_CALL getPeer() throw( UNO3_RUNTIMEEXCEPTION );
535 
536     /**_______________________________________________________________________________________________________
537         @short      -
538         @descr      -
539 
540         @seealso    -
541 
542         @param      -
543 
544         @return     -
545 
546         @onerror    -
547     */
548 
549     virtual UNO3_REFERENCE< UNO3_XVIEW > SAL_CALL getView() throw( UNO3_RUNTIMEEXCEPTION );
550 
551     /**_______________________________________________________________________________________________________
552         @short      -
553         @descr      -
554 
555         @seealso    -
556 
557         @param      -
558 
559         @return     -
560 
561         @onerror    -
562     */
563 
564     virtual sal_Bool SAL_CALL isDesignMode() throw( UNO3_RUNTIMEEXCEPTION );
565 
566     /**_______________________________________________________________________________________________________
567         @short      -
568         @descr      -
569 
570         @seealso    -
571 
572         @param      -
573 
574         @return     -
575 
576         @onerror    -
577     */
578 
579     virtual sal_Bool SAL_CALL isTransparent() throw( UNO3_RUNTIMEEXCEPTION );
580 
581     //________________________________________________________________________________________________________
582     //  XWindow
583     //________________________________________________________________________________________________________
584 
585     /**_______________________________________________________________________________________________________
586         @short      -
587         @descr      -
588 
589         @seealso    -
590 
591         @param      -
592 
593         @return     -
594 
595         @onerror    -
596     */
597 
598     virtual void SAL_CALL setPosSize(   sal_Int32   nX      ,
599                                         sal_Int32   nY      ,
600                                         sal_Int32   nWidth  ,
601                                         sal_Int32   nHeight ,
602                                         sal_Int16   nFlags  ) throw( UNO3_RUNTIMEEXCEPTION );
603 
604     /**_______________________________________________________________________________________________________
605         @short      -
606         @descr      -
607 
608         @seealso    -
609 
610         @param      -
611 
612         @return     -
613 
614         @onerror    -
615     */
616 
617     virtual void SAL_CALL setVisible( sal_Bool bVisible ) throw( UNO3_RUNTIMEEXCEPTION );
618 
619     /**_______________________________________________________________________________________________________
620         @short      -
621         @descr      -
622 
623         @seealso    -
624 
625         @param      -
626 
627         @return     -
628 
629         @onerror    -
630     */
631 
632     virtual void SAL_CALL setEnable( sal_Bool bEnable ) throw( UNO3_RUNTIMEEXCEPTION );
633 
634     /**_______________________________________________________________________________________________________
635         @short      -
636         @descr      -
637 
638         @seealso    -
639 
640         @param      -
641 
642         @return     -
643 
644         @onerror    -
645     */
646 
647     virtual void SAL_CALL setFocus() throw( UNO3_RUNTIMEEXCEPTION );
648 
649     /**_______________________________________________________________________________________________________
650         @short      -
651         @descr      -
652 
653         @seealso    -
654 
655         @param      -
656 
657         @return     -
658 
659         @onerror    -
660     */
661 
662     virtual UNO3_RECTANGLE SAL_CALL getPosSize() throw( UNO3_RUNTIMEEXCEPTION );
663 
664     /**_______________________________________________________________________________________________________
665         @short      -
666         @descr      -
667 
668         @seealso    -
669 
670         @param      -
671 
672         @return     -
673 
674         @onerror    -
675     */
676 
677     virtual void SAL_CALL addWindowListener( const UNO3_REFERENCE< UNO3_XWINDOWLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
678 
679     /**_______________________________________________________________________________________________________
680         @short      -
681         @descr      -
682 
683         @seealso    -
684 
685         @param      -
686 
687         @return     -
688 
689         @onerror    -
690     */
691 
692     virtual void SAL_CALL addFocusListener( const UNO3_REFERENCE< UNO3_XFOCUSLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
693 
694     /**_______________________________________________________________________________________________________
695         @short      -
696         @descr      -
697 
698         @seealso    -
699 
700         @param      -
701 
702         @return     -
703 
704         @onerror    -
705     */
706 
707     virtual void SAL_CALL addKeyListener( const UNO3_REFERENCE< UNO3_XKEYLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
708 
709     /**_______________________________________________________________________________________________________
710         @short      -
711         @descr      -
712 
713         @seealso    -
714 
715         @param      -
716 
717         @return     -
718 
719         @onerror    -
720     */
721 
722     virtual void SAL_CALL addMouseListener( const UNO3_REFERENCE< UNO3_XMOUSELISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
723 
724     /**_______________________________________________________________________________________________________
725         @short      -
726         @descr      -
727 
728         @seealso    -
729 
730         @param      -
731 
732         @return     -
733 
734         @onerror    -
735     */
736 
737     virtual void SAL_CALL addMouseMotionListener( const UNO3_REFERENCE< UNO3_XMOUSEMOTIONLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
738 
739     /**_______________________________________________________________________________________________________
740         @short      -
741         @descr      -
742 
743         @seealso    -
744 
745         @param      -
746 
747         @return     -
748 
749         @onerror    -
750     */
751 
752     virtual void SAL_CALL addPaintListener( const UNO3_REFERENCE< UNO3_XPAINTLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
753 
754     /**_______________________________________________________________________________________________________
755         @short      -
756         @descr      -
757 
758         @seealso    -
759 
760         @param      -
761 
762         @return     -
763 
764         @onerror    -
765     */
766 
767     virtual void SAL_CALL removeWindowListener( const UNO3_REFERENCE< UNO3_XWINDOWLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
768 
769     /**_______________________________________________________________________________________________________
770         @short      -
771         @descr      -
772 
773         @seealso    -
774 
775         @param      -
776 
777         @return     -
778 
779         @onerror    -
780     */
781 
782     virtual void SAL_CALL removeFocusListener( const UNO3_REFERENCE< UNO3_XFOCUSLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
783 
784     /**_______________________________________________________________________________________________________
785         @short      -
786         @descr      -
787 
788         @seealso    -
789 
790         @param      -
791 
792         @return     -
793 
794         @onerror    -
795     */
796 
797     virtual void SAL_CALL removeKeyListener( const UNO3_REFERENCE< UNO3_XKEYLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
798 
799     /**_______________________________________________________________________________________________________
800         @short      -
801         @descr      -
802 
803         @seealso    -
804 
805         @param      -
806 
807         @return     -
808 
809         @onerror    -
810     */
811 
812     virtual void SAL_CALL removeMouseListener( const UNO3_REFERENCE< UNO3_XMOUSELISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
813 
814     /**_______________________________________________________________________________________________________
815         @short      -
816         @descr      -
817 
818         @seealso    -
819 
820         @param      -
821 
822         @return     -
823 
824         @onerror    -
825     */
826 
827     virtual void SAL_CALL removeMouseMotionListener( const UNO3_REFERENCE< UNO3_XMOUSEMOTIONLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
828 
829     /**_______________________________________________________________________________________________________
830         @short      -
831         @descr      -
832 
833         @seealso    -
834 
835         @param      -
836 
837         @return     -
838 
839         @onerror    -
840     */
841 
842     virtual void SAL_CALL removePaintListener( const UNO3_REFERENCE< UNO3_XPAINTLISTENER >& xListener ) throw( UNO3_RUNTIMEEXCEPTION );
843 
844     //________________________________________________________________________________________________________
845     //  XView
846     //________________________________________________________________________________________________________
847 
848     /**_______________________________________________________________________________________________________
849         @short      -
850         @descr      -
851 
852         @seealso    -
853 
854         @param      -
855 
856         @return     -
857 
858         @onerror    -
859     */
860 
861     virtual void SAL_CALL draw( sal_Int32   nX  ,
862                                 sal_Int32   nY  ) throw( UNO3_RUNTIMEEXCEPTION );
863 
864     /**_______________________________________________________________________________________________________
865         @short      -
866         @descr      -
867 
868         @seealso    -
869 
870         @param      -
871 
872         @return     -
873 
874         @onerror    -
875     */
876 
877     virtual sal_Bool SAL_CALL setGraphics( const UNO3_REFERENCE< UNO3_XGRAPHICS >& xDevice ) throw( UNO3_RUNTIMEEXCEPTION );
878 
879     /**_______________________________________________________________________________________________________
880         @short      -
881         @descr      -
882 
883         @seealso    -
884 
885         @param      -
886 
887         @return     -
888 
889         @onerror    -
890     */
891 
892     virtual void SAL_CALL setZoom(  float   fZoomX  ,
893                                     float   fZoomY  ) throw( UNO3_RUNTIMEEXCEPTION );
894 
895     /**_______________________________________________________________________________________________________
896         @short      -
897         @descr      -
898 
899         @seealso    -
900 
901         @param      -
902 
903         @return     -
904 
905         @onerror    -
906     */
907 
908     virtual UNO3_REFERENCE< UNO3_XGRAPHICS > SAL_CALL getGraphics() throw( UNO3_RUNTIMEEXCEPTION );
909 
910     /**_______________________________________________________________________________________________________
911         @short      -
912         @descr      -
913 
914         @seealso    -
915 
916         @param      -
917 
918         @return     -
919 
920         @onerror    -
921     */
922 
923     virtual UNO3_SIZE SAL_CALL getSize() throw( UNO3_RUNTIMEEXCEPTION );
924 
925     //________________________________________________________________________________________________________
926     //  UNO3_XEVENTLISTENER
927     //________________________________________________________________________________________________________
928 
929     /**_______________________________________________________________________________________________________
930         @short      -
931         @descr      -
932 
933         @seealso    -
934 
935         @param      -
936 
937         @return     -
938 
939         @onerror    -
940     */
941 
942     virtual void SAL_CALL disposing( const UNO3_EVENTOBJECT& rSource    ) throw( UNO3_RUNTIMEEXCEPTION );
943 
944     //________________________________________________________________________________________________________
945     //  XPaintListener
946     //________________________________________________________________________________________________________
947 
948     /**_______________________________________________________________________________________________________
949         @short      -
950         @descr      -
951 
952         @seealso    -
953 
954         @param      -
955 
956         @return     -
957 
958         @onerror    -
959     */
960 
961     virtual void SAL_CALL windowPaint( const UNO3_PAINTEVENT& rEvent ) throw( UNO3_RUNTIMEEXCEPTION );
962 
963     //________________________________________________________________________________________________________
964     //  XWindowListener
965     //________________________________________________________________________________________________________
966 
967     /**_______________________________________________________________________________________________________
968         @short      -
969         @descr      -
970 
971         @seealso    -
972 
973         @param      -
974 
975         @return     -
976 
977         @onerror    -
978     */
979 
980     virtual void SAL_CALL windowResized( const UNO3_WINDOWEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION );
981     virtual void SAL_CALL windowMoved( const UNO3_WINDOWEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION );
982     virtual void SAL_CALL windowShown( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION );
983     virtual void SAL_CALL windowHidden( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION );
984 
985     //________________________________________________________________________________________________________
986     //  impl but public method to register service
987     //________________________________________________________________________________________________________
988 
989     /**_______________________________________________________________________________________________________
990         @short      -
991         @descr      -
992 
993         @seealso    -
994 
995         @param      -
996 
997         @return     -
998 
999         @onerror    -
1000     */
1001 
1002     static const UNO3_SEQUENCE< UNO3_OUSTRING > impl_getStaticSupportedServiceNames();
1003 
1004     /**_______________________________________________________________________________________________________
1005         @short      -
1006         @descr      -
1007 
1008         @seealso    -
1009 
1010         @param      -
1011 
1012         @return     -
1013 
1014         @onerror    -
1015     */
1016 
1017     static const UNO3_OUSTRING impl_getStaticImplementationName();
1018 
1019 //____________________________________________________________________________________________________________
1020 //  protected methods
1021 //____________________________________________________________________________________________________________
1022 
1023 protected:
1024     using OComponentHelper::disposing;
1025 
1026     /**_______________________________________________________________________________________________________
1027         @short      -
1028         @descr      -
1029 
1030         @seealso    -
1031 
1032         @param      -
1033 
1034         @return     -
1035 
1036         @onerror    -
1037     */
1038 
1039     const UNO3_REFERENCE< UNO3_XMULTISERVICEFACTORY > impl_getMultiServiceFactory();
1040 
1041     /**_______________________________________________________________________________________________________
1042         @short      -
1043         @descr      -
1044 
1045         @seealso    -
1046 
1047         @param      -
1048 
1049         @return     -
1050 
1051         @onerror    -
1052     */
1053 
1054     const UNO3_REFERENCE< UNO3_XWINDOW > impl_getPeerWindow();
1055 
1056     /**_______________________________________________________________________________________________________
1057         @short      -
1058         @descr      -
1059 
1060         @seealso    -
1061 
1062         @param      -
1063 
1064         @return     -
1065 
1066         @onerror    -
1067     */
1068 
1069     const UNO3_REFERENCE< UNO3_XGRAPHICS > impl_getGraphicsPeer();
1070 
1071     /**_______________________________________________________________________________________________________
1072         @short      -
1073         @descr      -
1074 
1075         @seealso    -
1076 
1077         @param      -
1078 
1079         @return     -
1080 
1081         @onerror    -
1082     */
1083 
1084     const sal_Int32& impl_getWidth();
1085 
1086     /**_______________________________________________________________________________________________________
1087         @short      -
1088         @descr      -
1089 
1090         @seealso    -
1091 
1092         @param      -
1093 
1094         @return     -
1095 
1096         @onerror    -
1097     */
1098 
1099     const sal_Int32& impl_getHeight();
1100 
1101     /**_______________________________________________________________________________________________________
1102         @short      -
1103         @descr      -
1104 
1105         @seealso    -
1106 
1107         @param      -
1108 
1109         @return     -
1110 
1111         @onerror    -
1112     */
1113 
1114     virtual UNO3_WINDOWDESCRIPTOR* impl_getWindowDescriptor( const UNO3_REFERENCE< UNO3_XWINDOWPEER >& xParentPeer );
1115 
1116     /**_______________________________________________________________________________________________________
1117         @short      -
1118         @descr      -
1119 
1120         @seealso    -
1121 
1122         @param      -
1123 
1124         @return     -
1125 
1126         @onerror    -
1127     */
1128 
1129     virtual void impl_paint(        sal_Int32               nX          ,
1130                                     sal_Int32               nY          ,
1131                             const   UNO3_REFERENCE< UNO3_XGRAPHICS >&   xGraphics   );
1132 
1133     /**_______________________________________________________________________________________________________
1134         @short      -
1135         @descr      -
1136 
1137         @seealso    -
1138 
1139         @param      -
1140 
1141         @return     -
1142 
1143         @onerror    -
1144     */
1145 
1146     virtual void impl_recalcLayout( const UNO3_WINDOWEVENT& aEvent );
1147 
1148     /**_______________________________________________________________________________________________________
1149         @short      -
1150         @descr      -
1151 
1152         @seealso    -
1153 
1154         @param      -
1155 
1156         @return     -
1157 
1158         @onerror    -
1159     */
1160 
1161     UNO3_REFERENCE< UNO3_XINTERFACE > impl_getDelegator();
1162 
1163 //____________________________________________________________________________________________________________
1164 //  private methods
1165 //____________________________________________________________________________________________________________
1166 
1167 private:
1168 
1169     /**_______________________________________________________________________________________________________
1170         @short      -
1171         @descr      -
1172 
1173         @seealso    -
1174 
1175         @param      -
1176 
1177         @return     -
1178 
1179         @onerror    -
1180     */
1181 
1182     void impl_releasePeer();
1183 
1184     /**_______________________________________________________________________________________________________
1185         @short      -
1186         @descr      -
1187 
1188         @seealso    -
1189 
1190         @param      -
1191 
1192         @return     -
1193 
1194         @onerror    -
1195     */
1196 
1197     OMRCListenerMultiplexerHelper* impl_getMultiplexer();
1198 
1199 //____________________________________________________________________________________________________________
1200 //  private variables
1201 //____________________________________________________________________________________________________________
1202 
1203 private:
1204 
1205     UNO3_REFERENCE< UNO3_XMULTISERVICEFACTORY >     m_xFactory              ;
1206     UNO3_REFERENCE< UNO3_XINTERFACE >               m_xDelegator            ;
1207     OMRCListenerMultiplexerHelper*                  m_pMultiplexer          ;   // multiplex events
1208     UNO3_REFERENCE< UNO3_XINTERFACE >               m_xMultiplexer          ;
1209     UNO3_REFERENCE< UNO3_XINTERFACE >               m_xContext              ;
1210     UNO3_REFERENCE< UNO3_XWINDOWPEER >              m_xPeer                 ;
1211     UNO3_REFERENCE< UNO3_XWINDOW >                  m_xPeerWindow           ;
1212     UNO3_REFERENCE< UNO3_XGRAPHICS >                m_xGraphicsView         ;   // graphics for ::com::sun::star::awt::XView-operations
1213     UNO3_REFERENCE< UNO3_XGRAPHICS >                m_xGraphicsPeer         ;   // graphics for painting on a peer
1214     sal_Int32                                       m_nX                    ;   // Position ...
1215     sal_Int32                                       m_nY                    ;
1216     sal_Int32                                       m_nWidth                ;   // ... and size of window
1217     sal_Int32                                       m_nHeight               ;
1218     sal_Bool                                        m_bVisible              ;   // Some state flags
1219     sal_Bool                                        m_bInDesignMode         ;
1220     sal_Bool                                        m_bEnable               ;
1221 
1222 };  // class BaseControl
1223 
1224 }   // namespace unocontrols
1225 
1226 #endif  // ifndef _UNOCONTROLS_BASECONTROL_CTRL_HXX
1227