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 _XWIN_HXX_ 25 #define _XWIN_HXX_ 26 27 28 #include "common.h" 29 #include <osl/mutex.hxx> 30 #include <cppuhelper/interfacecontainer.h> 31 #include <cppuhelper/implbase2.hxx> 32 #include <com/sun/star/awt/XWindow.hpp> 33 #include <com/sun/star/awt/XSystemDependentWindowPeer.hpp> 34 35 36 class ContainerWindowWrapper: 37 public ::cppu::WeakImplHelper2< 38 ::com::sun::star::awt::XWindow, 39 ::com::sun::star::awt::XSystemDependentWindowPeer> 40 { 41 public: 42 43 ContainerWindowWrapper(HWND aHwnd); 44 45 ~ ContainerWindowWrapper(); 46 47 48 // XComponent 49 50 virtual void SAL_CALL 51 dispose( 52 ) 53 throw ( 54 ::com::sun::star::uno::RuntimeException 55 ); 56 57 virtual void SAL_CALL 58 addEventListener( 59 const ::com::sun::star::uno::Reference< 60 ::com::sun::star::lang::XEventListener >& xListener 61 ) 62 throw ( 63 ::com::sun::star::uno::RuntimeException 64 ); 65 66 virtual void SAL_CALL 67 removeEventListener( 68 const ::com::sun::star::uno::Reference< 69 ::com::sun::star::lang::XEventListener >& aListener 70 ) 71 throw ( 72 ::com::sun::star::uno::RuntimeException 73 ); 74 75 76 // XSystemDependentWindowPeer 77 78 virtual ::com::sun::star::uno::Any SAL_CALL 79 getWindowHandle( 80 const ::com::sun::star::uno::Sequence< sal_Int8 >& ProcessId, 81 sal_Int16 SystemType 82 ) 83 throw ( 84 ::com::sun::star::uno::RuntimeException 85 ); 86 87 // XWindow 88 89 virtual void SAL_CALL 90 setPosSize( 91 sal_Int32 X, 92 sal_Int32 Y, 93 sal_Int32 Width, 94 sal_Int32 Height, 95 sal_Int16 Flags 96 ) 97 throw ( 98 ::com::sun::star::uno::RuntimeException); 99 100 virtual ::com::sun::star::awt::Rectangle SAL_CALL 101 getPosSize( 102 ) 103 throw ( 104 ::com::sun::star::uno::RuntimeException 105 ); 106 107 virtual void SAL_CALL 108 setVisible( 109 sal_Bool Visible 110 ) 111 throw ( 112 ::com::sun::star::uno::RuntimeException 113 ); 114 115 virtual void SAL_CALL 116 setEnable( 117 sal_Bool Enable 118 ) 119 throw ( 120 ::com::sun::star::uno::RuntimeException 121 ); 122 123 virtual void SAL_CALL 124 setFocus( 125 ) 126 throw ( 127 ::com::sun::star::uno::RuntimeException 128 ); 129 130 virtual void SAL_CALL 131 addWindowListener( 132 const ::com::sun::star::uno::Reference< 133 ::com::sun::star::awt::XWindowListener >& xListener 134 ) 135 throw ( 136 ::com::sun::star::uno::RuntimeException 137 ); 138 139 virtual void SAL_CALL 140 removeWindowListener( 141 const ::com::sun::star::uno::Reference< 142 ::com::sun::star::awt::XWindowListener >& xListener 143 ) 144 throw ( 145 ::com::sun::star::uno::RuntimeException 146 ); 147 148 virtual void SAL_CALL 149 addFocusListener( 150 const ::com::sun::star::uno::Reference< 151 ::com::sun::star::awt::XFocusListener >& xListener 152 ) 153 throw ( 154 ::com::sun::star::uno::RuntimeException 155 ); 156 157 virtual void SAL_CALL 158 removeFocusListener( 159 const ::com::sun::star::uno::Reference< 160 ::com::sun::star::awt::XFocusListener >& xListener 161 ) 162 throw ( 163 ::com::sun::star::uno::RuntimeException 164 ); 165 166 virtual void SAL_CALL 167 addKeyListener( 168 const ::com::sun::star::uno::Reference< 169 ::com::sun::star::awt::XKeyListener >& xListener 170 ) 171 throw ( 172 ::com::sun::star::uno::RuntimeException 173 ); 174 175 virtual void SAL_CALL 176 removeKeyListener( 177 const ::com::sun::star::uno::Reference< 178 ::com::sun::star::awt::XKeyListener >& xListener 179 ) 180 throw ( 181 ::com::sun::star::uno::RuntimeException 182 ); 183 184 virtual void SAL_CALL 185 addMouseListener( 186 const ::com::sun::star::uno::Reference< 187 ::com::sun::star::awt::XMouseListener >& xListener 188 ) 189 throw ( 190 ::com::sun::star::uno::RuntimeException 191 ); 192 193 virtual void SAL_CALL 194 removeMouseListener( 195 const ::com::sun::star::uno::Reference< 196 ::com::sun::star::awt::XMouseListener >& xListener 197 ) 198 throw ( 199 ::com::sun::star::uno::RuntimeException 200 ); 201 202 virtual void SAL_CALL 203 addMouseMotionListener( 204 const ::com::sun::star::uno::Reference< 205 ::com::sun::star::awt::XMouseMotionListener >& xListener 206 ) 207 throw ( 208 ::com::sun::star::uno::RuntimeException 209 ); 210 211 virtual void SAL_CALL 212 removeMouseMotionListener( 213 const ::com::sun::star::uno::Reference< 214 ::com::sun::star::awt::XMouseMotionListener >& xListener 215 ) 216 throw ( 217 ::com::sun::star::uno::RuntimeException 218 ); 219 220 virtual void SAL_CALL 221 addPaintListener( 222 const ::com::sun::star::uno::Reference< 223 ::com::sun::star::awt::XPaintListener >& xListener 224 ) 225 throw ( 226 ::com::sun::star::uno::RuntimeException 227 ); 228 229 virtual void SAL_CALL 230 removePaintListener( 231 const ::com::sun::star::uno::Reference< 232 ::com::sun::star::awt::XPaintListener >& xListener 233 ) 234 throw ( 235 ::com::sun::star::uno::RuntimeException 236 ); 237 238 239 private: 240 241 osl::Mutex m_aMutex; 242 cppu::OInterfaceContainerHelper *m_pDisposeEventListeners; 243 244 HWND m_aHwnd; 245 }; 246 247 248 #endif 249