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#ifndef __com_sun_star_awt_XDockableWindowListener_idl__
24#define __com_sun_star_awt_XDockableWindowListener_idl__
25
26#ifndef __com_sun_star_lang_XEventListener_idl__
27#include <com/sun/star/lang/XEventListener.idl>
28#endif
29#ifndef __com_sun_star_awt_DockingData_idl__
30#include <com/sun/star/awt/DockingData.idl>
31#endif
32#ifndef __com_sun_star_awt_EndDockingEvent_idl__
33#include <com/sun/star/awt/EndDockingEvent.idl>
34#endif
35#ifndef __com_sun_star_awt_DockingEvent_idl__
36#include <com/sun/star/awt/DockingEvent.idl>
37#endif
38#ifndef __com_sun_star_awt_EndPopupModeEvent_idl__
39#include <com/sun/star/awt/EndPopupModeEvent.idl>
40#endif
41#ifndef __com_sun_star_lang_EventObject_idl__
42#include <com/sun/star/lang/EventObject.idl>
43#endif
44
45//=============================================================================
46
47module com {  module sun {  module star {  module awt {
48
49//=============================================================================
50
51/** makes it possible to receive docking events.
52 */
53interface XDockableWindowListener: com::sun::star::lang::XEventListener
54{
55	//-------------------------------------------------------------------------
56
57	/** is invoked when the docking procedure starts.
58	 */
59	void startDocking( [in] com::sun::star::awt::DockingEvent e );
60
61	//-------------------------------------------------------------------------
62
63	/** is invoked during the docking procedure when the window has been moved.
64
65        on return the DockingData must contain either the old tracking rectangle
66        or a changed rectangle if required, additionally it must indicate if
67        the window should be docked or floating
68
69        Note: the tracking rectangle indicates to the user where the window would
70            be placed if he releases the mouse.
71
72	 */
73	DockingData docking( [in] com::sun::star::awt::DockingEvent e );
74
75	//-------------------------------------------------------------------------
76
77	/** is invoked when the docking procedure ends.
78        aWindowRect contains the new position and size of the window
79	 */
80	void endDocking( [in] com::sun::star::awt::EndDockingEvent e );
81
82	//-------------------------------------------------------------------------
83
84	/** is invoked when the floating mode is about to be changed between
85            floating and docked or vice versa
86
87        if returned FALSE the floating mode will not be changed
88	 */
89	boolean prepareToggleFloatingMode( [in] com::sun::star::lang::EventObject e );
90
91	//-------------------------------------------------------------------------
92
93	/** is invoked when the floating mode is changed between
94            floating and docked or vice versa
95	 */
96	void toggleFloatingMode( [in] com::sun::star::lang::EventObject e );
97
98	//-------------------------------------------------------------------------
99
100	/** is invoked when the window was actively closed
101	 */
102	void closed( [in] com::sun::star::lang::EventObject e );
103
104	//-------------------------------------------------------------------------
105
106	/** is invoked when the window currently is in popupmode and wants to be undocked
107        or closed
108	 */
109	void endPopupMode( [in] com::sun::star::awt::EndPopupModeEvent e );
110
111};
112
113//=============================================================================
114
115}; }; }; };
116
117#endif
118