java代码如下:
//Listing 33 A Java Code Example
// Java
// create new writer document and get text, then manipulate text
XComponent xWriterComponent = newDocComponent(“swriter”);
XTextDocument xTextDocument = (XTextDocument)UnoRuntime.queryInterface(XTextDocument.class,xWriterComponent);
// Access the text document’s multi service factory, which we will need for most of the
// following examples
mxDocFactory = (XMultiServiceFactory) UnoRuntime.queryInterface
(XMultiServiceFactory.class,xTextDocument);
XText xText = xTextDocument.getText();
// create a text cursor from the cells XText interface
XTextCursor xTextCursor = xText.createTextCursor();
// Get the property set of the cell’s TextCursor
XPropertySet xTextCursorProps = (XPropertySet)UnoRuntime.queryInterface
(XPropertySet.class,xTextCursor);
// Page Style name
String pageStyleName= xTextCursorProps.getPropertyValue(“PageStyleName”).toString();
// Get the StyleFamiliesSupplier interface of the document
XStyleFamiliesSupplier xSupplier = (XStyleFamiliesSupplier) UnoRuntime.queryInterface
(XStyleFamiliesSupplier.class,xTextDocument);
// Use the StyleFamiliesSupplier interface to get the XNameAccess interface of the
// actual style families
XNameAccess xFamilies = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class,
xSupplier.getStyleFamilies());
// Access the ‘PageStyles’ Family
XNameContainer xFamily = (XNameContainer) UnoRuntime.queryInterface
(XNameContainer.class,xFamilies.getByName(“PageStyles”));
// Insert the newly created style into the PageStyles family
XStyle xStyle= (XStyle) UnoRuntime.queryInterface(XStyle.class,xFamily.getByName
(pageStyleName));
// Get the property set of the TextCursor
XPropertySet xStyleProps = (XPropertySet)UnoRuntime.queryInterface
(XPropertySet.class,xStyle);
xStyleProps.setPropertyValue(“LeftMargin”,new Short((short)1200));
xStyleProps.setPropertyValue(“RightMargin”,new Short((short)1200));
xStyleProps.setPropertyValue(“BottomMargin”,new Short((short)1200));
c++代码如下:
//Listing 34 The corresponding C++ Translation
// C++
// create new writer document and get text, then manipulate text
// Don’t forget to add : using namespace com::sun::star::text;
// Don’t forget to add : #include
// Don’t forget to add “com.sun.star.text.XTextDocument \” in the makefile
// Don’t forget to add : using namespace com::sun::star::beans;
// Don’t forget to add : #include
// Don’t forget to add “com.sun.star.beans.XPropertySet \” in the makefile
// Don’t forget to add : using namespace com::sun::star::style;
// Don’t forget to add : #include
// Don’t forget to add “com.sun.star.style.XStyleFamiliesSupplier \” in the makefile
// Don’t forget to add : using namespace com::sun::star::container;
// Don’t forget to add : #include
// Don’t forget to add “com.sun.star.container.XNameContainer \” in the makefile
// Don’t forget to add : #include
// Don’t forget to add “com.sun.star.style.XStyle \” in the makefile
// the first line cannot be translated : already done in our main()
// XComponent xWriterComponent = newDocComponent(“swriter”);
Reference < XTextDocument > xTextDocument (xWriterComponent,UNO_QUERY);
// Access the text document’s multi service factory, which we will need for most of the
// following examples
Reference< XMultiServiceFactory > mxDocFactory(xTextDocument,UNO_QUERY);
Reference< XText > xT