You are viewing a plain text version of this content. The canonical link for it is here.
Posted to api@openoffice.apache.org by "Shukla, Mangesh" <ma...@siemens.com> on 2012/12/20 07:33:28 UTC

Need help in getting the design right with Openoffice.org

Hi ,
    I am new to OpenOffice development and need some ideas on the following implementation.   I am working on an C++ application which needs to interact with OpenOffice.org. The interaction will comprise of populating data in the spreadsheet application. The Calc application is intended to be used as UI for displaying values to the user, and allowing him to make changes. This interaction between the C++ application is required on Windows, Linux and Mac as well.

I have the following questions:
1] I think I need to implement a UNO component which will implement a service to handle the interactions with the OpenOffice Calc application. This UNO component will be compiled as a shared library. My question is how does a C++ application interact with the shared library of the component.

2] I also need inputs on how I can pass function pointers (in the C++ application) during the Add-On menu creation, so that they get called when the user clicks on the Add-on menu items.

Please let me know if you need more inputs.

Thanks,
Mangesh.


RE: Need help in getting the design right with Openoffice.org

Posted by "Shukla, Mangesh" <ma...@siemens.com>.
Hi Jürgen,
    Thanks for your valuable inputs and for pointing out the links to me. I have checked out the links about Add-ons and addins. I am sure all the inputs will come in handy when I get to implementation.
Regards
Mangesh
 


-----Original Message-----
From: Jürgen Schmidt [mailto:jogischmidt@gmail.com] 
Sent: Thursday, December 20, 2012 4:22 PM
To: api@openoffice.apache.org
Subject: Re: Need help in getting the design right with Openoffice.org

On 12/20/12 9:13 AM, Shukla, Mangesh wrote:
> Hi Alexandro,
>     Thanks for the quick response. Actually I would prefer the solution to be in C++, as I am not comfortable with Python. I will check the Add-on samples for the socket implementation. But since I am starter, I would like to discuss the design of how it should be implemented.
> 

Hi Mangesh,

besides an add-on which is mainly the concept to integrate in the UI (menu, toolbars) via API you can also check the concept of add-ins. For both concepts you have to implement the necessary UNO interfaces. How you do the communication from your underlying extension implementation and your external C++ app is up to you. But of course you could use UNO here as well by integrating parts of the URE in your C++ app.

Add-ons are the trigger points in the UI and you have to use the API to manipulate the document by changing cell values, adding formulas, etc.
Add-in provide a way to create your won built-in function for the Calc that you can directly call via the normal function dialog or directly in a cell as any other function.

Calc Add-in
http://wiki.openoffice.org/wiki/Calc/Add-In/CompleteAddIn

Add-on
http://wiki.openoffice.org/wiki/Add-on

> Thanks
> Mangesh
> 
> 
> 
> -----Original Message-----
> From: acolorado@gmail.com [mailto:acolorado@gmail.com] On Behalf Of 
> Alexandro Colorado
> Sent: Thursday, December 20, 2012 12:43 PM
> To: api@openoffice.apache.org
> Subject: Re: Need help in getting the design right with Openoffice.org
> 
> You can do an add-on that open a socket and read the data from your application. There are some tutorials on doing this on the development guide.
> 
> Although not very secure, this tutorial tells you the basic of a 
> listener or deamon that would receive commands from external 
> applications http://wiki.openoffice.org/wiki/Deamon_in_Python
> 
> Although old this is a tutorial on how it works:
> http://www.linuxjournal.com/content/starting-stopping-and-connecting-o
> penoffice-python
> 
> On Thu, Dec 20, 2012 at 12:33 AM, Shukla, Mangesh < mangesh.shukla@siemens.com> wrote:
> 
>> Hi ,
>>     I am new to OpenOffice development and need some ideas on the
>> following implementation.   I am working on an C++ application which needs
>> to interact with OpenOffice.org. The interaction will comprise of 
>> populating data in the spreadsheet application. The Calc application 
>> is intended to be used as UI for displaying values to the user, and 
>> allowing him to make changes. This interaction between the C++ 
>> application is required on Windows, Linux and Mac as well.
>>
>> I have the following questions:
>> 1] I think I need to implement a UNO component which will implement a 
>> service to handle the interactions with the OpenOffice Calc application.
>> This UNO component will be compiled as a shared library. My question 
>> is how does a C++ application interact with the shared library of the component.
>>
>> 2] I also need inputs on how I can pass function pointers (in the C++
>> application) during the Add-On menu creation, so that they get called 
>> when the user clicks on the Add-on menu items.
>>
>> Please let me know if you need more inputs.
>>
>> Thanks,
>> Mangesh.
>>
>>
> 
> 
> --
> Alexandro Colorado
> Apache OpenOffice Contributor
> http://es.openoffice.org
> 


Re: Need help in getting the design right with Openoffice.org

Posted by Jürgen Schmidt <jo...@gmail.com>.
On 12/20/12 9:13 AM, Shukla, Mangesh wrote:
> Hi Alexandro,
>     Thanks for the quick response. Actually I would prefer the solution to be in C++, as I am not comfortable with Python. I will check the Add-on samples for the socket implementation. But since I am starter, I would like to discuss the design of how it should be implemented.
> 

Hi Mangesh,

besides an add-on which is mainly the concept to integrate in the UI
(menu, toolbars) via API you can also check the concept of add-ins. For
both concepts you have to implement the necessary UNO interfaces. How
you do the communication from your underlying extension implementation
and your external C++ app is up to you. But of course you could use UNO
here as well by integrating parts of the URE in your C++ app.

Add-ons are the trigger points in the UI and you have to use the API to
manipulate the document by changing cell values, adding formulas, etc.
Add-in provide a way to create your won built-in function for the Calc
that you can directly call via the normal function dialog or directly in
a cell as any other function.

Calc Add-in
http://wiki.openoffice.org/wiki/Calc/Add-In/CompleteAddIn

Add-on
http://wiki.openoffice.org/wiki/Add-on

> Thanks
> Mangesh
> 
> 
> 
> -----Original Message-----
> From: acolorado@gmail.com [mailto:acolorado@gmail.com] On Behalf Of Alexandro Colorado
> Sent: Thursday, December 20, 2012 12:43 PM
> To: api@openoffice.apache.org
> Subject: Re: Need help in getting the design right with Openoffice.org
> 
> You can do an add-on that open a socket and read the data from your application. There are some tutorials on doing this on the development guide.
> 
> Although not very secure, this tutorial tells you the basic of a listener or deamon that would receive commands from external applications http://wiki.openoffice.org/wiki/Deamon_in_Python
> 
> Although old this is a tutorial on how it works:
> http://www.linuxjournal.com/content/starting-stopping-and-connecting-openoffice-python
> 
> On Thu, Dec 20, 2012 at 12:33 AM, Shukla, Mangesh < mangesh.shukla@siemens.com> wrote:
> 
>> Hi ,
>>     I am new to OpenOffice development and need some ideas on the
>> following implementation.   I am working on an C++ application which needs
>> to interact with OpenOffice.org. The interaction will comprise of 
>> populating data in the spreadsheet application. The Calc application 
>> is intended to be used as UI for displaying values to the user, and 
>> allowing him to make changes. This interaction between the C++ 
>> application is required on Windows, Linux and Mac as well.
>>
>> I have the following questions:
>> 1] I think I need to implement a UNO component which will implement a 
>> service to handle the interactions with the OpenOffice Calc application.
>> This UNO component will be compiled as a shared library. My question 
>> is how does a C++ application interact with the shared library of the component.
>>
>> 2] I also need inputs on how I can pass function pointers (in the C++
>> application) during the Add-On menu creation, so that they get called 
>> when the user clicks on the Add-on menu items.
>>
>> Please let me know if you need more inputs.
>>
>> Thanks,
>> Mangesh.
>>
>>
> 
> 
> --
> Alexandro Colorado
> Apache OpenOffice Contributor
> http://es.openoffice.org
> 


Re: Need help in getting the design right with Openoffice.org

Posted by jg <jg...@jgoettgens.de>.
Mangesh:

I don't know in what way your application needs differ from mine in 
detail. In my case, the bulk of the work is done by my MFC application. 
Once the data are "inside" of OpenOffice the feedback to the MFC app is 
not very complex and essentially only a couple of database entries need 
to get written to or updated. I can do this quite comfortably with OO 
Basic, which also handles some special menus.

Depending on how your application and OO are coupled, this might not be 
a workable way.

One more thing; if your application is part of your job it could make 
sense to buy the necessary expertise. Either to get started with UNO 
C++, which also would yield a base of working code, or to help with the 
project, too (I'd say, once you are comfortable with the UNO specific 
things, this should hardly be necessary). It's just a matter of what is 
more expensive, because you potentially need to spend more time working 
out the details when you are on your own. I am sure that there are 
enough experts out there, who are able to offer professional help.

jg

Re: Need help in getting the design right with Openoffice.org

Posted by Alexandro Colorado <jz...@oooes.org>.
On Thu, Dec 20, 2012 at 2:13 AM, Shukla, Mangesh <mangesh.shukla@siemens.com
> wrote:

> Hi Alexandro,
>     Thanks for the quick response. Actually I would prefer the solution to
> be in C++, as I am not comfortable with Python. I will check the Add-on
> samples for the socket implementation. But since I am starter, I would like
> to discuss the design of how it should be implemented.
>

This is pretty old, but still a good read to learn how the API is
structured using C++
http://www.openoffice.org/udk/cpp/man/tutorial/unointro.html

Just take it as a low priority read about the environment.



>
> Thanks
> Mangesh
>
>
>
> -----Original Message-----
> From: acolorado@gmail.com [mailto:acolorado@gmail.com] On Behalf Of
> Alexandro Colorado
> Sent: Thursday, December 20, 2012 12:43 PM
> To: api@openoffice.apache.org
> Subject: Re: Need help in getting the design right with Openoffice.org
>
> You can do an add-on that open a socket and read the data from your
> application. There are some tutorials on doing this on the development
> guide.
>
> Although not very secure, this tutorial tells you the basic of a listener
> or deamon that would receive commands from external applications
> http://wiki.openoffice.org/wiki/Deamon_in_Python
>
> Although old this is a tutorial on how it works:
>
> http://www.linuxjournal.com/content/starting-stopping-and-connecting-openoffice-python
>
> On Thu, Dec 20, 2012 at 12:33 AM, Shukla, Mangesh <
> mangesh.shukla@siemens.com> wrote:
>
> > Hi ,
> >     I am new to OpenOffice development and need some ideas on the
> > following implementation.   I am working on an C++ application which
> needs
> > to interact with OpenOffice.org. The interaction will comprise of
> > populating data in the spreadsheet application. The Calc application
> > is intended to be used as UI for displaying values to the user, and
> > allowing him to make changes. This interaction between the C++
> > application is required on Windows, Linux and Mac as well.
> >
> > I have the following questions:
> > 1] I think I need to implement a UNO component which will implement a
> > service to handle the interactions with the OpenOffice Calc application.
> > This UNO component will be compiled as a shared library. My question
> > is how does a C++ application interact with the shared library of the
> component.
> >
> > 2] I also need inputs on how I can pass function pointers (in the C++
> > application) during the Add-On menu creation, so that they get called
> > when the user clicks on the Add-on menu items.
> >
> > Please let me know if you need more inputs.
> >
> > Thanks,
> > Mangesh.
> >
> >
>
>
> --
> Alexandro Colorado
> Apache OpenOffice Contributor
> http://es.openoffice.org
>



-- 
Alexandro Colorado
Apache OpenOffice Contributor
http://es.openoffice.org

RE: Need help in getting the design right with Openoffice.org

Posted by "Shukla, Mangesh" <ma...@siemens.com>.
Hi Alexandro,
    Thanks for the quick response. Actually I would prefer the solution to be in C++, as I am not comfortable with Python. I will check the Add-on samples for the socket implementation. But since I am starter, I would like to discuss the design of how it should be implemented.

Thanks
Mangesh



-----Original Message-----
From: acolorado@gmail.com [mailto:acolorado@gmail.com] On Behalf Of Alexandro Colorado
Sent: Thursday, December 20, 2012 12:43 PM
To: api@openoffice.apache.org
Subject: Re: Need help in getting the design right with Openoffice.org

You can do an add-on that open a socket and read the data from your application. There are some tutorials on doing this on the development guide.

Although not very secure, this tutorial tells you the basic of a listener or deamon that would receive commands from external applications http://wiki.openoffice.org/wiki/Deamon_in_Python

Although old this is a tutorial on how it works:
http://www.linuxjournal.com/content/starting-stopping-and-connecting-openoffice-python

On Thu, Dec 20, 2012 at 12:33 AM, Shukla, Mangesh < mangesh.shukla@siemens.com> wrote:

> Hi ,
>     I am new to OpenOffice development and need some ideas on the
> following implementation.   I am working on an C++ application which needs
> to interact with OpenOffice.org. The interaction will comprise of 
> populating data in the spreadsheet application. The Calc application 
> is intended to be used as UI for displaying values to the user, and 
> allowing him to make changes. This interaction between the C++ 
> application is required on Windows, Linux and Mac as well.
>
> I have the following questions:
> 1] I think I need to implement a UNO component which will implement a 
> service to handle the interactions with the OpenOffice Calc application.
> This UNO component will be compiled as a shared library. My question 
> is how does a C++ application interact with the shared library of the component.
>
> 2] I also need inputs on how I can pass function pointers (in the C++
> application) during the Add-On menu creation, so that they get called 
> when the user clicks on the Add-on menu items.
>
> Please let me know if you need more inputs.
>
> Thanks,
> Mangesh.
>
>


--
Alexandro Colorado
Apache OpenOffice Contributor
http://es.openoffice.org

Re: Need help in getting the design right with Openoffice.org

Posted by Alexandro Colorado <jz...@oooes.org>.
You can do an add-on that open a socket and read the data from your
application. There are some tutorials on doing this on the development
guide.

Although not very secure, this tutorial tells you the basic of a listener
or deamon that would receive commands from external applications
http://wiki.openoffice.org/wiki/Deamon_in_Python

Although old this is a tutorial on how it works:
http://www.linuxjournal.com/content/starting-stopping-and-connecting-openoffice-python

On Thu, Dec 20, 2012 at 12:33 AM, Shukla, Mangesh <
mangesh.shukla@siemens.com> wrote:

> Hi ,
>     I am new to OpenOffice development and need some ideas on the
> following implementation.   I am working on an C++ application which needs
> to interact with OpenOffice.org. The interaction will comprise of
> populating data in the spreadsheet application. The Calc application is
> intended to be used as UI for displaying values to the user, and allowing
> him to make changes. This interaction between the C++ application is
> required on Windows, Linux and Mac as well.
>
> I have the following questions:
> 1] I think I need to implement a UNO component which will implement a
> service to handle the interactions with the OpenOffice Calc application.
> This UNO component will be compiled as a shared library. My question is how
> does a C++ application interact with the shared library of the component.
>
> 2] I also need inputs on how I can pass function pointers (in the C++
> application) during the Add-On menu creation, so that they get called when
> the user clicks on the Add-on menu items.
>
> Please let me know if you need more inputs.
>
> Thanks,
> Mangesh.
>
>


-- 
Alexandro Colorado
Apache OpenOffice Contributor
http://es.openoffice.org