1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 import sun.awt.*;
29 import com.sun.star.awt.*;
30 
31 public class SystemWindowAdapter
32 {
33     static public java.awt.Frame createFrame( int windowHandle )
34     {
35         java.awt.Frame aFrame;
36 
37         // we're initialized with the operating system window handle
38         // as the parameter. We then generate a dummy Java frame with
39         // that window as the parent, to fake a root window for the
40         // Java implementation.
41 
42          // now, we're getting slightly system dependent here.
43          String os = (String) System.getProperty( "os.name" );
44 
45          // create the embedded frame
46          if( os.startsWith( "Windows" ) )
47              aFrame = new sun.awt.windows.WEmbeddedFrame( windowHandle );
48          else
49              throw new com.sun.star.uno.RuntimeException();
50 
51         return aFrame;
52     }
53 }
54