Difference between revisions of "Calc/API/Programming"
SergeMoutou (Talk | contribs) (→See also) |
SergeMoutou (Talk | contribs) (→See also) |
||
Line 1: | Line 1: | ||
+ | To avoid to search in the previous code where we insert the new listings given in this chapter, we first give it again (only the main() part) : | ||
+ | <code>[cpp] | ||
+ | //Listing 1 Again our starting main Code | ||
+ | int main( ) { | ||
+ | //retrieve an instance of the remote service manager | ||
+ | Reference< XMultiServiceFactory > rOfficeServiceManager; | ||
+ | rOfficeServiceManager = ooConnect(); | ||
+ | if( rOfficeServiceManager.is() ){ | ||
+ | printf( "Connected sucessfully to the office\n" ); | ||
+ | } | ||
+ | |||
+ | //get the desktop service using createInstance returns an XInterface type | ||
+ | Reference< XInterface > Desktop = rOfficeServiceManager->createInstance( | ||
+ | OUString::createFromAscii( "com.sun.star.frame.Desktop" )); | ||
+ | |||
+ | //query for the XComponentLoader interface | ||
+ | Reference< XComponentLoader > rComponentLoader (Desktop, UNO_QUERY); | ||
+ | if( rComponentLoader.is() ){ | ||
+ | printf( "XComponentloader successfully instanciated\n" ); | ||
+ | } | ||
+ | |||
+ | //get an instance of the spreadsheet | ||
+ | Reference< XComponent > xcomponent = rComponentLoader->loadComponentFromURL( | ||
+ | OUString::createFromAscii("private:factory/scalc"), | ||
+ | OUString::createFromAscii("_blank"), | ||
+ | 0, | ||
+ | Sequence < ::com::sun::star::beans::PropertyValue >()); | ||
+ | // add code here | ||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | Remember each time you query for an interface you have to add code lines (if they don't exist) in the source code and a line in the makefile. I will generally add comments to prevent omissions. | ||
+ | =To find the Sheet= | ||
+ | The most important interface for this chapter is XspreadsheetDocument. This interface supply the getSheets() method. This interface is inherited from XInterface which provide queries for a new interface to an existing UNO object : queryInterface. | ||
+ | |||
= See also= | = See also= | ||
* Using C++ with OOo SDK : [[Using_Cpp_with_the_OOo_SDK | Main Page]] | * Using C++ with OOo SDK : [[Using_Cpp_with_the_OOo_SDK | Main Page]] |
Revision as of 16:46, 17 May 2006
To avoid to search in the previous code where we insert the new listings given in this chapter, we first give it again (only the main() part) :
[cpp]
//Listing 1 Again our starting main Code
int main( ) {
//retrieve an instance of the remote service manager
Reference< XMultiServiceFactory > rOfficeServiceManager; rOfficeServiceManager = ooConnect(); if( rOfficeServiceManager.is() ){ printf( "Connected sucessfully to the office\n" ); }
//get the desktop service using createInstance returns an XInterface type
Reference< XInterface > Desktop = rOfficeServiceManager->createInstance( OUString::createFromAscii( "com.sun.star.frame.Desktop" ));
//query for the XComponentLoader interface
Reference< XComponentLoader > rComponentLoader (Desktop, UNO_QUERY); if( rComponentLoader.is() ){ printf( "XComponentloader successfully instanciated\n" ); }
//get an instance of the spreadsheet
Reference< XComponent > xcomponent = rComponentLoader->loadComponentFromURL(
OUString::createFromAscii("private:factory/scalc"),
OUString::createFromAscii("_blank"), 0, Sequence < ::com::sun::star::beans::PropertyValue >());
// add code here
return 0;
} Remember each time you query for an interface you have to add code lines (if they don't exist) in the source code and a line in the makefile. I will generally add comments to prevent omissions.
To find the Sheet
The most important interface for this chapter is XspreadsheetDocument. This interface supply the getSheets() method. This interface is inherited from XInterface which provide queries for a new interface to an existing UNO object : queryInterface.
See also
- Using C++ with OOo SDK : Main Page
- OpenOffice Calc (Chapter 5 from UNO/C++ document)
- Writing a Program to Control OpenOffice.org, by Franco Pingiori — Part 1 and Part 2, Linux Journal