Hii Marcin,                 thanks a lot. In our case its not a simple swing
dialog, we are providing one
                  JFrame dialog which consists of
 radioButtons,check-Boxes,some buttons etc.
                  By using this dialog we take user inputs and use these
inputs in OO dispatch method.
                   We have already developed this all part using swing and
its working fine expect "modal".
                   So now converting this all swing part to native will be
 relly more cumbersome.
                   Would there be any other simple trick to make it modal?

2009/4/28 Marcin Miłkowski <[email protected]>

> Hi Dinesh,
>
> if this is just an information dialog, try with native OOo controls - it's
> quite cumbersome to make OOo dialog really modal. I don't know how we solved
> this in LanguageTool (the code was long removed as we're not using a Swing
> dialog to check text anyway) but this was some dirty trick. It's easier to
> get an information dialog using XMessageBox like this:
>
> ...
>
>    final XMessageBoxFactory messageBoxFactory = (XMessageBoxFactory)
> UnoRuntime
>        .queryInterface(XMessageBoxFactory.class,
> parentWindowPeer.getToolkit());
>
>    final Rectangle messageBoxRectangle = new Rectangle();
>
>    final XMessageBox box = messageBoxFactory
>        .createMessageBox(
>            winPeer,
>            messageBoxRectangle,
>            "infobox",
>            0,
>            "Window Title",
>            "Some beautiful info");
>    box.execute();
>
> ...
>
> You get parentWindowPeer like this:
>
>      final XModel model = (XModel) UnoRuntime.queryInterface(XModel.class,
>          getxComponent());
>      final XWindow parentWindow = model.getCurrentController().getFrame()
>          .getContainerWindow();
>      final XWindowPeer parentWindowPeer = (XWindowPeer) UnoRuntime
>          .queryInterface(XWindowPeer.class, parentWindow);
>
>
> My getxComponent() looks like this:
>
> private XComponent getxComponent() {
>    try {
>      final XMultiComponentFactory xMCF = xContext.getServiceManager();
>      final Object desktop = xMCF.createInstanceWithContext(
>          "com.sun.star.frame.Desktop", xContext);
>      final XDesktop xDesktop = (XDesktop) UnoRuntime.queryInterface(
>          XDesktop.class, desktop);
>      final XComponent xComponent = xDesktop.getCurrentComponent();
>      return xComponent;
>    } catch (final Throwable t) {
>      showError(t);
>      return null;
>    }
>  }
>
> and you should already get XComponentContext-type variable (here: xContext)
> when initializing your class in OOo in Main().
>
> Regards
> Marcin
>
> Dinesh Chothe pisze:
>
>   Hello,             I have been making one extension using java. In this I
>> want to simply populate simple dialog with some message on menu items
>> click
>> event.
>>               I am able to get populate dialog but not getting it as
>> Modal.
>> Because dont know how to provide parent Dialog's object.
>>                JDialog  d = *new* JDialog(parent);
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Thanks and Regards,
Dinesh

Reply via email to