Hi;

 

I'm trying to add a button to my Java OpenOffice Extension that is going to
show my Options page.

 

I've achieved to show the options page, but I can not activate the tree node
of my extension.

 

I've found two threads about this issue:

https://forum.openoffice.org/en/forum/viewtopic.php?f=47
<https://forum.openoffice.org/en/forum/viewtopic.php?f=47&t=48260> &t=48260

https://forum.openoffice.org/en/forum/viewtopic.php?f=20
<https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=66473> &t=66473

 

Both of them mentioning "OptionsPageURL" parameter. But I can not make it
work.

The things I've tried so far:

 

1)      Get the path of the dialog using component path:

 

XPackageInformationProvider xPackageInformationProvider =
PackageInformationProvider.get(m_xContext);

String extensionCurrentPath =
xPackageInformationProvider.getPackageLocation("com.prm.UnifierAddOn");

//This returns :
file:///C:/Users/Berkhan/Documents/NetBeansProjects/UnifierAddOn/build/soffi
ce_debug/user/uno_packages/cache/uno_packages/sv13d2ra.tmp_/UnifierAddOn.oxt
<file:///C:\Users\Berkhan\Documents\NetBeansProjects\UnifierAddOn\build\soff
ice_debug\user\uno_packages\cache\uno_packages\sv13d2ra.tmp_\UnifierAddOn.ox
t> 

 

com.sun.star.beans.PropertyValue[] args = new
com.sun.star.beans.PropertyValue[1];

args[0] = new PropertyValue(

"OptionsPageURL", 0, 

extensionCurrentPath + "/dialogs/EntryDialogUnifier.xdl",

PropertyState.DIRECT_VALUE);

 

XDispatchProvider docDispatchProvider =
UnoRuntime.queryInterface(XDispatchProvider.class, m_xFrame);

DispatchResultEvent dRE = (DispatchResultEvent) dispatcher.executeDispatch( 

                                                docDispatchProvider,

                                                ".uno:OptionsTreeDialog", 

                                                "", 

                                                0, 

                                                args

                    );

 

2)      Use path of the dialog given in OptionsDialog.xcu

com.sun.star.beans.PropertyValue[] args = new
com.sun.star.beans.PropertyValue[1];

args[0] = new PropertyValue(

"OptionsPageURL", 0, 

"%origin%/../../../../../dialogs/EntryDialogUnifier.xdl",

PropertyState.DIRECT_VALUE);

XDispatchProvider docDispatchProvider =
UnoRuntime.queryInterface(XDispatchProvider.class, m_xFrame);

DispatchResultEvent dRE = (DispatchResultEvent) dispatcher.executeDispatch( 

                                                docDispatchProvider,

                                                ".uno:OptionsTreeDialog", 

                                                "", 

                                                0, 

                                                args

                    );

 

3)      Adding the parameter to dispatch URL:

DispatchResultEvent dRE = (DispatchResultEvent) dispatcher.executeDispatch( 

                                                docDispatchProvider,

                                                ".uno:OptionsTreeDialog", 

                                                + "?OptionsPageURL:string="

                                                +
"%origin%/../../../../../dialogs/EntryDialogUnifier.xdl"

                                                "", 

                                                0, 

                                                new PropertyValue [] {}

                    );

//I also tried to pass extensionCurrentPath .

 

None of them worked.

 

How can I test my code? And is there a tool to show me the right value to
pass to "OptionsPageURL" parameter?

 

Or is it just not working in OO 4.1.1 ?

 

Please advise. Thanks.

 

 

Berkhan Dipşo

Solutions Architect

Tel          : +90 (216) 469 96 00 (14)

GSM      : +90 (533) 03 03 550

 

PRM YAZILIM

Oracle Gold Partner

Primavera Specialized

 <http://www.prmyazilim.com/> www.prmyazilim.com

 

 <http://www.linkedin/company/prm-yazilim>
http://www.linkedin/company/prm-yazilim

 <http://www.twitter.com/prmyazilim> http://www.twitter.com/prmyazilim

 

6-10 Temmuz - İSTANBUL

Primavera eğitimlerine ön kayıt icin:

 <http://apps.primavera-tr.com/drupal/node/15>
http://apps.primavera-tr.com/drupal/node/15

 

Reply via email to