summaryrefslogtreecommitdiff
path: root/bean/com/sun/star/beans/LocalOfficeWindow.java
diff options
context:
space:
mode:
Diffstat (limited to 'bean/com/sun/star/beans/LocalOfficeWindow.java')
-rw-r--r--bean/com/sun/star/beans/LocalOfficeWindow.java304
1 files changed, 0 insertions, 304 deletions
diff --git a/bean/com/sun/star/beans/LocalOfficeWindow.java b/bean/com/sun/star/beans/LocalOfficeWindow.java
deleted file mode 100644
index e9e05edc859d..000000000000
--- a/bean/com/sun/star/beans/LocalOfficeWindow.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package com.sun.star.beans;
-
-import java.awt.Component;
-
-import com.sun.star.lang.EventObject;
-import com.sun.star.lang.SystemDependent;
-import com.sun.star.lang.XEventListener;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XMultiComponentFactory;
-import com.sun.star.awt.Rectangle;
-import com.sun.star.awt.XWindow;
-import com.sun.star.awt.XWindowPeer;
-import com.sun.star.awt.XVclWindowPeer;
-import com.sun.star.awt.XToolkit;
-import com.sun.star.awt.WindowDescriptor;
-import com.sun.star.awt.WindowAttribute;
-import com.sun.star.awt.WindowClass;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.XComponentContext;
-
-/**
- * This class represents a local office window.
- * @deprecated
- */
-public class LocalOfficeWindow
- extends java.awt.Canvas
- implements OfficeWindow, XEventListener
-{
- private transient OfficeConnection mConnection;
- private transient XWindowPeer mParentProxy;
- private transient XWindowPeer mWindow;
- private boolean bPeer = false;
-
- /**
- * Construnctor.
- *
- * @param connection The office connection object the window
- * belongs to.
- */
- /* package */ LocalOfficeWindow(OfficeConnection connection)
- {
- mConnection = connection;
- mConnection.addEventListener(this);
- }
-
- /**
- * Retrieves an AWT component object associated with the OfficeWindow.
- *
- * @return The AWT component object associated with the OfficeWindow.
- */
- public Component getAWTComponent()
- {
- return this;
- }
-
- /**
- * Retrieves an UNO XWindowPeer object associated with the OfficeWindow.
- *
- * @return The UNO XWindowPeer object associated with the OfficeWindow.
- */
- public XWindowPeer getUNOWindowPeer()
- {
- if (mWindow == null)
- createUNOWindowPeer();
- return mWindow;
- }
-
- /**
- * Receives a notification about the connection has been closed.
- * This method has to set the connection to <code>null</code>.
- *
- * @source The event object.
- */
- public void disposing(EventObject source)
- {
- // the window will be disposed by the framework
- mWindow = null;
- mConnection = null;
- }
-
- /**
- * Returns an AWT toolkit.
- */
- private XToolkit queryAWTToolkit()
- throws com.sun.star.uno.Exception
- {
- // Create a UNO toolkit.
- XMultiComponentFactory compfactory;
- XComponentContext xContext = mConnection.getComponentContext();
- if ( xContext != null )
- {
- compfactory = mConnection.getComponentContext().getServiceManager();
- XMultiServiceFactory factory;
- factory = UnoRuntime.queryInterface(
- XMultiServiceFactory.class, compfactory);
- Object object = factory.createInstance( "com.sun.star.awt.Toolkit");
- return UnoRuntime.queryInterface(XToolkit.class, object);
- }
- else
- return null;
- }
-
- /// called when system parent is available, reparents the bean window
- private void aquireSystemWindow()
- {
- if ( !bPeer )
- {
- // set real parent
- XVclWindowPeer xVclWindowPeer = UnoRuntime.queryInterface(
- XVclWindowPeer.class, mWindow);
- xVclWindowPeer.setProperty( "PluginParent", Long.valueOf(getNativeWindow()) );
- bPeer = true;
-
- // show document window
- XWindow aWindow = UnoRuntime.queryInterface(XWindow.class, mWindow);
- aWindow.setVisible( true );
- }
- }
-
- /// called when system parent is about to die, reparents the bean window
- private void releaseSystemWindow()
- {
- if ( bPeer )
- {
- // hide document window
- XWindow aWindow = UnoRuntime.queryInterface(XWindow.class, mWindow);
- aWindow.setVisible( false );
-
- // set null parent
- XVclWindowPeer xVclWindowPeer = UnoRuntime.queryInterface(
- XVclWindowPeer.class, mWindow);
- xVclWindowPeer.setProperty( "PluginParent", Long.valueOf(0) );
- bPeer = false;
- }
- }
-
- /// callback handler to get to know when we become visible
- //@deprecated
- private class ComponentEventHandler
- extends java.awt.event.ComponentAdapter
- {
- @Override
- public void componentHidden( java.awt.event.ComponentEvent e)
- {
- // only when we become invisible, we might lose our system window
- CallWatchThread aCallWatchThread = new CallWatchThread( 500 );
- setVisible(false);
- try { aCallWatchThread.cancel(); }
- catch ( InterruptedException aExc )
- {} // ignore
- }
-
- @Override
- public void componentShown( java.awt.event.ComponentEvent e)
- {
- // only when we become visible, we get a system window
- aquireSystemWindow();
- }
- }
-
- /// Overriding java.awt.Component.setVisible() due to Java bug (no showing event).
- @Override
- public void setVisible( boolean b )
- {
- super.setVisible(b);
-
- // Java-Bug: componentShown() is never called :-(
- // is still at least in Java 1.4.1_02
- if ( b )
- aquireSystemWindow();
- else
- releaseSystemWindow();
- }
-
- /** Factory method for a UNO AWT toolkit window as a child of this Java window.
- *
- */
- private XWindowPeer createUNOWindowPeer()
- {
- try
- {
- // get this windows native window type
- int type = getNativeWindowSystemType();
-
- // Java AWT windows only have a system window when showing.
- XWindowPeer parentPeer;
- if ( isShowing() )
- {
- // create direct parent relationship
- parentPeer = new JavaWindowPeerFake( getNativeWindow(), type);
- bPeer = true;
- }
- else
- {
- // no parent yet
- parentPeer = null;
- bPeer = false;
- }
-
- // create native window (mWindow)
- Rectangle aRect = new Rectangle( 0, 0, 20, 20 );
- WindowDescriptor desc = new WindowDescriptor();
- desc.Type = WindowClass.TOP;
- desc.Parent = parentPeer;
- desc.Bounds = aRect;
- desc.WindowServiceName = "workwindow";
- desc.WindowAttributes = (type == SystemDependent.SYSTEM_WIN32)
- ? WindowAttribute.SHOW : 0;
- mWindow = queryAWTToolkit().createWindow(desc);
-
- // to get notified when we become visible
- addComponentListener( new ComponentEventHandler() );
-
- // set initial visibility
- XWindow aWindow = UnoRuntime.queryInterface(XWindow.class, mWindow);
- aWindow.setVisible( bPeer );
- }
- catch (com.sun.star.uno.Exception exp) {
- }
-
- return mWindow;
- }
-
- /**
- * Retrieves a platform dependent system window identifier.
- *
- * @return The system window identifier.
- */
- private native long getNativeWindow();
-
- /**
- * Retrieves a platform dependent system window type.
- *
- * @return The system window type.
- */
- private native int getNativeWindowSystemType();
-
-
- /** Helper class to watch calls into OOo with a timeout.
- * @deprecated
- */
- private class CallWatchThread extends Thread
- {
- private Thread aWatchedThread;
- private long nTimeout;
-
- private CallWatchThread( long nTimeout )
- {
- super("CallWatchThread deprecated");
-
- this.aWatchedThread = Thread.currentThread();
- this.nTimeout = nTimeout;
- start();
- }
-
- private void cancel()
- throws InterruptedException
- {
- aWatchedThread = null;
- stop();
-
- if ( Thread.interrupted() )
- throw new InterruptedException();
- }
-
- @Override
- public void run()
- {
- while ( aWatchedThread != null )
- {
- try { sleep( nTimeout ); }
- catch ( InterruptedException aExc )
- {}
-
- //synchronized
- {
- if ( aWatchedThread != null )
- {
- aWatchedThread.interrupt();
- }
- }
- }
- }
- }
-
-}