1*e357d40eSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*e357d40eSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*e357d40eSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*e357d40eSAndrew Rist * distributed with this work for additional information 6*e357d40eSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*e357d40eSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*e357d40eSAndrew Rist * "License"); you may not use this file except in compliance 9*e357d40eSAndrew Rist * with the License. You may obtain a copy of the License at 10*e357d40eSAndrew Rist * 11*e357d40eSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*e357d40eSAndrew Rist * 13*e357d40eSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*e357d40eSAndrew Rist * software distributed under the License is distributed on an 15*e357d40eSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*e357d40eSAndrew Rist * KIND, either express or implied. See the License for the 17*e357d40eSAndrew Rist * specific language governing permissions and limitations 18*e357d40eSAndrew Rist * under the License. 19*e357d40eSAndrew Rist * 20*e357d40eSAndrew Rist *************************************************************/ 21*e357d40eSAndrew Rist 22*e357d40eSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir import sun.awt.*; 25cdf0e10cSrcweir import com.sun.star.awt.*; 26cdf0e10cSrcweir import com.sun.star.lang.*; 27cdf0e10cSrcweir import java.util.*; 28cdf0e10cSrcweir import javax.swing.*; 29cdf0e10cSrcweir 30cdf0e10cSrcweir public class WindowAdapter 31cdf0e10cSrcweir { 32cdf0e10cSrcweir private java.awt.Frame maFrame; 33cdf0e10cSrcweir private LinkedList maEventListeners = new LinkedList(); 34cdf0e10cSrcweir private LinkedList maWindowListeners = new LinkedList(); 35cdf0e10cSrcweir private LinkedList maFocusListeners = new LinkedList(); 36cdf0e10cSrcweir private LinkedList maKeyListeners = new LinkedList(); 37cdf0e10cSrcweir private LinkedList maMouseListeners = new LinkedList(); 38cdf0e10cSrcweir private LinkedList maMouseMotionListeners = new LinkedList(); 39cdf0e10cSrcweir private LinkedList maPaintListeners = new LinkedList(); 40cdf0e10cSrcweir private boolean mbShift = false, mbMod1 = false, mbMod2 = false; 41cdf0e10cSrcweir 42cdf0e10cSrcweir // ----------------- 43cdf0e10cSrcweir // - WindowAdapter - 44cdf0e10cSrcweir // ----------------- 45cdf0e10cSrcweir WindowAdapter( int windowHandle )46cdf0e10cSrcweir public WindowAdapter( int windowHandle ) 47cdf0e10cSrcweir { 48cdf0e10cSrcweir maFrame = SystemWindowAdapter.createFrame( windowHandle ); 49cdf0e10cSrcweir } 50cdf0e10cSrcweir 51cdf0e10cSrcweir //---------------------------------------------------------------------------------- 52cdf0e10cSrcweir getJavaFrame()53cdf0e10cSrcweir public java.awt.Frame getJavaFrame() 54cdf0e10cSrcweir { 55cdf0e10cSrcweir return maFrame; 56cdf0e10cSrcweir } 57cdf0e10cSrcweir 58cdf0e10cSrcweir //---------------------------------------------------------------------------------- 59cdf0e10cSrcweir implGetUNOKeyCode( int nJavaKeyCode )60cdf0e10cSrcweir private short implGetUNOKeyCode( int nJavaKeyCode ) 61cdf0e10cSrcweir { 62cdf0e10cSrcweir short nRet = 0; 63cdf0e10cSrcweir 64cdf0e10cSrcweir switch( nJavaKeyCode ) 65cdf0e10cSrcweir { 66cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD0 ): 67cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_0 ): nRet = com.sun.star.awt.Key.NUM0; break; 68cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD1 ): 69cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_1 ): nRet = com.sun.star.awt.Key.NUM1; break; 70cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD2 ): 71cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_2 ): nRet = com.sun.star.awt.Key.NUM2; break; 72cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD3 ): 73cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_3 ): nRet = com.sun.star.awt.Key.NUM3; break; 74cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD4 ): 75cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_4 ): nRet = com.sun.star.awt.Key.NUM4; break; 76cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD5 ): 77cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_5 ): nRet = com.sun.star.awt.Key.NUM5; break; 78cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD6 ): 79cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_6 ): nRet = com.sun.star.awt.Key.NUM6; break; 80cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD7 ): 81cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_7 ): nRet = com.sun.star.awt.Key.NUM7; break; 82cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD8 ): 83cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_8 ): nRet = com.sun.star.awt.Key.NUM8; break; 84cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_NUMPAD9 ): 85cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_9 ): nRet = com.sun.star.awt.Key.NUM9; break; 86cdf0e10cSrcweir 87cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_A ): nRet = com.sun.star.awt.Key.A; break; 88cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_B ): nRet = com.sun.star.awt.Key.B; break; 89cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_C ): nRet = com.sun.star.awt.Key.C; break; 90cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_D ): nRet = com.sun.star.awt.Key.D; break; 91cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_E ): nRet = com.sun.star.awt.Key.E; break; 92cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F ): nRet = com.sun.star.awt.Key.F; break; 93cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_G ): nRet = com.sun.star.awt.Key.G; break; 94cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_H ): nRet = com.sun.star.awt.Key.H; break; 95cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_I ): nRet = com.sun.star.awt.Key.I; break; 96cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_J ): nRet = com.sun.star.awt.Key.J; break; 97cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_K ): nRet = com.sun.star.awt.Key.K; break; 98cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_L ): nRet = com.sun.star.awt.Key.L; break; 99cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_M ): nRet = com.sun.star.awt.Key.M; break; 100cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_N ): nRet = com.sun.star.awt.Key.N; break; 101cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_O ): nRet = com.sun.star.awt.Key.O; break; 102cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_P ): nRet = com.sun.star.awt.Key.P; break; 103cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_Q ): nRet = com.sun.star.awt.Key.Q; break; 104cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_R ): nRet = com.sun.star.awt.Key.R; break; 105cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_S ): nRet = com.sun.star.awt.Key.S; break; 106cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_T ): nRet = com.sun.star.awt.Key.T; break; 107cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_U ): nRet = com.sun.star.awt.Key.U; break; 108cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_V ): nRet = com.sun.star.awt.Key.V; break; 109cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_W ): nRet = com.sun.star.awt.Key.W; break; 110cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_X ): nRet = com.sun.star.awt.Key.X; break; 111cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_Y ): nRet = com.sun.star.awt.Key.Y; break; 112cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_Z ): nRet = com.sun.star.awt.Key.Z; break; 113cdf0e10cSrcweir 114cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F1 ): nRet = com.sun.star.awt.Key.F1; break; 115cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F2 ): nRet = com.sun.star.awt.Key.F2; break; 116cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F3 ): nRet = com.sun.star.awt.Key.F3; break; 117cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F4 ): nRet = com.sun.star.awt.Key.F4; break; 118cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F5 ): nRet = com.sun.star.awt.Key.F5; break; 119cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F6 ): nRet = com.sun.star.awt.Key.F6; break; 120cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F7 ): nRet = com.sun.star.awt.Key.F7; break; 121cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F8 ): nRet = com.sun.star.awt.Key.F8; break; 122cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F9 ): nRet = com.sun.star.awt.Key.F9; break; 123cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F10 ): nRet = com.sun.star.awt.Key.F10; break; 124cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F11 ): nRet = com.sun.star.awt.Key.F11; break; 125cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F12 ): nRet = com.sun.star.awt.Key.F12; break; 126cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F13 ): nRet = com.sun.star.awt.Key.F13; break; 127cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F14 ): nRet = com.sun.star.awt.Key.F14; break; 128cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F15 ): nRet = com.sun.star.awt.Key.F15; break; 129cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F16 ): nRet = com.sun.star.awt.Key.F16; break; 130cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F17 ): nRet = com.sun.star.awt.Key.F17; break; 131cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F18 ): nRet = com.sun.star.awt.Key.F18; break; 132cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F19 ): nRet = com.sun.star.awt.Key.F19; break; 133cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F20 ): nRet = com.sun.star.awt.Key.F20; break; 134cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F21 ): nRet = com.sun.star.awt.Key.F21; break; 135cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F22 ): nRet = com.sun.star.awt.Key.F22; break; 136cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F23 ): nRet = com.sun.star.awt.Key.F23; break; 137cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_F24 ): nRet = com.sun.star.awt.Key.F24; break; 138cdf0e10cSrcweir 139cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_UP ): nRet = com.sun.star.awt.Key.UP; break; 140cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_DOWN): nRet = com.sun.star.awt.Key.DOWN; break; 141cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_LEFT ): nRet = com.sun.star.awt.Key.LEFT; break; 142cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_RIGHT ): nRet = com.sun.star.awt.Key.RIGHT; break; 143cdf0e10cSrcweir 144cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_HOME ): nRet = com.sun.star.awt.Key.HOME; break; 145cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_END ): nRet = com.sun.star.awt.Key.END; break; 146cdf0e10cSrcweir 147cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_PAGE_UP ): nRet = com.sun.star.awt.Key.PAGEUP; break; 148cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_PAGE_DOWN ): nRet = com.sun.star.awt.Key.PAGEDOWN; break; 149cdf0e10cSrcweir 150cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_ENTER ): nRet = com.sun.star.awt.Key.RETURN; break; 151cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_ESCAPE ): nRet = com.sun.star.awt.Key.ESCAPE; break; 152cdf0e10cSrcweir 153cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_TAB ): nRet = com.sun.star.awt.Key.TAB; break; 154cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_BACK_SPACE ): nRet = com.sun.star.awt.Key.BACKSPACE; break; 155cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_SPACE ): nRet = com.sun.star.awt.Key.SPACE; break; 156cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_INSERT): nRet = com.sun.star.awt.Key.INSERT; break; 157cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_DELETE): nRet = com.sun.star.awt.Key.DELETE; break; 158cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_ADD ): nRet = com.sun.star.awt.Key.ADD; break; 159cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_SUBTRACT ): nRet = com.sun.star.awt.Key.SUBTRACT; break; 160cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_MULTIPLY ): nRet = com.sun.star.awt.Key.MULTIPLY; break; 161cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_DIVIDE ): nRet = com.sun.star.awt.Key.DIVIDE; break; 162cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_DECIMAL ): nRet = com.sun.star.awt.Key.POINT; break; 163cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ COMMA; break; 164cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_LESS ): nRet = com.sun.star.awt.Key.LESS; break; 165cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_GREATER ): nRet = com.sun.star.awt.Key.GREATER; break; 166cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_EQUALS ): nRet = com.sun.star.awt.Key.EQUAL; break; 167cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ OPEN; break; 168cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ CUT; break; 169cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ COPY; break; 170cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ PASTE; break; 171cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ UNDO; break; 172cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ REPEAT; break; 173cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ FIND; break; 174cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ PROPERTIES; break; 175cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ FRONT; break; 176cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ CONTEXTMENU; break; 177cdf0e10cSrcweir // case( java.awt.event.KeyEvent.VK_ HELP; break; 178cdf0e10cSrcweir 179cdf0e10cSrcweir default: 180cdf0e10cSrcweir break; 181cdf0e10cSrcweir } 182cdf0e10cSrcweir 183cdf0e10cSrcweir return nRet; 184cdf0e10cSrcweir } 185cdf0e10cSrcweir 186cdf0e10cSrcweir //---------------------------------------------------------------------------------- 187cdf0e10cSrcweir fireKeyEvent( java.awt.event.KeyEvent aEvt )188cdf0e10cSrcweir public void fireKeyEvent( java.awt.event.KeyEvent aEvt ) 189cdf0e10cSrcweir { 190cdf0e10cSrcweir if( maKeyListeners.size() > 0 ) 191cdf0e10cSrcweir { 192cdf0e10cSrcweir boolean bProcess = false, bPressed = false; 193cdf0e10cSrcweir 194cdf0e10cSrcweir if( java.awt.event.KeyEvent.KEY_PRESSED == aEvt.getID() ) 195cdf0e10cSrcweir { 196cdf0e10cSrcweir switch( aEvt.getKeyCode() ) 197cdf0e10cSrcweir { 198cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_SHIFT ): mbShift = true; break; 199cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_CONTROL ): mbMod1 = true; break; 200cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_ALT ): mbMod2 = true; break; 201cdf0e10cSrcweir 202cdf0e10cSrcweir default: 203cdf0e10cSrcweir { 204cdf0e10cSrcweir bProcess = bPressed = true; 205cdf0e10cSrcweir } 206cdf0e10cSrcweir break; 207cdf0e10cSrcweir } 208cdf0e10cSrcweir } 209cdf0e10cSrcweir else if( java.awt.event.KeyEvent.KEY_RELEASED == aEvt.getID() ) 210cdf0e10cSrcweir { 211cdf0e10cSrcweir switch( aEvt.getKeyCode() ) 212cdf0e10cSrcweir { 213cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_SHIFT ): mbShift = false; break; 214cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_CONTROL ): mbMod1 = false; break; 215cdf0e10cSrcweir case( java.awt.event.KeyEvent.VK_ALT ): mbMod2 = false; break; 216cdf0e10cSrcweir 217cdf0e10cSrcweir default: 218cdf0e10cSrcweir { 219cdf0e10cSrcweir bProcess = true; 220cdf0e10cSrcweir } 221cdf0e10cSrcweir break; 222cdf0e10cSrcweir } 223cdf0e10cSrcweir } 224cdf0e10cSrcweir 225cdf0e10cSrcweir if( bProcess ) 226cdf0e10cSrcweir { 227cdf0e10cSrcweir KeyEvent aUNOEvt = new KeyEvent(); 228cdf0e10cSrcweir 229cdf0e10cSrcweir aUNOEvt.Modifiers = 0; 230cdf0e10cSrcweir 231cdf0e10cSrcweir if( mbShift ) 232cdf0e10cSrcweir aUNOEvt.Modifiers |= com.sun.star.awt.KeyModifier.SHIFT; 233cdf0e10cSrcweir 234cdf0e10cSrcweir if( mbMod1 ) 235cdf0e10cSrcweir aUNOEvt.Modifiers |= com.sun.star.awt.KeyModifier.MOD1; 236cdf0e10cSrcweir 237cdf0e10cSrcweir if( mbMod2 ) 238cdf0e10cSrcweir aUNOEvt.Modifiers |= com.sun.star.awt.KeyModifier.MOD2; 239cdf0e10cSrcweir 240cdf0e10cSrcweir aUNOEvt.KeyCode = implGetUNOKeyCode( aEvt.getKeyCode() ); 241cdf0e10cSrcweir aUNOEvt.KeyChar = aEvt.getKeyChar(); 242cdf0e10cSrcweir aUNOEvt.KeyFunc = com.sun.star.awt.KeyFunction.DONTKNOW; 243cdf0e10cSrcweir 244cdf0e10cSrcweir ListIterator aIter = maKeyListeners.listIterator( 0 ); 245cdf0e10cSrcweir 246cdf0e10cSrcweir while( aIter.hasNext() ) 247cdf0e10cSrcweir { 248cdf0e10cSrcweir if( bPressed ) 249cdf0e10cSrcweir ( (XKeyListener) aIter.next() ).keyPressed( aUNOEvt ); 250cdf0e10cSrcweir else 251cdf0e10cSrcweir ( (XKeyListener) aIter.next() ).keyReleased( aUNOEvt ); 252cdf0e10cSrcweir } 253cdf0e10cSrcweir } 254cdf0e10cSrcweir } 255cdf0e10cSrcweir } 256cdf0e10cSrcweir 257cdf0e10cSrcweir //---------------------------------------------------------------------------------- 258cdf0e10cSrcweir fireMouseEvent( java.awt.event.MouseEvent aEvt )259cdf0e10cSrcweir public void fireMouseEvent( java.awt.event.MouseEvent aEvt ) 260cdf0e10cSrcweir { 261cdf0e10cSrcweir MouseEvent aUNOEvt = new MouseEvent(); 262cdf0e10cSrcweir 263cdf0e10cSrcweir aUNOEvt.Modifiers = 0; 264cdf0e10cSrcweir aUNOEvt.Buttons = 0; 265cdf0e10cSrcweir aUNOEvt.X = aEvt.getX(); 266cdf0e10cSrcweir aUNOEvt.Y = aEvt.getY(); 267cdf0e10cSrcweir aUNOEvt.PopupTrigger = false; 268cdf0e10cSrcweir 269cdf0e10cSrcweir // Modifiers 270cdf0e10cSrcweir if( aEvt.isShiftDown() ) 271cdf0e10cSrcweir aUNOEvt.Modifiers |= com.sun.star.awt.KeyModifier.SHIFT; 272cdf0e10cSrcweir 273cdf0e10cSrcweir if( aEvt.isControlDown() ) 274cdf0e10cSrcweir aUNOEvt.Modifiers |= com.sun.star.awt.KeyModifier.MOD1; 275cdf0e10cSrcweir 276cdf0e10cSrcweir if( aEvt.isAltDown() ) 277cdf0e10cSrcweir aUNOEvt.Modifiers |= com.sun.star.awt.KeyModifier.MOD2; 278cdf0e10cSrcweir 279cdf0e10cSrcweir // Buttons 280cdf0e10cSrcweir if( SwingUtilities.isLeftMouseButton( aEvt ) ) 281cdf0e10cSrcweir aUNOEvt.Buttons |= com.sun.star.awt.MouseButton.LEFT; 282cdf0e10cSrcweir 283cdf0e10cSrcweir if( SwingUtilities.isMiddleMouseButton( aEvt ) ) 284cdf0e10cSrcweir aUNOEvt.Buttons |= com.sun.star.awt.MouseButton.MIDDLE; 285cdf0e10cSrcweir 286cdf0e10cSrcweir if( SwingUtilities.isRightMouseButton( aEvt ) ) 287cdf0e10cSrcweir aUNOEvt.Buttons |= com.sun.star.awt.MouseButton.RIGHT; 288cdf0e10cSrcweir 289cdf0e10cSrcweir // event type 290cdf0e10cSrcweir if( java.awt.event.MouseEvent.MOUSE_PRESSED == aEvt.getID() ) 291cdf0e10cSrcweir { 292cdf0e10cSrcweir ListIterator aIter = maMouseListeners.listIterator( 0 ); 293cdf0e10cSrcweir 294cdf0e10cSrcweir aUNOEvt.ClickCount = 1; 295cdf0e10cSrcweir 296cdf0e10cSrcweir while( aIter.hasNext() ) 297cdf0e10cSrcweir ( (XMouseListener) aIter.next() ).mousePressed( aUNOEvt ); 298cdf0e10cSrcweir } 299cdf0e10cSrcweir else if( java.awt.event.MouseEvent.MOUSE_RELEASED == aEvt.getID() ) 300cdf0e10cSrcweir { 301cdf0e10cSrcweir ListIterator aIter = maMouseListeners.listIterator( 0 ); 302cdf0e10cSrcweir 303cdf0e10cSrcweir aUNOEvt.ClickCount = 1; 304cdf0e10cSrcweir 305cdf0e10cSrcweir while( aIter.hasNext() ) 306cdf0e10cSrcweir ( (XMouseListener) aIter.next() ).mouseReleased( aUNOEvt ); 307cdf0e10cSrcweir } 308cdf0e10cSrcweir else if( java.awt.event.MouseEvent.MOUSE_DRAGGED == aEvt.getID() ) 309cdf0e10cSrcweir { 310cdf0e10cSrcweir ListIterator aIter = maMouseMotionListeners.listIterator( 0 ); 311cdf0e10cSrcweir 312cdf0e10cSrcweir aUNOEvt.ClickCount = 0; 313cdf0e10cSrcweir 314cdf0e10cSrcweir while( aIter.hasNext() ) 315cdf0e10cSrcweir ( (XMouseMotionListener) aIter.next() ).mouseDragged( aUNOEvt ); 316cdf0e10cSrcweir } 317cdf0e10cSrcweir else if( java.awt.event.MouseEvent.MOUSE_MOVED == aEvt.getID() ) 318cdf0e10cSrcweir { 319cdf0e10cSrcweir ListIterator aIter = maMouseMotionListeners.listIterator( 0 ); 320cdf0e10cSrcweir 321cdf0e10cSrcweir aUNOEvt.ClickCount = 0; 322cdf0e10cSrcweir 323cdf0e10cSrcweir while( aIter.hasNext() ) 324cdf0e10cSrcweir ( (XMouseMotionListener) aIter.next() ).mouseMoved( aUNOEvt ); 325cdf0e10cSrcweir } 326cdf0e10cSrcweir } 327cdf0e10cSrcweir 328cdf0e10cSrcweir //---------------------------------------------------------------------------------- 329cdf0e10cSrcweir fireFocusEvent( java.awt.event.FocusEvent aEvt )330cdf0e10cSrcweir public void fireFocusEvent( java.awt.event.FocusEvent aEvt ) 331cdf0e10cSrcweir { 332cdf0e10cSrcweir if( java.awt.event.FocusEvent.FOCUS_GAINED == aEvt.getID() ) 333cdf0e10cSrcweir { 334cdf0e10cSrcweir ListIterator aIter = maFocusListeners.listIterator( 0 ); 335cdf0e10cSrcweir FocusEvent aUNOEvt = new FocusEvent(); 336cdf0e10cSrcweir 337cdf0e10cSrcweir while( aIter.hasNext() ) 338cdf0e10cSrcweir { 339cdf0e10cSrcweir ( (XFocusListener) aIter.next() ).focusGained( aUNOEvt ); 340cdf0e10cSrcweir } 341cdf0e10cSrcweir } 342cdf0e10cSrcweir } 343cdf0e10cSrcweir 344cdf0e10cSrcweir //---------------------------------------------------------------------------------- 345cdf0e10cSrcweir fireDisposingEvent()346cdf0e10cSrcweir public void fireDisposingEvent() 347cdf0e10cSrcweir { 348cdf0e10cSrcweir ListIterator aIter = maEventListeners.listIterator( 0 ); 349cdf0e10cSrcweir 350cdf0e10cSrcweir while( aIter.hasNext() ) 351cdf0e10cSrcweir { 352cdf0e10cSrcweir ( (XEventListener) aIter.next() ).disposing( new com.sun.star.lang.EventObject() ); 353cdf0e10cSrcweir } 354cdf0e10cSrcweir } 355cdf0e10cSrcweir 356cdf0e10cSrcweir // -------------------- 357cdf0e10cSrcweir // - XWindow methods - 358cdf0e10cSrcweir // -------------------- 359cdf0e10cSrcweir setPosSize( int X, int Y, int Width, int Height, short Flags )360cdf0e10cSrcweir public void setPosSize( int X, int Y, int Width, int Height, short Flags ) 361cdf0e10cSrcweir { 362cdf0e10cSrcweir maFrame.setBounds( X, Y, Width, Height ); 363cdf0e10cSrcweir } 364cdf0e10cSrcweir 365cdf0e10cSrcweir //---------------------------------------------------------------------------------- 366cdf0e10cSrcweir getPosSize( )367cdf0e10cSrcweir public com.sun.star.awt.Rectangle getPosSize( ) 368cdf0e10cSrcweir { 369cdf0e10cSrcweir java.awt.Rectangle bounds = maFrame.getBounds(); 370cdf0e10cSrcweir return new com.sun.star.awt.Rectangle( bounds.x, bounds.y, bounds.width, bounds.height ); 371cdf0e10cSrcweir } 372cdf0e10cSrcweir 373cdf0e10cSrcweir //---------------------------------------------------------------------------------- 374cdf0e10cSrcweir setVisible( boolean visible )375cdf0e10cSrcweir public void setVisible( boolean visible ) 376cdf0e10cSrcweir { 377cdf0e10cSrcweir maFrame.setVisible( visible ); 378cdf0e10cSrcweir } 379cdf0e10cSrcweir 380cdf0e10cSrcweir //---------------------------------------------------------------------------------- 381cdf0e10cSrcweir setEnable( boolean enable )382cdf0e10cSrcweir public void setEnable( boolean enable ) 383cdf0e10cSrcweir { 384cdf0e10cSrcweir maFrame.setEnabled( enable ); 385cdf0e10cSrcweir } 386cdf0e10cSrcweir 387cdf0e10cSrcweir //---------------------------------------------------------------------------------- 388cdf0e10cSrcweir setFocus()389cdf0e10cSrcweir public void setFocus() 390cdf0e10cSrcweir { 391cdf0e10cSrcweir } 392cdf0e10cSrcweir 393cdf0e10cSrcweir //---------------------------------------------------------------------------------- 394cdf0e10cSrcweir addEventListener( XEventListener xListener )395cdf0e10cSrcweir public void addEventListener( XEventListener xListener ) 396cdf0e10cSrcweir { 397cdf0e10cSrcweir if( xListener != null ) 398cdf0e10cSrcweir maEventListeners.add( xListener ); 399cdf0e10cSrcweir } 400cdf0e10cSrcweir 401cdf0e10cSrcweir //---------------------------------------------------------------------------------- 402cdf0e10cSrcweir removeEventListener( XEventListener xListener )403cdf0e10cSrcweir public void removeEventListener( XEventListener xListener ) 404cdf0e10cSrcweir { 405cdf0e10cSrcweir if( xListener != null ) 406cdf0e10cSrcweir maEventListeners.remove( xListener ); 407cdf0e10cSrcweir } 408cdf0e10cSrcweir 409cdf0e10cSrcweir //---------------------------------------------------------------------------------- 410cdf0e10cSrcweir addWindowListener( XWindowListener xListener )411cdf0e10cSrcweir public void addWindowListener( XWindowListener xListener ) 412cdf0e10cSrcweir { 413cdf0e10cSrcweir if( xListener != null ) 414cdf0e10cSrcweir maWindowListeners.add( xListener ); 415cdf0e10cSrcweir } 416cdf0e10cSrcweir 417cdf0e10cSrcweir //---------------------------------------------------------------------------------- 418cdf0e10cSrcweir removeWindowListener( XWindowListener xListener )419cdf0e10cSrcweir public void removeWindowListener( XWindowListener xListener ) 420cdf0e10cSrcweir { 421cdf0e10cSrcweir if( xListener != null ) 422cdf0e10cSrcweir maWindowListeners.remove( xListener ); 423cdf0e10cSrcweir } 424cdf0e10cSrcweir 425cdf0e10cSrcweir //---------------------------------------------------------------------------------- 426cdf0e10cSrcweir addFocusListener( XFocusListener xListener )427cdf0e10cSrcweir public void addFocusListener( XFocusListener xListener ) 428cdf0e10cSrcweir { 429cdf0e10cSrcweir if( xListener != null ) 430cdf0e10cSrcweir maFocusListeners.add( xListener ); 431cdf0e10cSrcweir } 432cdf0e10cSrcweir 433cdf0e10cSrcweir //---------------------------------------------------------------------------------- 434cdf0e10cSrcweir removeFocusListener( XFocusListener xListener )435cdf0e10cSrcweir public void removeFocusListener( XFocusListener xListener ) 436cdf0e10cSrcweir { 437cdf0e10cSrcweir if( xListener != null ) 438cdf0e10cSrcweir maFocusListeners.remove( xListener ); 439cdf0e10cSrcweir } 440cdf0e10cSrcweir 441cdf0e10cSrcweir //---------------------------------------------------------------------------------- 442cdf0e10cSrcweir addKeyListener( XKeyListener xListener )443cdf0e10cSrcweir public void addKeyListener( XKeyListener xListener ) 444cdf0e10cSrcweir { 445cdf0e10cSrcweir if( xListener != null ) 446cdf0e10cSrcweir maKeyListeners.add( xListener ); 447cdf0e10cSrcweir } 448cdf0e10cSrcweir 449cdf0e10cSrcweir //---------------------------------------------------------------------------------- 450cdf0e10cSrcweir removeKeyListener( XKeyListener xListener )451cdf0e10cSrcweir public void removeKeyListener( XKeyListener xListener ) 452cdf0e10cSrcweir { 453cdf0e10cSrcweir if( xListener != null ) 454cdf0e10cSrcweir maKeyListeners.remove( xListener ); 455cdf0e10cSrcweir } 456cdf0e10cSrcweir 457cdf0e10cSrcweir //---------------------------------------------------------------------------------- 458cdf0e10cSrcweir addMouseListener( XMouseListener xListener )459cdf0e10cSrcweir public void addMouseListener( XMouseListener xListener ) 460cdf0e10cSrcweir { 461cdf0e10cSrcweir if( xListener != null ) 462cdf0e10cSrcweir maMouseListeners.add( xListener ); 463cdf0e10cSrcweir } 464cdf0e10cSrcweir 465cdf0e10cSrcweir //---------------------------------------------------------------------------------- 466cdf0e10cSrcweir removeMouseListener( XMouseListener xListener )467cdf0e10cSrcweir public void removeMouseListener( XMouseListener xListener ) 468cdf0e10cSrcweir { 469cdf0e10cSrcweir if( xListener != null ) 470cdf0e10cSrcweir maMouseListeners.remove( xListener ); 471cdf0e10cSrcweir } 472cdf0e10cSrcweir 473cdf0e10cSrcweir //---------------------------------------------------------------------------------- 474cdf0e10cSrcweir addMouseMotionListener( XMouseMotionListener xListener )475cdf0e10cSrcweir public void addMouseMotionListener( XMouseMotionListener xListener ) 476cdf0e10cSrcweir { 477cdf0e10cSrcweir if( xListener != null ) 478cdf0e10cSrcweir maMouseMotionListeners.add( xListener ); 479cdf0e10cSrcweir } 480cdf0e10cSrcweir 481cdf0e10cSrcweir //---------------------------------------------------------------------------------- 482cdf0e10cSrcweir removeMouseMotionListener( XMouseMotionListener xListener )483cdf0e10cSrcweir public void removeMouseMotionListener( XMouseMotionListener xListener ) 484cdf0e10cSrcweir { 485cdf0e10cSrcweir if( xListener != null ) 486cdf0e10cSrcweir maMouseMotionListeners.remove( xListener ); 487cdf0e10cSrcweir } 488cdf0e10cSrcweir 489cdf0e10cSrcweir //---------------------------------------------------------------------------------- 490cdf0e10cSrcweir addPaintListener( XPaintListener xListener )491cdf0e10cSrcweir public void addPaintListener( XPaintListener xListener ) 492cdf0e10cSrcweir { 493cdf0e10cSrcweir if( xListener != null ) 494cdf0e10cSrcweir maPaintListeners.add( xListener ); 495cdf0e10cSrcweir } 496cdf0e10cSrcweir 497cdf0e10cSrcweir //---------------------------------------------------------------------------------- 498cdf0e10cSrcweir removePaintListener( XPaintListener xListener )499cdf0e10cSrcweir public void removePaintListener( XPaintListener xListener ) 500cdf0e10cSrcweir { 501cdf0e10cSrcweir if( xListener != null ) 502cdf0e10cSrcweir maPaintListeners.remove( xListener ); 503cdf0e10cSrcweir } 504cdf0e10cSrcweir } 505