thanks for replies

2014-04-14 11:45 GMT+04:00 Andre Fischer <awf....@gmail.com>:

> On 13.04.2014 22:38, Ariel Constenla-Haile wrote:
>
>> Hello Антон,
>>
>> On Sun, Apr 13, 2014 at 06:02:29PM +0400, Антон Борисов wrote:
>>
>>> It's possible to handle sidebar panel XDialog with XDialogEventHandler ?
>>> If
>>> i call xDialog.execute() it will be showed not inside sidebar, just like
>>> plain dialog.
>>>
>> You don't have to use XDialog - XDialogEventHandler, because you don't
>> need a dialog there; what you need is a simple container of controls,
>> you get this with
>>
>> http://www.openoffice.org/api/docs/common/ref/com/sun/star/
>> awt/ContainerWindowProvider.html
>> http://www.openoffice.org/api/docs/common/ref/com/sun/star/
>> awt/XContainerWindowProvider.html#createContainerWindow
>> Your handle will implement
>> http://www.openoffice.org/api/docs/common/ref/com/sun/star/awt/
>> XContainerWindowEventHandler.html
>>
>
> You can find more information here:
>     https://wiki.openoffice.org/wiki/Sidebar_for_Developers
>
> -Andre
>
>
>  If i'm not calling execute, public XUIElement createUIElement() returns
>>> new
>>> UIElement(
>>>                      sResourceURL,
>>>                      aPanel);
>>>
>> createUIElement() is called with a sequence of
>> css.beans.PropertyValue's. Use that information to create your
>> UIElement, as it contains information that it will need:
>>
>> * "Frame" - css.frame.XFrame
>> * "ParentWindow" - css.awt.XWindow
>> * "Sidebar" - css.ui.XSidebar
>> * "ApplicationName" - string
>> * "ContextName" - string
>> * "Theme" - css.beans.XPropertySet
>>
>> Your UIElement has to take care of creating the container window used to
>> display inside the Sidebar, use
>> XContainerWindowProvider.createContainerWindow() for that; store the
>> XWindow in a member variable and use it as the UIElement's "real
>> interface" in getRealInterface().
>>
>> Also note that your UIElement owns that window, so it has to care of
>> disposing it; so make sure
>>
>> * your UIElement class inherits from
>>    com.sun.star.lib.uno.helper.ComponentBase, not just
>>    com.sun.star.lib.uno.helper.WeakBase; or implement css.lang.XComponent
>>    yourself
>>
>> * when your UIElement is disposed, dispose the window. If you inherit
>>    from ComponentBase, override postDisposing()
>>
>>  xdl:
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument
>>> 1.0//EN"
>>> "dialog.dtd">
>>> <dlg:window xmlns:dlg="http://openoffice.org/2000/dialog"; xmlns:script="
>>> http://openoffice.org/2000/script"; dlg:id="LinkNodesDialog"
>>> dlg:left="104"
>>> dlg:top="55" dlg:width="156" dlg:height="129" dlg:closeable="true"
>>>
>> Make sure that the position is 0,0 because the window will be positioned
>> relative to its parent window, the one you get in "ParentWindow".
>> You can also control the size relative to the parent's size, you will
>> need to add a window listener to the "ParentWindow" and react on
>> windowResized().
>>
>>
>> Regards
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: api-unsubscr...@openoffice.apache.org
> For additional commands, e-mail: api-h...@openoffice.apache.org
>
>


-- 
Борисов Антон

Reply via email to