You are viewing a plain text version of this content. The canonical link for it is here.
Posted to api@openoffice.apache.org by Engin GMAIL <o....@gmail.com> on 2015/03/16 14:41:48 UTC

Can not add control to XSidebarPanel

Hi;

I'm trying to write sidebar extension for openoffice. I've read sidebar 
for developers from wiki. 
(https://wiki.openoffice.org/wiki/Sidebar_for_Developers)
And i modify like below, but i can not add button control. How can i add 
control to XSidebarPanel ?

package org.apache.openoffice.sidebar;

import java.util.Vector;

import com.sun.star.accessibility.XAccessible;
import com.sun.star.awt.Rectangle;
import com.sun.star.awt.Size;
import com.sun.star.awt.WindowAttribute;
import com.sun.star.awt.WindowClass;
import com.sun.star.awt.WindowDescriptor;
import com.sun.star.awt.WindowEvent;
import com.sun.star.awt.XToolkit;
import com.sun.star.awt.XWindow;
import com.sun.star.awt.XWindowListener;
import com.sun.star.awt.XWindowPeer;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.XNameContainer;
import com.sun.star.lang.DisposedException;
import com.sun.star.lang.EventObject;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XEventListener;
import com.sun.star.lang.XMultiComponentFactory;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.ui.LayoutSize;
import com.sun.star.ui.XSidebarPanel;
import com.sun.star.ui.XToolPanel;
import com.sun.star.uno.Exception;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;

public abstract class PanelBase implements XToolPanel, XWindowListener,
     XSidebarPanel, XComponent {
     /**
      * This is the one method that a derived class has to implement: how to
      * react to size changes of the content window.
      */
     abstract protected void Layout(final Size aWindowSize);

     protected PanelBase() {
         maDisposeListeners = new Vector<XEventListener>();
     }

     protected void Initialize(final XWindow xParentWindow,
         final XComponentContext xContext) {
         Log.Instance().println("creating panel");

         // Create the content window of the panel.
         try {
             XWindowPeer xParentPeer =
                 (XWindowPeer) UnoRuntime.queryInterface(XWindowPeer.class,
                     xParentWindow);
             if (xParentPeer != null) {
                 xParentWindow.addWindowListener(this);

                 if (xContext == null)
                     throw new RuntimeException("got null XContext");
                 XMultiComponentFactory xFactory = 
xContext.getServiceManager();
                 if (xFactory == null)
                     throw new RuntimeException(
                         "can not acquire factor from XContext");

                 XToolkit xToolkit =
                     (XToolkit) UnoRuntime.queryInterface(XToolkit.class,
                         xFactory.createInstanceWithContext(
                             "com.sun.star.awt.Toolkit", xContext));
                 WindowDescriptor aWindowDescriptor =
                     new WindowDescriptor(WindowClass.CONTAINER, "",
                         xParentPeer, (short) -1, // parent index not 
available
                         new Rectangle(0, 0, 10, 10), 
WindowAttribute.SIZEABLE
                             | WindowAttribute.MOVEABLE
                             | WindowAttribute.NODECORATION);
                 mxWindow =
                     (XWindow) UnoRuntime.queryInterface(XWindow.class,
                         xToolkit.createWindow(aWindowDescriptor));
                 if (mxWindow == null)
                     throw new RuntimeException(
                         "can not create XWindow for parent " + 
xParentPeer);

                 // Make the background transparent. The slide show 
paints its
                 // own background.
                 final XWindowPeer xPeer =
                     (XWindowPeer) 
UnoRuntime.queryInterface(XWindowPeer.class,
                         mxWindow);
                 if (xPeer != null) {
                     // Make the window background transparent to avoid some
                     // flickering,
                     // when first the window background and then the canvas
                     // content is painted.
                     // xPeer.setBackground(0xffffff);
                     xPeer.setBackground(0xfff000);
                 }

                 XMultiServiceFactory xMultiServiceFactory =
                     (XMultiServiceFactory) xContext.getServiceManager();

                 try {
                     String _buttonName = "mahooo";
                     // create the button model and set the properties
                     Object buttonModel =
                         xMultiServiceFactory
.createInstance("com.sun.star.awt.UnoControlButtonModel");
                     XPropertySet xPSetButton =
                         (XPropertySet) UnoRuntime.queryInterface(
                             XPropertySet.class, buttonModel);
                     xPSetButton.setPropertyValue("PositionX", new 
Integer(20));
                     xPSetButton.setPropertyValue("PositionY", new 
Integer(70));
                     xPSetButton.setPropertyValue("Width", new Integer(50));
                     xPSetButton.setPropertyValue("Height", new 
Integer(14));
                     xPSetButton.setPropertyValue("Name", _buttonName);
                     xPSetButton.setPropertyValue("TabIndex", new Short(
                         (short) 0));
                     xPSetButton.setPropertyValue("Label",
                         new String("Click Me"));

                     XNameContainer xNameCont =
                         (XNameContainer) UnoRuntime.queryInterface(
                             XNameContainer.class, xPeer);
                     xNameCont.insertByName(_buttonName, buttonModel);
                 } catch (Exception e) {
                     // TODO Auto-generated catch block
                     e.printStackTrace();
                 }

                 mxWindow.setVisible(true);
             }
         } catch (Exception aException) {
             Log.Instance().PrintStackTrace(aException);
             throw new RuntimeException("can not create window for Panel: "
                 + aException.getMessage());
         }
     }

     // ----- Implementation of UNO interface XWindowListener -----

     @Override
     public void windowHidden(final EventObject aEvent) {
         CallLayout(0, 0);
     }

     @Override
     public void windowMoved(final WindowEvent aEvent) {
         CallLayout(aEvent.Width, aEvent.Height);
     }

     @Override
     public void windowResized(final WindowEvent aEvent) {
         CallLayout(aEvent.Width, aEvent.Height);
     }

     @Override
     public void windowShown(final EventObject aEvent) {
         CallLayout(mxWindow.getPosSize().Width, 
mxWindow.getPosSize().Height);
     }

     @Override
     public void disposing(final EventObject aEvent) {
         mxWindow = null;
     }

     // ----- Implementation of UNO interface XToolPanel -----

     @Override
     public XAccessible createAccessible(XAccessible arg0) {
         return (XAccessible) UnoRuntime.queryInterface(XAccessible.class,
             getWindow());
     }

     @Override
     public XWindow getWindow() {
         if (mxWindow == null)
             throw new DisposedException("Panel is already disposed", this);

         return mxWindow;
     }

     // ----- Implementation of UNO interface XSidebarPanel -----

     @Override
     public LayoutSize getHeightForWidth(final int nWidth) {
         return new LayoutSize(0, 0, 0);
     }

     // ----- Implementation of UNO interface XComponent -----

     @Override
     public void dispose() {
         EventObject aEvent = new EventObject(this);
         for (final XEventListener xListener : maDisposeListeners)
             xListener.disposing(aEvent);
     }

     @Override
     public void addEventListener(final XEventListener xListener) {
         maDisposeListeners.add(xListener);
     }

     @Override
     public void removeEventListener(final XEventListener xListener) {
         maDisposeListeners.remove(xListener);
     }

     // ----- private methods -----

     private void CallLayout(final int nWidth, final int nHeight) {
         Layout(new Size(nWidth, nHeight));
     }

     protected XWindow mxWindow;
     private final Vector<XEventListener> maDisposeListeners;
}


---------------------------------------------------------------------
To unsubscribe, e-mail: api-unsubscribe@openoffice.apache.org
For additional commands, e-mail: api-help@openoffice.apache.org


Re: Can not add control to XSidebarPanel

Posted by Engin Oz <o....@gmail.com>.
In log file, i have these,

opening log file 1426528385.878000 seconds past January 1st 1970
corresponding to 0 ms after timer start
Process id is 4252
000001 3484 | : PERFORMANCE - enter Main()
000666 3484 | : PERFORMANCE - enter Application::Execute()
000667 3484 { PERFORMANCE - DesktopOpenClients_Impl()
000678 3484 } PERFORMANCE - DesktopOpenClients_Impl()
002160 3484 { XCUBasedAcceleratorConfiguration::reload()
002164 3484 } XCUBasedAcceleratorConfiguration::reload()
002164 3484 { XCUBasedAcceleratorConfiguration::reload()
002165 3484 } XCUBasedAcceleratorConfiguration::reload()
002188 3484 { XCUBasedAcceleratorConfiguration::reload()
002189 3484 } XCUBasedAcceleratorConfiguration::reload()
002275 3484 { XCUBasedAcceleratorConfiguration::reload()
002276 3484 } XCUBasedAcceleratorConfiguration::reload()
002347 3484 { XCUBasedAcceleratorConfiguration::reload()
002348 3484 } XCUBasedAcceleratorConfiguration::reload()
closing log file at 015266

On 16.3.2015 18:28, Alexandro Colorado wrote:
> Do you have any error log?
> https://wiki.openoffice.org/wiki/Uno/Spec/Log_Environment
>
> On Mon, Mar 16, 2015 at 9:41 AM, Engin GMAIL <o....@gmail.com> wrote:
>
>> Hi;
>>
>> I'm trying to write sidebar extension for openoffice. I've read sidebar
>> for developers from wiki. (https://wiki.openoffice.org/
>> wiki/Sidebar_for_Developers)
>> And i modify like below, but i can not add button control. How can i add
>> control to XSidebarPanel ?
>>
>> package org.apache.openoffice.sidebar;
>>
>> import java.util.Vector;
>>
>> import com.sun.star.accessibility.XAccessible;
>> import com.sun.star.awt.Rectangle;
>> import com.sun.star.awt.Size;
>> import com.sun.star.awt.WindowAttribute;
>> import com.sun.star.awt.WindowClass;
>> import com.sun.star.awt.WindowDescriptor;
>> import com.sun.star.awt.WindowEvent;
>> import com.sun.star.awt.XToolkit;
>> import com.sun.star.awt.XWindow;
>> import com.sun.star.awt.XWindowListener;
>> import com.sun.star.awt.XWindowPeer;
>> import com.sun.star.beans.XPropertySet;
>> import com.sun.star.container.XNameContainer;
>> import com.sun.star.lang.DisposedException;
>> import com.sun.star.lang.EventObject;
>> import com.sun.star.lang.XComponent;
>> import com.sun.star.lang.XEventListener;
>> import com.sun.star.lang.XMultiComponentFactory;
>> import com.sun.star.lang.XMultiServiceFactory;
>> import com.sun.star.ui.LayoutSize;
>> import com.sun.star.ui.XSidebarPanel;
>> import com.sun.star.ui.XToolPanel;
>> import com.sun.star.uno.Exception;
>> import com.sun.star.uno.UnoRuntime;
>> import com.sun.star.uno.XComponentContext;
>>
>> public abstract class PanelBase implements XToolPanel, XWindowListener,
>>      XSidebarPanel, XComponent {
>>      /**
>>       * This is the one method that a derived class has to implement: how to
>>       * react to size changes of the content window.
>>       */
>>      abstract protected void Layout(final Size aWindowSize);
>>
>>      protected PanelBase() {
>>          maDisposeListeners = new Vector<XEventListener>();
>>      }
>>
>>      protected void Initialize(final XWindow xParentWindow,
>>          final XComponentContext xContext) {
>>          Log.Instance().println("creating panel");
>>
>>          // Create the content window of the panel.
>>          try {
>>              XWindowPeer xParentPeer =
>>                  (XWindowPeer) UnoRuntime.queryInterface(XWindowPeer.class,
>>                      xParentWindow);
>>              if (xParentPeer != null) {
>>                  xParentWindow.addWindowListener(this);
>>
>>                  if (xContext == null)
>>                      throw new RuntimeException("got null XContext");
>>                  XMultiComponentFactory xFactory =
>> xContext.getServiceManager();
>>                  if (xFactory == null)
>>                      throw new RuntimeException(
>>                          "can not acquire factor from XContext");
>>
>>                  XToolkit xToolkit =
>>                      (XToolkit) UnoRuntime.queryInterface(XToolkit.class,
>>                          xFactory.createInstanceWithContext(
>>                              "com.sun.star.awt.Toolkit", xContext));
>>                  WindowDescriptor aWindowDescriptor =
>>                      new WindowDescriptor(WindowClass.CONTAINER, "",
>>                          xParentPeer, (short) -1, // parent index not
>> available
>>                          new Rectangle(0, 0, 10, 10),
>> WindowAttribute.SIZEABLE
>>                              | WindowAttribute.MOVEABLE
>>                              | WindowAttribute.NODECORATION);
>>                  mxWindow =
>>                      (XWindow) UnoRuntime.queryInterface(XWindow.class,
>>                          xToolkit.createWindow(aWindowDescriptor));
>>                  if (mxWindow == null)
>>                      throw new RuntimeException(
>>                          "can not create XWindow for parent " +
>> xParentPeer);
>>
>>                  // Make the background transparent. The slide show paints
>> its
>>                  // own background.
>>                  final XWindowPeer xPeer =
>>                      (XWindowPeer) UnoRuntime.queryInterface(
>> XWindowPeer.class,
>>                          mxWindow);
>>                  if (xPeer != null) {
>>                      // Make the window background transparent to avoid some
>>                      // flickering,
>>                      // when first the window background and then the canvas
>>                      // content is painted.
>>                      // xPeer.setBackground(0xffffff);
>>                      xPeer.setBackground(0xfff000);
>>                  }
>>
>>                  XMultiServiceFactory xMultiServiceFactory =
>>                      (XMultiServiceFactory) xContext.getServiceManager();
>>
>>                  try {
>>                      String _buttonName = "mahooo";
>>                      // create the button model and set the properties
>>                      Object buttonModel =
>>                          xMultiServiceFactory
>> .createInstance("com.sun.star.awt.UnoControlButtonModel");
>>                      XPropertySet xPSetButton =
>>                          (XPropertySet) UnoRuntime.queryInterface(
>>                              XPropertySet.class, buttonModel);
>>                      xPSetButton.setPropertyValue("PositionX", new
>> Integer(20));
>>                      xPSetButton.setPropertyValue("PositionY", new
>> Integer(70));
>>                      xPSetButton.setPropertyValue("Width", new
>> Integer(50));
>>                      xPSetButton.setPropertyValue("Height", new
>> Integer(14));
>>                      xPSetButton.setPropertyValue("Name", _buttonName);
>>                      xPSetButton.setPropertyValue("TabIndex", new Short(
>>                          (short) 0));
>>                      xPSetButton.setPropertyValue("Label",
>>                          new String("Click Me"));
>>
>>                      XNameContainer xNameCont =
>>                          (XNameContainer) UnoRuntime.queryInterface(
>>                              XNameContainer.class, xPeer);
>>                      xNameCont.insertByName(_buttonName, buttonModel);
>>                  } catch (Exception e) {
>>                      // TODO Auto-generated catch block
>>                      e.printStackTrace();
>>                  }
>>
>>                  mxWindow.setVisible(true);
>>              }
>>          } catch (Exception aException) {
>>              Log.Instance().PrintStackTrace(aException);
>>              throw new RuntimeException("can not create window for Panel: "
>>                  + aException.getMessage());
>>          }
>>      }
>>
>>      // ----- Implementation of UNO interface XWindowListener -----
>>
>>      @Override
>>      public void windowHidden(final EventObject aEvent) {
>>          CallLayout(0, 0);
>>      }
>>
>>      @Override
>>      public void windowMoved(final WindowEvent aEvent) {
>>          CallLayout(aEvent.Width, aEvent.Height);
>>      }
>>
>>      @Override
>>      public void windowResized(final WindowEvent aEvent) {
>>          CallLayout(aEvent.Width, aEvent.Height);
>>      }
>>
>>      @Override
>>      public void windowShown(final EventObject aEvent) {
>>          CallLayout(mxWindow.getPosSize().Width,
>> mxWindow.getPosSize().Height);
>>      }
>>
>>      @Override
>>      public void disposing(final EventObject aEvent) {
>>          mxWindow = null;
>>      }
>>
>>      // ----- Implementation of UNO interface XToolPanel -----
>>
>>      @Override
>>      public XAccessible createAccessible(XAccessible arg0) {
>>          return (XAccessible) UnoRuntime.queryInterface(XAccessible.class,
>>              getWindow());
>>      }
>>
>>      @Override
>>      public XWindow getWindow() {
>>          if (mxWindow == null)
>>              throw new DisposedException("Panel is already disposed", this);
>>
>>          return mxWindow;
>>      }
>>
>>      // ----- Implementation of UNO interface XSidebarPanel -----
>>
>>      @Override
>>      public LayoutSize getHeightForWidth(final int nWidth) {
>>          return new LayoutSize(0, 0, 0);
>>      }
>>
>>      // ----- Implementation of UNO interface XComponent -----
>>
>>      @Override
>>      public void dispose() {
>>          EventObject aEvent = new EventObject(this);
>>          for (final XEventListener xListener : maDisposeListeners)
>>              xListener.disposing(aEvent);
>>      }
>>
>>      @Override
>>      public void addEventListener(final XEventListener xListener) {
>>          maDisposeListeners.add(xListener);
>>      }
>>
>>      @Override
>>      public void removeEventListener(final XEventListener xListener) {
>>          maDisposeListeners.remove(xListener);
>>      }
>>
>>      // ----- private methods -----
>>
>>      private void CallLayout(final int nWidth, final int nHeight) {
>>          Layout(new Size(nWidth, nHeight));
>>      }
>>
>>      protected XWindow mxWindow;
>>      private final Vector<XEventListener> maDisposeListeners;
>> }
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: api-unsubscribe@openoffice.apache.org
>> For additional commands, e-mail: api-help@openoffice.apache.org
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: api-unsubscribe@openoffice.apache.org
For additional commands, e-mail: api-help@openoffice.apache.org


Re: Can not add control to XSidebarPanel

Posted by Alexandro Colorado <jz...@oooes.org>.
Do you have any error log?
https://wiki.openoffice.org/wiki/Uno/Spec/Log_Environment

On Mon, Mar 16, 2015 at 9:41 AM, Engin GMAIL <o....@gmail.com> wrote:

> Hi;
>
> I'm trying to write sidebar extension for openoffice. I've read sidebar
> for developers from wiki. (https://wiki.openoffice.org/
> wiki/Sidebar_for_Developers)
> And i modify like below, but i can not add button control. How can i add
> control to XSidebarPanel ?
>
> package org.apache.openoffice.sidebar;
>
> import java.util.Vector;
>
> import com.sun.star.accessibility.XAccessible;
> import com.sun.star.awt.Rectangle;
> import com.sun.star.awt.Size;
> import com.sun.star.awt.WindowAttribute;
> import com.sun.star.awt.WindowClass;
> import com.sun.star.awt.WindowDescriptor;
> import com.sun.star.awt.WindowEvent;
> import com.sun.star.awt.XToolkit;
> import com.sun.star.awt.XWindow;
> import com.sun.star.awt.XWindowListener;
> import com.sun.star.awt.XWindowPeer;
> import com.sun.star.beans.XPropertySet;
> import com.sun.star.container.XNameContainer;
> import com.sun.star.lang.DisposedException;
> import com.sun.star.lang.EventObject;
> import com.sun.star.lang.XComponent;
> import com.sun.star.lang.XEventListener;
> import com.sun.star.lang.XMultiComponentFactory;
> import com.sun.star.lang.XMultiServiceFactory;
> import com.sun.star.ui.LayoutSize;
> import com.sun.star.ui.XSidebarPanel;
> import com.sun.star.ui.XToolPanel;
> import com.sun.star.uno.Exception;
> import com.sun.star.uno.UnoRuntime;
> import com.sun.star.uno.XComponentContext;
>
> public abstract class PanelBase implements XToolPanel, XWindowListener,
>     XSidebarPanel, XComponent {
>     /**
>      * This is the one method that a derived class has to implement: how to
>      * react to size changes of the content window.
>      */
>     abstract protected void Layout(final Size aWindowSize);
>
>     protected PanelBase() {
>         maDisposeListeners = new Vector<XEventListener>();
>     }
>
>     protected void Initialize(final XWindow xParentWindow,
>         final XComponentContext xContext) {
>         Log.Instance().println("creating panel");
>
>         // Create the content window of the panel.
>         try {
>             XWindowPeer xParentPeer =
>                 (XWindowPeer) UnoRuntime.queryInterface(XWindowPeer.class,
>                     xParentWindow);
>             if (xParentPeer != null) {
>                 xParentWindow.addWindowListener(this);
>
>                 if (xContext == null)
>                     throw new RuntimeException("got null XContext");
>                 XMultiComponentFactory xFactory =
> xContext.getServiceManager();
>                 if (xFactory == null)
>                     throw new RuntimeException(
>                         "can not acquire factor from XContext");
>
>                 XToolkit xToolkit =
>                     (XToolkit) UnoRuntime.queryInterface(XToolkit.class,
>                         xFactory.createInstanceWithContext(
>                             "com.sun.star.awt.Toolkit", xContext));
>                 WindowDescriptor aWindowDescriptor =
>                     new WindowDescriptor(WindowClass.CONTAINER, "",
>                         xParentPeer, (short) -1, // parent index not
> available
>                         new Rectangle(0, 0, 10, 10),
> WindowAttribute.SIZEABLE
>                             | WindowAttribute.MOVEABLE
>                             | WindowAttribute.NODECORATION);
>                 mxWindow =
>                     (XWindow) UnoRuntime.queryInterface(XWindow.class,
>                         xToolkit.createWindow(aWindowDescriptor));
>                 if (mxWindow == null)
>                     throw new RuntimeException(
>                         "can not create XWindow for parent " +
> xParentPeer);
>
>                 // Make the background transparent. The slide show paints
> its
>                 // own background.
>                 final XWindowPeer xPeer =
>                     (XWindowPeer) UnoRuntime.queryInterface(
> XWindowPeer.class,
>                         mxWindow);
>                 if (xPeer != null) {
>                     // Make the window background transparent to avoid some
>                     // flickering,
>                     // when first the window background and then the canvas
>                     // content is painted.
>                     // xPeer.setBackground(0xffffff);
>                     xPeer.setBackground(0xfff000);
>                 }
>
>                 XMultiServiceFactory xMultiServiceFactory =
>                     (XMultiServiceFactory) xContext.getServiceManager();
>
>                 try {
>                     String _buttonName = "mahooo";
>                     // create the button model and set the properties
>                     Object buttonModel =
>                         xMultiServiceFactory
> .createInstance("com.sun.star.awt.UnoControlButtonModel");
>                     XPropertySet xPSetButton =
>                         (XPropertySet) UnoRuntime.queryInterface(
>                             XPropertySet.class, buttonModel);
>                     xPSetButton.setPropertyValue("PositionX", new
> Integer(20));
>                     xPSetButton.setPropertyValue("PositionY", new
> Integer(70));
>                     xPSetButton.setPropertyValue("Width", new
> Integer(50));
>                     xPSetButton.setPropertyValue("Height", new
> Integer(14));
>                     xPSetButton.setPropertyValue("Name", _buttonName);
>                     xPSetButton.setPropertyValue("TabIndex", new Short(
>                         (short) 0));
>                     xPSetButton.setPropertyValue("Label",
>                         new String("Click Me"));
>
>                     XNameContainer xNameCont =
>                         (XNameContainer) UnoRuntime.queryInterface(
>                             XNameContainer.class, xPeer);
>                     xNameCont.insertByName(_buttonName, buttonModel);
>                 } catch (Exception e) {
>                     // TODO Auto-generated catch block
>                     e.printStackTrace();
>                 }
>
>                 mxWindow.setVisible(true);
>             }
>         } catch (Exception aException) {
>             Log.Instance().PrintStackTrace(aException);
>             throw new RuntimeException("can not create window for Panel: "
>                 + aException.getMessage());
>         }
>     }
>
>     // ----- Implementation of UNO interface XWindowListener -----
>
>     @Override
>     public void windowHidden(final EventObject aEvent) {
>         CallLayout(0, 0);
>     }
>
>     @Override
>     public void windowMoved(final WindowEvent aEvent) {
>         CallLayout(aEvent.Width, aEvent.Height);
>     }
>
>     @Override
>     public void windowResized(final WindowEvent aEvent) {
>         CallLayout(aEvent.Width, aEvent.Height);
>     }
>
>     @Override
>     public void windowShown(final EventObject aEvent) {
>         CallLayout(mxWindow.getPosSize().Width,
> mxWindow.getPosSize().Height);
>     }
>
>     @Override
>     public void disposing(final EventObject aEvent) {
>         mxWindow = null;
>     }
>
>     // ----- Implementation of UNO interface XToolPanel -----
>
>     @Override
>     public XAccessible createAccessible(XAccessible arg0) {
>         return (XAccessible) UnoRuntime.queryInterface(XAccessible.class,
>             getWindow());
>     }
>
>     @Override
>     public XWindow getWindow() {
>         if (mxWindow == null)
>             throw new DisposedException("Panel is already disposed", this);
>
>         return mxWindow;
>     }
>
>     // ----- Implementation of UNO interface XSidebarPanel -----
>
>     @Override
>     public LayoutSize getHeightForWidth(final int nWidth) {
>         return new LayoutSize(0, 0, 0);
>     }
>
>     // ----- Implementation of UNO interface XComponent -----
>
>     @Override
>     public void dispose() {
>         EventObject aEvent = new EventObject(this);
>         for (final XEventListener xListener : maDisposeListeners)
>             xListener.disposing(aEvent);
>     }
>
>     @Override
>     public void addEventListener(final XEventListener xListener) {
>         maDisposeListeners.add(xListener);
>     }
>
>     @Override
>     public void removeEventListener(final XEventListener xListener) {
>         maDisposeListeners.remove(xListener);
>     }
>
>     // ----- private methods -----
>
>     private void CallLayout(final int nWidth, final int nHeight) {
>         Layout(new Size(nWidth, nHeight));
>     }
>
>     protected XWindow mxWindow;
>     private final Vector<XEventListener> maDisposeListeners;
> }
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: api-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: api-help@openoffice.apache.org
>
>


-- 
Alexandro Colorado
Apache OpenOffice Contributor
882C 4389 3C27 E8DF 41B9  5C4C 1DB7 9D1C 7F4C 2614