Hi Driesner,
first i want thank u for replying me between your busy shedules. ok i will
read about
protocol handler and i will mail u after i implement it.
Have a happy week end.

On 8/4/06, Carsten Driesner <[EMAIL PROTECTED]> wrote:

Madhan Ponnusamy wrote:
> Hi Carsten,
> Thank u...i had already searched in the code snippetbase but i cannot
find
> the solution. any way now i got a doubt in macros. I had created menus
> programtically and i tried to link the menus to macros by the code
> PropertyValue[] oMenuItem = CreateMenuItem(
>                "macro:///WebWizard.Language.LoadLanguage()",
"HelloWorld");
>
> where i created CreateMenuItem function as
>
> public static PropertyValue[] CreateMenuItem(String command, String
> label) {
>        PropertyValue[] aMenuItem = new PropertyValue[] { new
> PropertyValue(),
>                new PropertyValue(), new PropertyValue() };
>
>        aMenuItem[0].Name = "CommandURL";
>        aMenuItem[0].Value = command;
>        aMenuItem[1].Name = "Label";
>        aMenuItem[1].Value = label;
>        aMenuItem[2].Name = "Type";
>        aMenuItem[2].Value = new Integer(ItemType.DEFAULT);
>
>        return aMenuItem;
>    }
>
> this code worked.............but if i change the code as
>
> PropertyValue[] oMenuItem = CreateMenuItem(
>                "macro:///HelloWorld.HelloWorld.printHw", "HelloWorld");
> it is not working.where "HelloWorld.HelloWorld.printHW" is java macro
below
> OpenOffice.org Macors and
> "WebWizard.Language.LoadLanguage" is a macro under My Macro's (seen it
in
> tools->macros->runmacros). what to do  now??how to access the java
macros
> inside OpenOffice.org Macros...

Hi Madhan,

You can only use "macro:" URLs for OpenOffice.org Basic macros. There is
a new protocol schema called "script:" where you can call macros
implemented by languages supported by the scripting framework (see ).
Java is not supported by the scripting framework. Therefore you have to
implement a protocol handler as I already wrote you. A protocol handler
defines a new private protocol for its commands. The OpenOffice.org
framework calls your protocol handler whenever it finds commands with
your private protocol. E.g. the command URL
"org.openoffice.Office.MyComponent:function1" would activate the
protocol handler with the registered protocol
"org.openoffice.Office.MyComponent".

Juergen Schmidt gave you some hints where you can find sample code:

"you should take a look on ProtocolHandler add-ons. See for example the
<sdk>/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_java
and i suggest the appropriate DevGuide chapter

http://api.openoffice.org/docs/DevelopersGuide/Components/Components.xhtml#1_7_Integrating_Components_into_OpenOffice.org

A small ProtocollHandler object can trigger different Java classes for
different commands (simplified -> protocol+commands = menu|toolbar items).

You can package your ProtocolHandler + xcu files + your Java classes in
one extension package and can deploy it easily."

Regards,
Carsten

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to