xref: /aoo42x/main/UnoControls/inc/multiplexer.hxx (revision f6c049e2)
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
10*f6c049e2SAndrew Rist  *
11*f6c049e2SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*f6c049e2SAndrew Rist  *
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.
19*f6c049e2SAndrew Rist  *
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