xref: /trunk/main/UnoControls/inc/multiplexer.hxx (revision 914d351e5f5b84e4342a86d6ab8d4aca7308b9bd)
1*f6c049e2SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*f6c049e2SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*f6c049e2SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*f6c049e2SAndrew Rist  * distributed with this work for additional information
6*f6c049e2SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*f6c049e2SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*f6c049e2SAndrew Rist  * "License"); you may not use this file except in compliance
9*f6c049e2SAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*f6c049e2SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*f6c049e2SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*f6c049e2SAndrew Rist  * software distributed under the License is distributed on an
15*f6c049e2SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*f6c049e2SAndrew Rist  * KIND, either express or implied.  See the License for the
17*f6c049e2SAndrew Rist  * specific language governing permissions and limitations
18*f6c049e2SAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*f6c049e2SAndrew Rist  *************************************************************/
21*f6c049e2SAndrew Rist 
22*f6c049e2SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef _UNOCONTROLS_MULTIPLEXER_HXX
25cdf0e10cSrcweir #define _UNOCONTROLS_MULTIPLEXER_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir //____________________________________________________________________________________________________________
28cdf0e10cSrcweir //  includes of other projects
29cdf0e10cSrcweir //____________________________________________________________________________________________________________
30cdf0e10cSrcweir 
31cdf0e10cSrcweir #include <com/sun/star/awt/XKeyListener.hpp>
32cdf0e10cSrcweir #include <com/sun/star/awt/XPaintListener.hpp>
33cdf0e10cSrcweir #include <com/sun/star/awt/KeyEvent.hpp>
34cdf0e10cSrcweir #include <com/sun/star/awt/KeyModifier.hpp>
35cdf0e10cSrcweir #include <com/sun/star/awt/XMouseMotionListener.hpp>
36cdf0e10cSrcweir #include <com/sun/star/awt/FocusEvent.hpp>
37cdf0e10cSrcweir #include <com/sun/star/awt/XWindowListener.hpp>
38cdf0e10cSrcweir #include <com/sun/star/awt/XActivateListener.hpp>
39cdf0e10cSrcweir #include <com/sun/star/awt/MouseEvent.hpp>
40cdf0e10cSrcweir #include <com/sun/star/awt/XTopWindowListener.hpp>
41cdf0e10cSrcweir #include <com/sun/star/awt/PaintEvent.hpp>
42cdf0e10cSrcweir #include <com/sun/star/awt/InputEvent.hpp>
43cdf0e10cSrcweir #include <com/sun/star/awt/KeyGroup.hpp>
44cdf0e10cSrcweir #include <com/sun/star/awt/Key.hpp>
45cdf0e10cSrcweir #include <com/sun/star/awt/WindowEvent.hpp>
46cdf0e10cSrcweir #include <com/sun/star/awt/XMouseListener.hpp>
47cdf0e10cSrcweir #include <com/sun/star/awt/KeyFunction.hpp>
48cdf0e10cSrcweir #include <com/sun/star/awt/FocusChangeReason.hpp>
49cdf0e10cSrcweir #include <com/sun/star/awt/MouseButton.hpp>
50cdf0e10cSrcweir #include <com/sun/star/awt/XFocusListener.hpp>
51cdf0e10cSrcweir #include <com/sun/star/awt/XTopWindow.hpp>
52cdf0e10cSrcweir #include <com/sun/star/awt/XWindow.hpp>
53cdf0e10cSrcweir #include <com/sun/star/awt/PosSize.hpp>
54cdf0e10cSrcweir #include <cppuhelper/weak.hxx>
55cdf0e10cSrcweir #include <cppuhelper/interfacecontainer.hxx>
56cdf0e10cSrcweir //____________________________________________________________________________________________________________
57cdf0e10cSrcweir //  includes of my own project
58cdf0e10cSrcweir //____________________________________________________________________________________________________________
59cdf0e10cSrcweir 
60cdf0e10cSrcweir //____________________________________________________________________________________________________________
61cdf0e10cSrcweir //  "namespaces"
62cdf0e10cSrcweir //____________________________________________________________________________________________________________
63cdf0e10cSrcweir 
64cdf0e10cSrcweir namespace unocontrols{
65cdf0e10cSrcweir 
66cdf0e10cSrcweir #define UNO3_OWEAKOBJECT                            ::cppu::OWeakObject
67cdf0e10cSrcweir #define UNO3_XWINDOW                                ::com::sun::star::awt::XWindow
68cdf0e10cSrcweir #define UNO3_REFERENCE                              ::com::sun::star::uno::Reference
69cdf0e10cSrcweir #define UNO3_WEAKREFERENCE                          ::com::sun::star::uno::WeakReference
70cdf0e10cSrcweir #define UNO3_MUTEX                                  ::osl::Mutex
71cdf0e10cSrcweir #define UNO3_XWINDOWLISTENER                        ::com::sun::star::awt::XWindowListener
72cdf0e10cSrcweir #define UNO3_XKEYLISTENER                           ::com::sun::star::awt::XKeyListener
73cdf0e10cSrcweir #define UNO3_XMOUSELISTENER                         ::com::sun::star::awt::XMouseListener
74cdf0e10cSrcweir #define UNO3_XMOUSEMOTIONLISTENER                   ::com::sun::star::awt::XMouseMotionListener
75cdf0e10cSrcweir #define UNO3_XPAINTLISTENER                         ::com::sun::star::awt::XPaintListener
76cdf0e10cSrcweir #define UNO3_XTOPWINDOWLISTENER                     ::com::sun::star::awt::XTopWindowListener
77cdf0e10cSrcweir #define UNO3_XFOCUSLISTENER                         ::com::sun::star::awt::XFocusListener
78cdf0e10cSrcweir #define UNO3_ANY                                    ::com::sun::star::uno::Any
79cdf0e10cSrcweir #define UNO3_TYPE                                   ::com::sun::star::uno::Type
80cdf0e10cSrcweir #define UNO3_RUNTIMEEXCEPTION                       ::com::sun::star::uno::RuntimeException
81cdf0e10cSrcweir #define UNO3_XINTERFACE                             ::com::sun::star::uno::XInterface
82cdf0e10cSrcweir #define UNO3_EVENTOBJECT                            ::com::sun::star::lang::EventObject
83cdf0e10cSrcweir #define UNO3_FOCUSEVENT                             ::com::sun::star::awt::FocusEvent
84cdf0e10cSrcweir #define UNO3_WINDOWEVENT                            ::com::sun::star::awt::WindowEvent
85cdf0e10cSrcweir #define UNO3_KEYEVENT                               ::com::sun::star::awt::KeyEvent
86cdf0e10cSrcweir #define UNO3_MOUSEEVENT                             ::com::sun::star::awt::MouseEvent
87cdf0e10cSrcweir #define UNO3_PAINTEVENT                             ::com::sun::star::awt::PaintEvent
88cdf0e10cSrcweir #define UNO3_OMULTITYPEINTERFACECONTAINERHELPER     ::cppu::OMultiTypeInterfaceContainerHelper
89cdf0e10cSrcweir 
90cdf0e10cSrcweir //____________________________________________________________________________________________________________
91cdf0e10cSrcweir //  class
92cdf0e10cSrcweir //____________________________________________________________________________________________________________
93cdf0e10cSrcweir 
94cdf0e10cSrcweir class OMRCListenerMultiplexerHelper : public UNO3_XFOCUSLISTENER
95cdf0e10cSrcweir                                     , public UNO3_XWINDOWLISTENER
96cdf0e10cSrcweir                                     , public UNO3_XKEYLISTENER
97cdf0e10cSrcweir                                     , public UNO3_XMOUSELISTENER
98cdf0e10cSrcweir                                     , public UNO3_XMOUSEMOTIONLISTENER
99cdf0e10cSrcweir                                     , public UNO3_XPAINTLISTENER
100cdf0e10cSrcweir                                     , public UNO3_XTOPWINDOWLISTENER
101cdf0e10cSrcweir                                     , public UNO3_OWEAKOBJECT
102cdf0e10cSrcweir {
103cdf0e10cSrcweir 
104cdf0e10cSrcweir //____________________________________________________________________________________________________________
105cdf0e10cSrcweir //  public methods
106cdf0e10cSrcweir //____________________________________________________________________________________________________________
107cdf0e10cSrcweir 
108cdf0e10cSrcweir public:
109cdf0e10cSrcweir 
110cdf0e10cSrcweir     //________________________________________________________________________________________________________
111cdf0e10cSrcweir     //  construct/destruct
112cdf0e10cSrcweir     //________________________________________________________________________________________________________
113cdf0e10cSrcweir 
114cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
115cdf0e10cSrcweir         @short      constructor
116cdf0e10cSrcweir         @descr      Create a Multiplexer of XWindowEvents.
117cdf0e10cSrcweir 
118cdf0e10cSrcweir         @seealso    -
119cdf0e10cSrcweir 
120cdf0e10cSrcweir         @param      rControl    The control. All listeners think that this is the original broadcaster.
121cdf0e10cSrcweir         @param      rPeer       The peer from which the original events are dispatched. Null is allowed.
122cdf0e10cSrcweir 
123cdf0e10cSrcweir         @return     -
124cdf0e10cSrcweir 
125cdf0e10cSrcweir         @onerror    -
126cdf0e10cSrcweir     */
127cdf0e10cSrcweir 
128cdf0e10cSrcweir     OMRCListenerMultiplexerHelper(  const   UNO3_REFERENCE< UNO3_XWINDOW >& xControl    ,
129cdf0e10cSrcweir                                     const   UNO3_REFERENCE< UNO3_XWINDOW >& xPeer       );
130cdf0e10cSrcweir 
131cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
132cdf0e10cSrcweir         @short      copy-constructor
133cdf0e10cSrcweir         @descr
134cdf0e10cSrcweir 
135cdf0e10cSrcweir         @seealso    -
136cdf0e10cSrcweir 
137cdf0e10cSrcweir         @param      rCopyInstance   C++-Reference to instance to make copy from.
138cdf0e10cSrcweir 
139cdf0e10cSrcweir         @return     -
140cdf0e10cSrcweir 
141cdf0e10cSrcweir         @onerror    -
142cdf0e10cSrcweir     */
143cdf0e10cSrcweir 
144cdf0e10cSrcweir     OMRCListenerMultiplexerHelper( const OMRCListenerMultiplexerHelper& aCopyInstance );
145cdf0e10cSrcweir 
146cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
147cdf0e10cSrcweir         @short      destructor
148cdf0e10cSrcweir         @descr      -
149cdf0e10cSrcweir 
150cdf0e10cSrcweir         @seealso    -
151cdf0e10cSrcweir 
152cdf0e10cSrcweir         @param      -
153cdf0e10cSrcweir 
154cdf0e10cSrcweir         @return     -
155cdf0e10cSrcweir 
156cdf0e10cSrcweir         @onerror    -
157cdf0e10cSrcweir     */
158cdf0e10cSrcweir 
159cdf0e10cSrcweir     ~OMRCListenerMultiplexerHelper();
160cdf0e10cSrcweir 
161cdf0e10cSrcweir     //________________________________________________________________________________________________________
162cdf0e10cSrcweir     //  XInterface
163cdf0e10cSrcweir     //________________________________________________________________________________________________________
164cdf0e10cSrcweir 
165cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
166cdf0e10cSrcweir         @short      give answer, if interface is supported
167cdf0e10cSrcweir         @descr      The interfaces are searched by type.
168cdf0e10cSrcweir 
169cdf0e10cSrcweir         @seealso    XInterface
170cdf0e10cSrcweir 
171cdf0e10cSrcweir         @param      "rType" is the type of searched interface.
172cdf0e10cSrcweir 
173cdf0e10cSrcweir         @return     Any     information about found interface
174cdf0e10cSrcweir 
175cdf0e10cSrcweir         @onerror    A RuntimeException is thrown.
176cdf0e10cSrcweir     */
177cdf0e10cSrcweir 
178cdf0e10cSrcweir     virtual UNO3_ANY SAL_CALL queryInterface( const UNO3_TYPE& aType ) throw( UNO3_RUNTIMEEXCEPTION );
179cdf0e10cSrcweir 
180cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
181cdf0e10cSrcweir         @short      increment refcount
182cdf0e10cSrcweir         @descr      -
183cdf0e10cSrcweir 
184cdf0e10cSrcweir         @seealso    XInterface
185cdf0e10cSrcweir         @seealso    release()
186cdf0e10cSrcweir 
187cdf0e10cSrcweir         @param      -
188cdf0e10cSrcweir 
189cdf0e10cSrcweir         @return     -
190cdf0e10cSrcweir 
191cdf0e10cSrcweir         @onerror    A RuntimeException is thrown.
192cdf0e10cSrcweir     */
193cdf0e10cSrcweir 
194cdf0e10cSrcweir     virtual void SAL_CALL acquire() throw();
195cdf0e10cSrcweir 
196cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
197cdf0e10cSrcweir         @short      decrement refcount
198cdf0e10cSrcweir         @descr      -
199cdf0e10cSrcweir 
200cdf0e10cSrcweir         @seealso    XInterface
201cdf0e10cSrcweir         @seealso    acquire()
202cdf0e10cSrcweir 
203cdf0e10cSrcweir         @param      -
204cdf0e10cSrcweir 
205cdf0e10cSrcweir         @return     -
206cdf0e10cSrcweir 
207cdf0e10cSrcweir         @onerror    A RuntimeException is thrown.
208cdf0e10cSrcweir     */
209cdf0e10cSrcweir 
210cdf0e10cSrcweir     virtual void SAL_CALL release() throw();
211cdf0e10cSrcweir 
212cdf0e10cSrcweir     //________________________________________________________________________________________________________
213cdf0e10cSrcweir     //  operator
214cdf0e10cSrcweir     //________________________________________________________________________________________________________
215cdf0e10cSrcweir 
216cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
217cdf0e10cSrcweir         @short      -
218cdf0e10cSrcweir         @descr      -
219cdf0e10cSrcweir 
220cdf0e10cSrcweir         @seealso    -
221cdf0e10cSrcweir 
222cdf0e10cSrcweir         @param      -
223cdf0e10cSrcweir 
224cdf0e10cSrcweir         @return     -
225cdf0e10cSrcweir 
226cdf0e10cSrcweir         @onerror    -
227cdf0e10cSrcweir     */
228cdf0e10cSrcweir 
229cdf0e10cSrcweir     operator UNO3_REFERENCE< UNO3_XINTERFACE >() const;
230cdf0e10cSrcweir 
231cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
232cdf0e10cSrcweir         @short      -
233cdf0e10cSrcweir         @descr      -
234cdf0e10cSrcweir 
235cdf0e10cSrcweir         @seealso    -
236cdf0e10cSrcweir 
237cdf0e10cSrcweir         @param      -
238cdf0e10cSrcweir 
239cdf0e10cSrcweir         @return     -
240cdf0e10cSrcweir 
241cdf0e10cSrcweir         @onerror    -
242cdf0e10cSrcweir     */
243cdf0e10cSrcweir 
244cdf0e10cSrcweir     OMRCListenerMultiplexerHelper& operator= ( const OMRCListenerMultiplexerHelper& aCopyInstance );
245cdf0e10cSrcweir 
246cdf0e10cSrcweir     //________________________________________________________________________________________________________
247cdf0e10cSrcweir     //  container methods
248cdf0e10cSrcweir     //________________________________________________________________________________________________________
249cdf0e10cSrcweir 
250cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
251cdf0e10cSrcweir         @short      Remove all listeners from the previous set peer and add the needed listeners to rPeer.
252cdf0e10cSrcweir         @descr      -
253cdf0e10cSrcweir 
254cdf0e10cSrcweir         @seealso    -
255cdf0e10cSrcweir 
256cdf0e10cSrcweir         @param      rPeer       The peer from which the original events are dispatched. Null is allowed.
257cdf0e10cSrcweir 
258cdf0e10cSrcweir         @return     -
259cdf0e10cSrcweir 
260cdf0e10cSrcweir         @onerror    -
261cdf0e10cSrcweir     */
262cdf0e10cSrcweir 
263cdf0e10cSrcweir     void setPeer( const UNO3_REFERENCE< UNO3_XWINDOW >& xPeer );
264cdf0e10cSrcweir 
265cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
266cdf0e10cSrcweir         @short      Remove all listeners and send a disposing message.
267cdf0e10cSrcweir         @descr      -
268cdf0e10cSrcweir 
269cdf0e10cSrcweir         @seealso    -
270cdf0e10cSrcweir 
271cdf0e10cSrcweir         @param      -
272cdf0e10cSrcweir 
273cdf0e10cSrcweir         @return     -
274cdf0e10cSrcweir 
275cdf0e10cSrcweir         @onerror    -
276cdf0e10cSrcweir     */
277cdf0e10cSrcweir 
278cdf0e10cSrcweir     void disposeAndClear();
279cdf0e10cSrcweir 
280cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
281cdf0e10cSrcweir         @short      Add the specified listener to the source.
282cdf0e10cSrcweir         @descr      -
283cdf0e10cSrcweir 
284cdf0e10cSrcweir         @seealso    -
285cdf0e10cSrcweir 
286cdf0e10cSrcweir         @param      -
287cdf0e10cSrcweir 
288cdf0e10cSrcweir         @return     -
289cdf0e10cSrcweir 
290cdf0e10cSrcweir         @onerror    -
291cdf0e10cSrcweir     */
292cdf0e10cSrcweir 
293cdf0e10cSrcweir     void advise(    const   UNO3_TYPE&                          aType       ,
294cdf0e10cSrcweir                     const   UNO3_REFERENCE< UNO3_XINTERFACE >&  xListener   );
295cdf0e10cSrcweir 
296cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
297cdf0e10cSrcweir         @short      Remove the specified listener from the source.
298cdf0e10cSrcweir         @descr      -
299cdf0e10cSrcweir 
300cdf0e10cSrcweir         @seealso    -
301cdf0e10cSrcweir 
302cdf0e10cSrcweir         @param      -
303cdf0e10cSrcweir 
304cdf0e10cSrcweir         @return     -
305cdf0e10cSrcweir 
306cdf0e10cSrcweir         @onerror    -
307cdf0e10cSrcweir     */
308cdf0e10cSrcweir 
309cdf0e10cSrcweir     void unadvise(  const   UNO3_TYPE&                          aType       ,
310cdf0e10cSrcweir                     const   UNO3_REFERENCE< UNO3_XINTERFACE >&  xListener   );
311cdf0e10cSrcweir 
312cdf0e10cSrcweir     //________________________________________________________________________________________________________
313cdf0e10cSrcweir     //  XEventListener
314cdf0e10cSrcweir     //________________________________________________________________________________________________________
315cdf0e10cSrcweir 
316cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
317cdf0e10cSrcweir         @short      -
318cdf0e10cSrcweir         @descr      -
319cdf0e10cSrcweir 
320cdf0e10cSrcweir         @seealso    -
321cdf0e10cSrcweir         @seealso    -
322cdf0e10cSrcweir 
323cdf0e10cSrcweir         @param      -
324cdf0e10cSrcweir 
325cdf0e10cSrcweir         @return     -
326cdf0e10cSrcweir 
327cdf0e10cSrcweir         @onerror    -
328cdf0e10cSrcweir     */
329cdf0e10cSrcweir 
330cdf0e10cSrcweir     virtual void SAL_CALL disposing(const UNO3_EVENTOBJECT& aSource) throw( UNO3_RUNTIMEEXCEPTION ) ;
331cdf0e10cSrcweir 
332cdf0e10cSrcweir     //________________________________________________________________________________________________________
333cdf0e10cSrcweir     //  XFocusListener
334cdf0e10cSrcweir     //________________________________________________________________________________________________________
335cdf0e10cSrcweir 
336cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
337cdf0e10cSrcweir         @short      -
338cdf0e10cSrcweir         @descr      -
339cdf0e10cSrcweir 
340cdf0e10cSrcweir         @seealso    -
341cdf0e10cSrcweir         @seealso    -
342cdf0e10cSrcweir 
343cdf0e10cSrcweir         @param      -
344cdf0e10cSrcweir 
345cdf0e10cSrcweir         @return     -
346cdf0e10cSrcweir 
347cdf0e10cSrcweir         @onerror    -
348cdf0e10cSrcweir     */
349cdf0e10cSrcweir 
350cdf0e10cSrcweir     virtual void SAL_CALL focusGained(const UNO3_FOCUSEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
351cdf0e10cSrcweir 
352cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
353cdf0e10cSrcweir         @short      -
354cdf0e10cSrcweir         @descr      -
355cdf0e10cSrcweir 
356cdf0e10cSrcweir         @seealso    -
357cdf0e10cSrcweir         @seealso    -
358cdf0e10cSrcweir 
359cdf0e10cSrcweir         @param      -
360cdf0e10cSrcweir 
361cdf0e10cSrcweir         @return     -
362cdf0e10cSrcweir 
363cdf0e10cSrcweir         @onerror    -
364cdf0e10cSrcweir     */
365cdf0e10cSrcweir 
366cdf0e10cSrcweir     virtual void SAL_CALL focusLost(const UNO3_FOCUSEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
367cdf0e10cSrcweir 
368cdf0e10cSrcweir     //________________________________________________________________________________________________________
369cdf0e10cSrcweir     //  XWindowListener
370cdf0e10cSrcweir     //________________________________________________________________________________________________________
371cdf0e10cSrcweir 
372cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
373cdf0e10cSrcweir         @short      -
374cdf0e10cSrcweir         @descr      -
375cdf0e10cSrcweir 
376cdf0e10cSrcweir         @seealso    -
377cdf0e10cSrcweir         @seealso    -
378cdf0e10cSrcweir 
379cdf0e10cSrcweir         @param      -
380cdf0e10cSrcweir 
381cdf0e10cSrcweir         @return     -
382cdf0e10cSrcweir 
383cdf0e10cSrcweir         @onerror    -
384cdf0e10cSrcweir     */
385cdf0e10cSrcweir 
386cdf0e10cSrcweir     virtual void SAL_CALL windowResized(const UNO3_WINDOWEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
387cdf0e10cSrcweir 
388cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
389cdf0e10cSrcweir         @short      -
390cdf0e10cSrcweir         @descr      -
391cdf0e10cSrcweir 
392cdf0e10cSrcweir         @seealso    -
393cdf0e10cSrcweir         @seealso    -
394cdf0e10cSrcweir 
395cdf0e10cSrcweir         @param      -
396cdf0e10cSrcweir 
397cdf0e10cSrcweir         @return     -
398cdf0e10cSrcweir 
399cdf0e10cSrcweir         @onerror    -
400cdf0e10cSrcweir     */
401cdf0e10cSrcweir 
402cdf0e10cSrcweir     virtual void SAL_CALL windowMoved(const UNO3_WINDOWEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
403cdf0e10cSrcweir 
404cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
405cdf0e10cSrcweir         @short      -
406cdf0e10cSrcweir         @descr      -
407cdf0e10cSrcweir 
408cdf0e10cSrcweir         @seealso    -
409cdf0e10cSrcweir         @seealso    -
410cdf0e10cSrcweir 
411cdf0e10cSrcweir         @param      -
412cdf0e10cSrcweir 
413cdf0e10cSrcweir         @return     -
414cdf0e10cSrcweir 
415cdf0e10cSrcweir         @onerror    -
416cdf0e10cSrcweir     */
417cdf0e10cSrcweir 
418cdf0e10cSrcweir     virtual void SAL_CALL windowShown(const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
419cdf0e10cSrcweir 
420cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
421cdf0e10cSrcweir         @short      -
422cdf0e10cSrcweir         @descr      -
423cdf0e10cSrcweir 
424cdf0e10cSrcweir         @seealso    -
425cdf0e10cSrcweir         @seealso    -
426cdf0e10cSrcweir 
427cdf0e10cSrcweir         @param      -
428cdf0e10cSrcweir 
429cdf0e10cSrcweir         @return     -
430cdf0e10cSrcweir 
431cdf0e10cSrcweir         @onerror    -
432cdf0e10cSrcweir     */
433cdf0e10cSrcweir 
434cdf0e10cSrcweir     virtual void SAL_CALL windowHidden(const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
435cdf0e10cSrcweir 
436cdf0e10cSrcweir     //________________________________________________________________________________________________________
437cdf0e10cSrcweir     //  XKeyListener
438cdf0e10cSrcweir     //________________________________________________________________________________________________________
439cdf0e10cSrcweir 
440cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
441cdf0e10cSrcweir         @short      -
442cdf0e10cSrcweir         @descr      -
443cdf0e10cSrcweir 
444cdf0e10cSrcweir         @seealso    -
445cdf0e10cSrcweir         @seealso    -
446cdf0e10cSrcweir 
447cdf0e10cSrcweir         @param      -
448cdf0e10cSrcweir 
449cdf0e10cSrcweir         @return     -
450cdf0e10cSrcweir 
451cdf0e10cSrcweir         @onerror    -
452cdf0e10cSrcweir     */
453cdf0e10cSrcweir 
454cdf0e10cSrcweir     virtual void SAL_CALL keyPressed( const UNO3_KEYEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
455cdf0e10cSrcweir 
456cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
457cdf0e10cSrcweir         @short      -
458cdf0e10cSrcweir         @descr      -
459cdf0e10cSrcweir 
460cdf0e10cSrcweir         @seealso    -
461cdf0e10cSrcweir         @seealso    -
462cdf0e10cSrcweir 
463cdf0e10cSrcweir         @param      -
464cdf0e10cSrcweir 
465cdf0e10cSrcweir         @return     -
466cdf0e10cSrcweir 
467cdf0e10cSrcweir         @onerror    -
468cdf0e10cSrcweir     */
469cdf0e10cSrcweir 
470cdf0e10cSrcweir     virtual void SAL_CALL keyReleased( const UNO3_KEYEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
471cdf0e10cSrcweir 
472cdf0e10cSrcweir     //________________________________________________________________________________________________________
473cdf0e10cSrcweir     //  XMouseListener
474cdf0e10cSrcweir     //________________________________________________________________________________________________________
475cdf0e10cSrcweir 
476cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
477cdf0e10cSrcweir         @short      -
478cdf0e10cSrcweir         @descr      -
479cdf0e10cSrcweir 
480cdf0e10cSrcweir         @seealso    -
481cdf0e10cSrcweir         @seealso    -
482cdf0e10cSrcweir 
483cdf0e10cSrcweir         @param      -
484cdf0e10cSrcweir 
485cdf0e10cSrcweir         @return     -
486cdf0e10cSrcweir 
487cdf0e10cSrcweir         @onerror    -
488cdf0e10cSrcweir     */
489cdf0e10cSrcweir 
490cdf0e10cSrcweir     virtual void SAL_CALL mousePressed(const UNO3_MOUSEEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
491cdf0e10cSrcweir 
492cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
493cdf0e10cSrcweir         @short      -
494cdf0e10cSrcweir         @descr      -
495cdf0e10cSrcweir 
496cdf0e10cSrcweir         @seealso    -
497cdf0e10cSrcweir         @seealso    -
498cdf0e10cSrcweir 
499cdf0e10cSrcweir         @param      -
500cdf0e10cSrcweir 
501cdf0e10cSrcweir         @return     -
502cdf0e10cSrcweir 
503cdf0e10cSrcweir         @onerror    -
504cdf0e10cSrcweir     */
505cdf0e10cSrcweir 
506cdf0e10cSrcweir     virtual void SAL_CALL mouseReleased(const UNO3_MOUSEEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
507cdf0e10cSrcweir 
508cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
509cdf0e10cSrcweir         @short      -
510cdf0e10cSrcweir         @descr      -
511cdf0e10cSrcweir 
512cdf0e10cSrcweir         @seealso    -
513cdf0e10cSrcweir         @seealso    -
514cdf0e10cSrcweir 
515cdf0e10cSrcweir         @param      -
516cdf0e10cSrcweir 
517cdf0e10cSrcweir         @return     -
518cdf0e10cSrcweir 
519cdf0e10cSrcweir         @onerror    -
520cdf0e10cSrcweir     */
521cdf0e10cSrcweir 
522cdf0e10cSrcweir     virtual void SAL_CALL mouseEntered(const UNO3_MOUSEEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
523cdf0e10cSrcweir 
524cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
525cdf0e10cSrcweir         @short      -
526cdf0e10cSrcweir         @descr      -
527cdf0e10cSrcweir 
528cdf0e10cSrcweir         @seealso    -
529cdf0e10cSrcweir         @seealso    -
530cdf0e10cSrcweir 
531cdf0e10cSrcweir         @param      -
532cdf0e10cSrcweir 
533cdf0e10cSrcweir         @return     -
534cdf0e10cSrcweir 
535cdf0e10cSrcweir         @onerror    -
536cdf0e10cSrcweir     */
537cdf0e10cSrcweir 
538cdf0e10cSrcweir     virtual void SAL_CALL mouseExited(const UNO3_MOUSEEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
539cdf0e10cSrcweir 
540cdf0e10cSrcweir     //________________________________________________________________________________________________________
541cdf0e10cSrcweir     //  XMouseMotionListener
542cdf0e10cSrcweir     //________________________________________________________________________________________________________
543cdf0e10cSrcweir 
544cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
545cdf0e10cSrcweir         @short      -
546cdf0e10cSrcweir         @descr      -
547cdf0e10cSrcweir 
548cdf0e10cSrcweir         @seealso    -
549cdf0e10cSrcweir         @seealso    -
550cdf0e10cSrcweir 
551cdf0e10cSrcweir         @param      -
552cdf0e10cSrcweir 
553cdf0e10cSrcweir         @return     -
554cdf0e10cSrcweir 
555cdf0e10cSrcweir         @onerror    -
556cdf0e10cSrcweir     */
557cdf0e10cSrcweir 
558cdf0e10cSrcweir     virtual void SAL_CALL mouseDragged(const UNO3_MOUSEEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
559cdf0e10cSrcweir 
560cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
561cdf0e10cSrcweir         @short      -
562cdf0e10cSrcweir         @descr      -
563cdf0e10cSrcweir 
564cdf0e10cSrcweir         @seealso    -
565cdf0e10cSrcweir         @seealso    -
566cdf0e10cSrcweir 
567cdf0e10cSrcweir         @param      -
568cdf0e10cSrcweir 
569cdf0e10cSrcweir         @return     -
570cdf0e10cSrcweir 
571cdf0e10cSrcweir         @onerror    -
572cdf0e10cSrcweir     */
573cdf0e10cSrcweir 
574cdf0e10cSrcweir     virtual void SAL_CALL mouseMoved(const UNO3_MOUSEEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
575cdf0e10cSrcweir 
576cdf0e10cSrcweir     //________________________________________________________________________________________________________
577cdf0e10cSrcweir     //  XPaintListener
578cdf0e10cSrcweir     //________________________________________________________________________________________________________
579cdf0e10cSrcweir 
580cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
581cdf0e10cSrcweir         @short      -
582cdf0e10cSrcweir         @descr      -
583cdf0e10cSrcweir 
584cdf0e10cSrcweir         @seealso    -
585cdf0e10cSrcweir         @seealso    -
586cdf0e10cSrcweir 
587cdf0e10cSrcweir         @param      -
588cdf0e10cSrcweir 
589cdf0e10cSrcweir         @return     -
590cdf0e10cSrcweir 
591cdf0e10cSrcweir         @onerror    -
592cdf0e10cSrcweir     */
593cdf0e10cSrcweir 
594cdf0e10cSrcweir     virtual void SAL_CALL windowPaint(const UNO3_PAINTEVENT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
595cdf0e10cSrcweir 
596cdf0e10cSrcweir     //________________________________________________________________________________________________________
597cdf0e10cSrcweir     //  XTopWindowListener
598cdf0e10cSrcweir     //________________________________________________________________________________________________________
599cdf0e10cSrcweir 
600cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
601cdf0e10cSrcweir         @short      -
602cdf0e10cSrcweir         @descr      -
603cdf0e10cSrcweir 
604cdf0e10cSrcweir         @seealso    -
605cdf0e10cSrcweir         @seealso    -
606cdf0e10cSrcweir 
607cdf0e10cSrcweir         @param      -
608cdf0e10cSrcweir 
609cdf0e10cSrcweir         @return     -
610cdf0e10cSrcweir 
611cdf0e10cSrcweir         @onerror    -
612cdf0e10cSrcweir     */
613cdf0e10cSrcweir 
614cdf0e10cSrcweir     virtual void SAL_CALL windowOpened( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
615cdf0e10cSrcweir 
616cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
617cdf0e10cSrcweir         @short      -
618cdf0e10cSrcweir         @descr      -
619cdf0e10cSrcweir 
620cdf0e10cSrcweir         @seealso    -
621cdf0e10cSrcweir         @seealso    -
622cdf0e10cSrcweir 
623cdf0e10cSrcweir         @param      -
624cdf0e10cSrcweir 
625cdf0e10cSrcweir         @return     -
626cdf0e10cSrcweir 
627cdf0e10cSrcweir         @onerror    -
628cdf0e10cSrcweir     */
629cdf0e10cSrcweir 
630cdf0e10cSrcweir     virtual void SAL_CALL windowClosing( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
631cdf0e10cSrcweir 
632cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
633cdf0e10cSrcweir         @short      -
634cdf0e10cSrcweir         @descr      -
635cdf0e10cSrcweir 
636cdf0e10cSrcweir         @seealso    -
637cdf0e10cSrcweir         @seealso    -
638cdf0e10cSrcweir 
639cdf0e10cSrcweir         @param      -
640cdf0e10cSrcweir 
641cdf0e10cSrcweir         @return     -
642cdf0e10cSrcweir 
643cdf0e10cSrcweir         @onerror    -
644cdf0e10cSrcweir     */
645cdf0e10cSrcweir 
646cdf0e10cSrcweir     virtual void SAL_CALL windowClosed( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
647cdf0e10cSrcweir 
648cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
649cdf0e10cSrcweir         @short      -
650cdf0e10cSrcweir         @descr      -
651cdf0e10cSrcweir 
652cdf0e10cSrcweir         @seealso    -
653cdf0e10cSrcweir         @seealso    -
654cdf0e10cSrcweir 
655cdf0e10cSrcweir         @param      -
656cdf0e10cSrcweir 
657cdf0e10cSrcweir         @return     -
658cdf0e10cSrcweir 
659cdf0e10cSrcweir         @onerror    -
660cdf0e10cSrcweir     */
661cdf0e10cSrcweir 
662cdf0e10cSrcweir     virtual void SAL_CALL windowMinimized( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
663cdf0e10cSrcweir 
664cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
665cdf0e10cSrcweir         @short      -
666cdf0e10cSrcweir         @descr      -
667cdf0e10cSrcweir 
668cdf0e10cSrcweir         @seealso    -
669cdf0e10cSrcweir         @seealso    -
670cdf0e10cSrcweir 
671cdf0e10cSrcweir         @param      -
672cdf0e10cSrcweir 
673cdf0e10cSrcweir         @return     -
674cdf0e10cSrcweir 
675cdf0e10cSrcweir         @onerror    -
676cdf0e10cSrcweir     */
677cdf0e10cSrcweir 
678cdf0e10cSrcweir     virtual void SAL_CALL windowNormalized( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
679cdf0e10cSrcweir 
680cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
681cdf0e10cSrcweir         @short      -
682cdf0e10cSrcweir         @descr      -
683cdf0e10cSrcweir 
684cdf0e10cSrcweir         @seealso    -
685cdf0e10cSrcweir         @seealso    -
686cdf0e10cSrcweir 
687cdf0e10cSrcweir         @param      -
688cdf0e10cSrcweir 
689cdf0e10cSrcweir         @return     -
690cdf0e10cSrcweir 
691cdf0e10cSrcweir         @onerror    -
692cdf0e10cSrcweir     */
693cdf0e10cSrcweir 
694cdf0e10cSrcweir     virtual void SAL_CALL windowActivated( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
695cdf0e10cSrcweir 
696cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
697cdf0e10cSrcweir         @short      -
698cdf0e10cSrcweir         @descr      -
699cdf0e10cSrcweir 
700cdf0e10cSrcweir         @seealso    -
701cdf0e10cSrcweir         @seealso    -
702cdf0e10cSrcweir 
703cdf0e10cSrcweir         @param      -
704cdf0e10cSrcweir 
705cdf0e10cSrcweir         @return     -
706cdf0e10cSrcweir 
707cdf0e10cSrcweir         @onerror    -
708cdf0e10cSrcweir     */
709cdf0e10cSrcweir 
710cdf0e10cSrcweir     virtual void SAL_CALL windowDeactivated( const UNO3_EVENTOBJECT& aEvent ) throw( UNO3_RUNTIMEEXCEPTION ) ;
711cdf0e10cSrcweir 
712cdf0e10cSrcweir //____________________________________________________________________________________________________________
713cdf0e10cSrcweir //  protected methods
714cdf0e10cSrcweir //____________________________________________________________________________________________________________
715cdf0e10cSrcweir 
716cdf0e10cSrcweir protected:
717cdf0e10cSrcweir 
718cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
719cdf0e10cSrcweir         @short      Remove the listener from the peer.
720cdf0e10cSrcweir         @descr      -
721cdf0e10cSrcweir 
722cdf0e10cSrcweir         @seealso    -
723cdf0e10cSrcweir 
724cdf0e10cSrcweir         @param      xPeer   The peer from which the listener is removed.
725cdf0e10cSrcweir         @param      rType   The listener type, which specify the type of the listener.
726cdf0e10cSrcweir 
727cdf0e10cSrcweir         @return     -
728cdf0e10cSrcweir 
729cdf0e10cSrcweir         @onerror    -
730cdf0e10cSrcweir     */
731cdf0e10cSrcweir 
732cdf0e10cSrcweir     void impl_adviseToPeer( const   UNO3_REFERENCE< UNO3_XWINDOW >& xPeer   ,
733cdf0e10cSrcweir                             const   UNO3_TYPE&                      aType   );
734cdf0e10cSrcweir 
735cdf0e10cSrcweir     /**_______________________________________________________________________________________________________
736cdf0e10cSrcweir         @short      Add the listener to the peer.
737cdf0e10cSrcweir         @descr      -
738cdf0e10cSrcweir 
739cdf0e10cSrcweir         @seealso    -
740cdf0e10cSrcweir 
741cdf0e10cSrcweir         @param      xPeer   The peer to which the listener is added.
742cdf0e10cSrcweir         @param      rType   The listener type, which specify the type of the listener.
743cdf0e10cSrcweir 
744cdf0e10cSrcweir         @return     -
745cdf0e10cSrcweir 
746cdf0e10cSrcweir         @onerror    -
747cdf0e10cSrcweir     */
748cdf0e10cSrcweir 
749cdf0e10cSrcweir     void impl_unadviseFromPeer( const   UNO3_REFERENCE< UNO3_XWINDOW >& xPeer   ,
750cdf0e10cSrcweir                                 const   UNO3_TYPE&                      aType   );
751cdf0e10cSrcweir 
752cdf0e10cSrcweir //____________________________________________________________________________________________________________
753cdf0e10cSrcweir //  private variables
754cdf0e10cSrcweir //____________________________________________________________________________________________________________
755cdf0e10cSrcweir 
756cdf0e10cSrcweir private:
757cdf0e10cSrcweir 
758cdf0e10cSrcweir     UNO3_MUTEX                                  m_aMutex            ;
759cdf0e10cSrcweir     UNO3_REFERENCE< UNO3_XWINDOW >              m_xPeer             ;   /// The source of the events. Normally this is the peer object.
760cdf0e10cSrcweir     UNO3_WEAKREFERENCE< UNO3_XWINDOW >          m_xControl          ;
761cdf0e10cSrcweir     UNO3_OMULTITYPEINTERFACECONTAINERHELPER     m_aListenerHolder   ;
762cdf0e10cSrcweir 
763cdf0e10cSrcweir };  // class OMRCListenerMultiplexerHelper
764cdf0e10cSrcweir 
765cdf0e10cSrcweir }   // namespace unocontrols
766cdf0e10cSrcweir 
767cdf0e10cSrcweir #endif  // ifndef _UNOCONTROLS_MULTIPLEXER_HXX
768