1*b1cdbd2cSJim Jagielski<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> 2*b1cdbd2cSJim Jagielski<!-- 3*b1cdbd2cSJim Jagielski#************************************************************** 4*b1cdbd2cSJim Jagielski# 5*b1cdbd2cSJim Jagielski# Licensed to the Apache Software Foundation (ASF) under one 6*b1cdbd2cSJim Jagielski# or more contributor license agreements. See the NOTICE file 7*b1cdbd2cSJim Jagielski# distributed with this work for additional information 8*b1cdbd2cSJim Jagielski# regarding copyright ownership. The ASF licenses this file 9*b1cdbd2cSJim Jagielski# to you under the Apache License, Version 2.0 (the 10*b1cdbd2cSJim Jagielski# "License"); you may not use this file except in compliance 11*b1cdbd2cSJim Jagielski# with the License. You may obtain a copy of the License at 12*b1cdbd2cSJim Jagielski# 13*b1cdbd2cSJim Jagielski# http://www.apache.org/licenses/LICENSE-2.0 14*b1cdbd2cSJim Jagielski# 15*b1cdbd2cSJim Jagielski# Unless required by applicable law or agreed to in writing, 16*b1cdbd2cSJim Jagielski# software distributed under the License is distributed on an 17*b1cdbd2cSJim Jagielski# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 18*b1cdbd2cSJim Jagielski# KIND, either express or implied. See the License for the 19*b1cdbd2cSJim Jagielski# specific language governing permissions and limitations 20*b1cdbd2cSJim Jagielski# under the License. 21*b1cdbd2cSJim Jagielski# 22*b1cdbd2cSJim Jagielski#************************************************************** 23*b1cdbd2cSJim Jagielski --> 24*b1cdbd2cSJim Jagielski<html> 25*b1cdbd2cSJim Jagielski<head> 26*b1cdbd2cSJim Jagielski <title>Apache OpenOffice %PRODUCT_RELEASE% SDK - Examples</title> 27*b1cdbd2cSJim Jagielski <link rel="stylesheet" type="text/css" href="../docs/sdk_styles.css"> 28*b1cdbd2cSJim Jagielski <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 29*b1cdbd2cSJim Jagielski <meta name="author" content="Jürgen Schmidt"> 30*b1cdbd2cSJim Jagielski <meta name="created" content="2004-12-14"> 31*b1cdbd2cSJim Jagielski</head> 32*b1cdbd2cSJim Jagielski 33*b1cdbd2cSJim Jagielski<body class="sdkbody"><a name="examples"/> 34*b1cdbd2cSJim Jagielski<table class="table1" cellpadding=0> 35*b1cdbd2cSJim Jagielski <tr style="background-image:url(../docs/images/sdk_head-2.png); backgorund-position: bottom; "> 36*b1cdbd2cSJim Jagielski <td class="background" colspan="3" align="left"><img src="../docs/images/sdk_head-1.png" width="800" height="120" usemap="#Map" border="0"></td> 37*b1cdbd2cSJim Jagielski </tr> 38*b1cdbd2cSJim Jagielski <tr> 39*b1cdbd2cSJim Jagielski <td colspan="3"><img class="nothing10" src="../docs/images/nada.gif"></td> 40*b1cdbd2cSJim Jagielski </tr> 41*b1cdbd2cSJim Jagielski <tr> 42*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 43*b1cdbd2cSJim Jagielski <td> 44*b1cdbd2cSJim Jagielski <table class="table2"> 45*b1cdbd2cSJim Jagielski <tr> 46*b1cdbd2cSJim Jagielski <td colspan="3"><img class="nothing1" src="../docs/images/nada.gif"></td> 47*b1cdbd2cSJim Jagielski </tr> 48*b1cdbd2cSJim Jagielski <tr> 49*b1cdbd2cSJim Jagielski <td> 50*b1cdbd2cSJim Jagielski <table class="table3"> 51*b1cdbd2cSJim Jagielski <tr> 52*b1cdbd2cSJim Jagielski <td colspan="2" class="head1">Examples</td> 53*b1cdbd2cSJim Jagielski <td align="right"><a href="../index.html" title="link to the SDK start page"><img class="navigate" src="../docs/images/nav_home.png"></a></td> 54*b1cdbd2cSJim Jagielski </tr> 55*b1cdbd2cSJim Jagielski </table> 56*b1cdbd2cSJim Jagielski </td> 57*b1cdbd2cSJim Jagielski </tr> 58*b1cdbd2cSJim Jagielski <tr> 59*b1cdbd2cSJim Jagielski <td> 60*b1cdbd2cSJim Jagielski <table class="table3"> 61*b1cdbd2cSJim Jagielski <tr> 62*b1cdbd2cSJim Jagielski <td colspan="3"> 63*b1cdbd2cSJim Jagielski <p>The SDK provides a rich set of examples in different programming 64*b1cdbd2cSJim Jagielski languages (Java, C++, Apache OpenOffice %PRODUCT_RELEASE% Basic, OLE) to illustrate the use 65*b1cdbd2cSJim Jagielski of the API and demonstrate how to benefit from the included word 66*b1cdbd2cSJim Jagielski processor, spreadsheet, presentation software, graphics program and 67*b1cdbd2cSJim Jagielski database of Apache OpenOffice %PRODUCT_RELEASE%.<br> 68*b1cdbd2cSJim Jagielski Some fo the examples need a running office instance listening on a 69*b1cdbd2cSJim Jagielski port. If this is necessary you will get further information in the 70*b1cdbd2cSJim Jagielski makefiles.</p> 71*b1cdbd2cSJim Jagielski <p>Every makefile contains at least one run target to execute an 72*b1cdbd2cSJim Jagielski running example, please see the makefile output in the different 73*b1cdbd2cSJim Jagielski example directories. Some of the examples which create a component have 74*b1cdbd2cSJim Jagielski no run target. In these cases a document is provided which instantiates 75*b1cdbd2cSJim Jagielski and runs the component (see the makefile output). Also the Basic 76*b1cdbd2cSJim Jagielski examples provide documents which use and shows the implemented 77*b1cdbd2cSJim Jagielski functionality.</p> 78*b1cdbd2cSJim Jagielski </td> 79*b1cdbd2cSJim Jagielski </tr> 80*b1cdbd2cSJim Jagielski <tr> 81*b1cdbd2cSJim Jagielski <td><img class="line" src="../docs/images/sdk_line-1.gif"></td> 82*b1cdbd2cSJim Jagielski </tr> 83*b1cdbd2cSJim Jagielski </table> 84*b1cdbd2cSJim Jagielski </tr> 85*b1cdbd2cSJim Jagielski <tr> 86*b1cdbd2cSJim Jagielski <td> 87*b1cdbd2cSJim Jagielski <table class="table3"> 88*b1cdbd2cSJim Jagielski <tr valign="top"> 89*b1cdbd2cSJim Jagielski <td class="content3"><img src="../docs/images/arrow-1.gif"></td> 90*b1cdbd2cSJim Jagielski <td><a href="DevelopersGuide/examples.html" title="link to the Developer's Guide examples overview page">Developer's Guide examples</a></td> 91*b1cdbd2cSJim Jagielski <td class="content75">The <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OpenOffice.org_Developers_Guide" title="link to the Developer's Guide in the Wiki">Developer's Guide</a> comes 92*b1cdbd2cSJim Jagielski with a rich set of examples which demonstrate the use of the API in 93*b1cdbd2cSJim Jagielski the different application areas.</td> 94*b1cdbd2cSJim Jagielski </tr> 95*b1cdbd2cSJim Jagielski <tr valign="top"> 96*b1cdbd2cSJim Jagielski <td class="content3"><img src="../docs/images/arrow-1.gif"></td> 97*b1cdbd2cSJim Jagielski <td><a href="#Java_examples" title="link to the Java examples section">Java examples</a></td> 98*b1cdbd2cSJim Jagielski <td class="content75">Set of simple and more complex examples which 99*b1cdbd2cSJim Jagielski shows the use of the API from Java.</td> 100*b1cdbd2cSJim Jagielski </tr> 101*b1cdbd2cSJim Jagielski <tr valign="top"> 102*b1cdbd2cSJim Jagielski <td class="content3"><img src="../docs/images/arrow-1.gif"></td> 103*b1cdbd2cSJim Jagielski <td><a href="#Cpp_examples" title="link to the C++ examples section">C++ examples</a></td> 104*b1cdbd2cSJim Jagielski <td class="content75">Small set of examples which shows the use of 105*b1cdbd2cSJim Jagielski the API from C++.</td> 106*b1cdbd2cSJim Jagielski </tr> 107*b1cdbd2cSJim Jagielski <tr valign="top"> 108*b1cdbd2cSJim Jagielski <td class="content3"><img src="../docs/images/arrow-1.gif"></td> 109*b1cdbd2cSJim Jagielski <td><a href="#Basic_examples" title="link to the Apache OpenOffice %PRODUCT_RELEASE% Basic examples section">Apache OpenOffice %PRODUCT_RELEASE% Basic examples</a></td> 110*b1cdbd2cSJim Jagielski <td class="content75">Small set of examples which shows the use of 111*b1cdbd2cSJim Jagielski the API from Apache OpenOffice %PRODUCT_RELEASE% Basic.</td> 112*b1cdbd2cSJim Jagielski </tr> 113*b1cdbd2cSJim Jagielski <tr valign="top"> 114*b1cdbd2cSJim Jagielski <td class="content3"><img src="../docs/images/arrow-1.gif"></td> 115*b1cdbd2cSJim Jagielski <td><a href="#OLE_examples" title="link to the OLE examples section">Object Linking and Embedding (OLE) examples</a></td> 116*b1cdbd2cSJim Jagielski <td class="content75">Examples which show the use of the API from 117*b1cdbd2cSJim Jagielski OLE.</td> 118*b1cdbd2cSJim Jagielski </tr> 119*b1cdbd2cSJim Jagielski <tr valign="top"> 120*b1cdbd2cSJim Jagielski <td class="content3"><img src="../docs/images/arrow-1.gif"></td> 121*b1cdbd2cSJim Jagielski <td><a href="#CLI_examples" title="link to the CLI examples section">Common Language Infrastructure (CLI) examples</a></td> 122*b1cdbd2cSJim Jagielski <td class="content75">Examples which show the use of the API from 123*b1cdbd2cSJim Jagielski the CLI.</td> 124*b1cdbd2cSJim Jagielski </tr> 125*b1cdbd2cSJim Jagielski </table> 126*b1cdbd2cSJim Jagielski </tr> 127*b1cdbd2cSJim Jagielski </table> 128*b1cdbd2cSJim Jagielski </td> 129*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 130*b1cdbd2cSJim Jagielski </tr> 131*b1cdbd2cSJim Jagielski <tr> 132*b1cdbd2cSJim Jagielski <td colspan="3"><img class="line" src="../docs/images/sdk_line-1.gif"></td> 133*b1cdbd2cSJim Jagielski </tr> 134*b1cdbd2cSJim Jagielski <tr> 135*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 136*b1cdbd2cSJim Jagielski <td> 137*b1cdbd2cSJim Jagielski <table class="table2"> 138*b1cdbd2cSJim Jagielski <tr> 139*b1cdbd2cSJim Jagielski <td> 140*b1cdbd2cSJim Jagielski <table class="table3"> 141*b1cdbd2cSJim Jagielski <tr> 142*b1cdbd2cSJim Jagielski <td colspan="2" class="head1"><a name="Java_examples">Java examples</td> 143*b1cdbd2cSJim Jagielski <td align="right"> 144*b1cdbd2cSJim Jagielski <a href="#examples" title="link to the examples overview"><img class="navigate" src="../docs/images/nav_up.png"></a> 145*b1cdbd2cSJim Jagielski <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="../docs/images/nav_home.png"></a> 146*b1cdbd2cSJim Jagielski </td> 147*b1cdbd2cSJim Jagielski </tr> 148*b1cdbd2cSJim Jagielski </table> 149*b1cdbd2cSJim Jagielski </td> 150*b1cdbd2cSJim Jagielski </tr> 151*b1cdbd2cSJim Jagielski <tr> 152*b1cdbd2cSJim Jagielski <td> 153*b1cdbd2cSJim Jagielski <table class="table4"> 154*b1cdbd2cSJim Jagielski <tbody> 155*b1cdbd2cSJim Jagielski <tr class="thead"> 156*b1cdbd2cSJim Jagielski <td class="cell20">Text Document Examples</td> 157*b1cdbd2cSJim Jagielski <td class="cell80">Description</td> 158*b1cdbd2cSJim Jagielski </tr> 159*b1cdbd2cSJim Jagielski <tr> 160*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Text/" title="link to the source directory of the Java Text examples">BookmarkInsertion</a></td> 161*b1cdbd2cSJim Jagielski <td class="cell80">This application connects to the office server and 162*b1cdbd2cSJim Jagielski gets the <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>. An empty text document will be opened 163*b1cdbd2cSJim Jagielski and an example text will be entered. Afterwards, some bookmarks will be 164*b1cdbd2cSJim Jagielski inserted.</td> 165*b1cdbd2cSJim Jagielski </tr> 166*b1cdbd2cSJim Jagielski <tr> 167*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Text/" title="link to the source directory of the Java Text examples">HardFormatting</a></td> 168*b1cdbd2cSJim Jagielski <td class="cell80">This program connects to the office server and gets 169*b1cdbd2cSJim Jagielski the <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>. Furthermore, an empty text document will be 170*b1cdbd2cSJim Jagielski opened, an example text will be entered, some text attributes will be 171*b1cdbd2cSJim Jagielski inspected, and the <a href="../docs/common/ref/com/sun/star/beans/PropertyState.html" title="link into the IDL reference to the enum com.sun.star.beans.PropertyState"> PropertyState</a> will be checked from the selection.</td> 172*b1cdbd2cSJim Jagielski </tr> 173*b1cdbd2cSJim Jagielski <tr> 174*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Text/" title="link to the source directory of the Java Text examples">SWriter</a></td> 175*b1cdbd2cSJim Jagielski <td class="cell80">The program connects to the office server and gets the 176*b1cdbd2cSJim Jagielski <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>. An empty text document will be created, some 177*b1cdbd2cSJim Jagielski text will be entered, and a text table, a colored text, and text frame 178*b1cdbd2cSJim Jagielski will be inserted.</td> 179*b1cdbd2cSJim Jagielski </tr> 180*b1cdbd2cSJim Jagielski <tr> 181*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Text/" title="link to the source directory of the Java Text examples">StyleCreation</a></td> 182*b1cdbd2cSJim Jagielski <td class="cell80">The example connects to the office server and gets the 183*b1cdbd2cSJim Jagielski <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>. An empty text document will be opened, a new 184*b1cdbd2cSJim Jagielski paragraph style will be created, and applied.</td> 185*b1cdbd2cSJim Jagielski </tr> 186*b1cdbd2cSJim Jagielski <tr> 187*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Text/" title="link to the source directory of the Java Text examples">StyleInitialization</a></td> 188*b1cdbd2cSJim Jagielski <td class="cell80">The program connects to the office server and gets the 189*b1cdbd2cSJim Jagielski <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>. Thereafter, an empty text document will be 190*b1cdbd2cSJim Jagielski opened and an example text will be entered. The paragraph collection will 191*b1cdbd2cSJim Jagielski be used, in order to apply a different paragraph style on the 192*b1cdbd2cSJim Jagielski paragraphs.</td> 193*b1cdbd2cSJim Jagielski </tr> 194*b1cdbd2cSJim Jagielski <tr> 195*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Text/" title="link to the source directory of the Java Text examples">TextDocumentStructure</a></td> 196*b1cdbd2cSJim Jagielski <td class="cell80">The application connects to the office server and gets 197*b1cdbd2cSJim Jagielski the <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>. An empty text document will be opened, an 198*b1cdbd2cSJim Jagielski enumeration of all paragraphs and an enumeration of all text portions 199*b1cdbd2cSJim Jagielski will be created.</td> 200*b1cdbd2cSJim Jagielski </tr> 201*b1cdbd2cSJim Jagielski <tr> 202*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Text/" title="link to the source directory of the Java Text examples">TextReplace</a></td> 203*b1cdbd2cSJim Jagielski <td class="cell80">The example connects to the office server and gets the 204*b1cdbd2cSJim Jagielski <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>. An empty text document will be created, an 205*b1cdbd2cSJim Jagielski example text will be inserted, and some English spelled words will be 206*b1cdbd2cSJim Jagielski replaced with US spelled words.</td> 207*b1cdbd2cSJim Jagielski </tr> 208*b1cdbd2cSJim Jagielski <tr> 209*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Text/" title="link to the source directory of the Java Text examples">GraphicsInserter</a></td> 210*b1cdbd2cSJim Jagielski <td class="cell80">The GraphicsInserter creates a graphics object on an 211*b1cdbd2cSJim Jagielski empty text document by setting its position, width, height, and URL.</td> 212*b1cdbd2cSJim Jagielski </tr> 213*b1cdbd2cSJim Jagielski <tr> 214*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Text/" title="link to the source directory of the Java Text examples">WriterSelector</a></td> 215*b1cdbd2cSJim Jagielski <td class="cell80">This class gives you information on the selected 216*b1cdbd2cSJim Jagielski objects (text range, text frame, or graphics) at an Apache OpenOffice 217*b1cdbd2cSJim Jagielski Server.</td> 218*b1cdbd2cSJim Jagielski </tr> 219*b1cdbd2cSJim Jagielski <tbody> 220*b1cdbd2cSJim Jagielski </table> 221*b1cdbd2cSJim Jagielski </td> 222*b1cdbd2cSJim Jagielski </tr> 223*b1cdbd2cSJim Jagielski <tr> 224*b1cdbd2cSJim Jagielski <td> 225*b1cdbd2cSJim Jagielski <table class="table4"> 226*b1cdbd2cSJim Jagielski <tbody> 227*b1cdbd2cSJim Jagielski <tr class="thead"> 228*b1cdbd2cSJim Jagielski <td class="cell20">Spreadsheet Document Examples</td> 229*b1cdbd2cSJim Jagielski <td class="cell80">Description</td> 230*b1cdbd2cSJim Jagielski </tr> 231*b1cdbd2cSJim Jagielski <tr> 232*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Spreadsheet/" title="link to the source directory of the Java Spreadsheet examples">CalcAddins</a></td> 233*b1cdbd2cSJim Jagielski <td class="cell80">This component adds new functions to the spreadsheet 234*b1cdbd2cSJim Jagielski application. After registering the component, the inserted functions can 235*b1cdbd2cSJim Jagielski be found with help of the functions autopilot. The new functions are 236*b1cdbd2cSJim Jagielski assigned to the category <i>Add-in</i>.</td> 237*b1cdbd2cSJim Jagielski </tr> 238*b1cdbd2cSJim Jagielski <tr> 239*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Spreadsheet/" title="link to the source directory of the Java Spreadsheet examples">ChartTypeChange</a></td> 240*b1cdbd2cSJim Jagielski <td class="cell80">This class loads an Apache OpenOffice %PRODUCT_RELEASE% Calc document and 241*b1cdbd2cSJim Jagielski changes the type of the embedded chart.</td> 242*b1cdbd2cSJim Jagielski </tr> 243*b1cdbd2cSJim Jagielski <tr> 244*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Spreadsheet/" title="link to the source directory of the Java Spreadsheet examples">EuroAdaption</a></td> 245*b1cdbd2cSJim Jagielski <td class="cell80">The application connects to the office server and gets 246*b1cdbd2cSJim Jagielski the <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>, opens an empty Calc document, enters an 247*b1cdbd2cSJim Jagielski example text, sets the number format to DM, changes the number format to 248*b1cdbd2cSJim Jagielski EUR (Euro), and uses the DM/EUR factor on each cell with content.</td> 249*b1cdbd2cSJim Jagielski </tr> 250*b1cdbd2cSJim Jagielski <tr> 251*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Spreadsheet/" title="link to the source directory of the Java Spreadsheet examples">SCalc</a></td> 252*b1cdbd2cSJim Jagielski <td class="cell80">The program connects to the office server and gets the 253*b1cdbd2cSJim Jagielski <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>. Then an empty calc document will be opened, 254*b1cdbd2cSJim Jagielski cell styles will be created, some data will be inserted into the sheets, 255*b1cdbd2cSJim Jagielski and the created cell styles will be applied. Finally, a 3D chart will be 256*b1cdbd2cSJim Jagielski inserted.</td> 257*b1cdbd2cSJim Jagielski </tr> 258*b1cdbd2cSJim Jagielski <tbody> 259*b1cdbd2cSJim Jagielski </table> 260*b1cdbd2cSJim Jagielski </td> 261*b1cdbd2cSJim Jagielski </tr> 262*b1cdbd2cSJim Jagielski <tr> 263*b1cdbd2cSJim Jagielski <td> 264*b1cdbd2cSJim Jagielski <table class="table4"> 265*b1cdbd2cSJim Jagielski <tbody> 266*b1cdbd2cSJim Jagielski <tr class="thead"> 267*b1cdbd2cSJim Jagielski <td class="cell20">Drawing Document Examples</td> 268*b1cdbd2cSJim Jagielski <td class="cell80">Description</td> 269*b1cdbd2cSJim Jagielski </tr> 270*b1cdbd2cSJim Jagielski <tr> 271*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/Drawing/" title="link to the source directory of the Java Drawing examples">SDraw</a></td> 272*b1cdbd2cSJim Jagielski <td class="cell80">This program connects to the office server and gets 273*b1cdbd2cSJim Jagielski the <a href="../docs/common/ref/com/sun/star/lang/XMultiComponentFactory.html" title="link into the IDL reference to the interface com.sun.star.lang.XMultiComponentFactory"> multi component factory</a>. Afterwards, an empty text document will 274*b1cdbd2cSJim Jagielski be created and some shapes will be inserted on the draw page.</td> 275*b1cdbd2cSJim Jagielski </tr> 276*b1cdbd2cSJim Jagielski <tbody> 277*b1cdbd2cSJim Jagielski </table> 278*b1cdbd2cSJim Jagielski </td> 279*b1cdbd2cSJim Jagielski </tr> 280*b1cdbd2cSJim Jagielski <tr> 281*b1cdbd2cSJim Jagielski <td> 282*b1cdbd2cSJim Jagielski <table class="table4"> 283*b1cdbd2cSJim Jagielski <tbody> 284*b1cdbd2cSJim Jagielski <tr class="thead"> 285*b1cdbd2cSJim Jagielski <td class="cell20">Document Handling Examples</td> 286*b1cdbd2cSJim Jagielski <td class="cell80">Description</td> 287*b1cdbd2cSJim Jagielski </tr> 288*b1cdbd2cSJim Jagielski <tr> 289*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/DocumentHandling/" title="link to the source directory of the Java DocumentHandling examples">DocumentConverter</a></td> 290*b1cdbd2cSJim Jagielski <td class="cell80">The program offers a service that converts arbitrary 291*b1cdbd2cSJim Jagielski documents to a favored document type.</td> 292*b1cdbd2cSJim Jagielski </tr> 293*b1cdbd2cSJim Jagielski <tr> 294*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/DocumentHandling/" title="link to the source directory of the Java DocumentHandling examples">DocumentLoader</a></td> 295*b1cdbd2cSJim Jagielski <td class="cell80">The <i>DocumentLoader</i> can open a new or an 296*b1cdbd2cSJim Jagielski existing document.</td> 297*b1cdbd2cSJim Jagielski </tr> 298*b1cdbd2cSJim Jagielski <tr> 299*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/DocumentHandling/" title="link to the source directory of the Java DocumentHandling examples">DocumentPrinter</a></td> 300*b1cdbd2cSJim Jagielski <td class="cell80">The <i>DocumentPrinter</i> allows you to print the 301*b1cdbd2cSJim Jagielski favored pages of a specified document on your favored printer.</td> 302*b1cdbd2cSJim Jagielski </tr> 303*b1cdbd2cSJim Jagielski <tr> 304*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/DocumentHandling/" title="link to the source directory of the Java DocumentHandling examples">DocumentSaver</a></td> 305*b1cdbd2cSJim Jagielski <td class="cell80">The DocumentSaver shows how to save a document and 306*b1cdbd2cSJim Jagielski how you can change the type of your document.</td> 307*b1cdbd2cSJim Jagielski </tr> 308*b1cdbd2cSJim Jagielski <tbody> 309*b1cdbd2cSJim Jagielski </table> 310*b1cdbd2cSJim Jagielski </td> 311*b1cdbd2cSJim Jagielski </tr> 312*b1cdbd2cSJim Jagielski <tr> 313*b1cdbd2cSJim Jagielski <td> 314*b1cdbd2cSJim Jagielski <table class="table4"> 315*b1cdbd2cSJim Jagielski <tbody> 316*b1cdbd2cSJim Jagielski <tr class="thead"> 317*b1cdbd2cSJim Jagielski <td class="cell20">UNO Component Examples</td> 318*b1cdbd2cSJim Jagielski <td class="cell80">Description</td> 319*b1cdbd2cSJim Jagielski </tr> 320*b1cdbd2cSJim Jagielski <tr> 321*b1cdbd2cSJim Jagielski <td class="cell20"><a href="http://wiki.services.openoffice.org/wiki/Object_Inspector" title="link to the Object Inspector project page in the wiki">Object Inspector</a></td> 322*b1cdbd2cSJim Jagielski <td class="cell80">The Object Inspector is primarily an auxiliary tool 323*b1cdbd2cSJim Jagielski for the developer, which can present information about an object of the 324*b1cdbd2cSJim Jagielski Apache OpenOffice %PRODUCT_RELEASE% API at run-time. Depending on the object to be inspected, 325*b1cdbd2cSJim Jagielski appropriate methods, interfaces, services, and attributes can be displayed 326*b1cdbd2cSJim Jagielski to the developer. The methods, interfaces, services and attributes are 327*b1cdbd2cSJim Jagielski represented in a predictable tree. If the attributes contained in an 328*b1cdbd2cSJim Jagielski object are to be examined, the appropriate nodes in the tree can be 329*b1cdbd2cSJim Jagielski expanded with the help of the mouse. For each non primitive object, five 330*b1cdbd2cSJim Jagielski categories are offered to the user, as long as those are available with 331*b1cdbd2cSJim Jagielski that object. The Object Inspector is currently available as a NetBeans project 332*b1cdbd2cSJim Jagielski only because of major code changes. Please see the <a href="http://wiki.services.openoffice.org/wiki/Object_Inspector" title="link to the Object Inspector project page in the wiki">project page</a> for further details.</td> 333*b1cdbd2cSJim Jagielski </tr> 334*b1cdbd2cSJim Jagielski <tr> 335*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/MinimalComponent/" title="link to the source directory of the Java MinimalComponent example">MinimalComponent</a></td> 336*b1cdbd2cSJim Jagielski <td class="cell80">This class provides a minimal UNO component. You can 337*b1cdbd2cSJim Jagielski take this class as a base for your own components. By extensions of this 338*b1cdbd2cSJim Jagielski class it is possible to also extend the function range of the Office.</td> 339*b1cdbd2cSJim Jagielski </tr> 340*b1cdbd2cSJim Jagielski <tr> 341*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/PropertySet/" title="link to the source directory of the Java PropertySet example">PropTest</a></td> 342*b1cdbd2cSJim Jagielski <td class="cell80">Contains a component that provides property set 343*b1cdbd2cSJim Jagielski interfaces by means of inheriting <a href="../docs/java/ref/com/sun/star/lib/uno/helper/PropertySet.html" title="link into the Java UNO reference to the PropertySet helper class">com.sun.star.lib.uno.helper.ProperterSet</a>.</td> 344*b1cdbd2cSJim Jagielski </tr> 345*b1cdbd2cSJim Jagielski <tr> 346*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/ToDo/" title="link to the source directory of the Java ToDo example">ToDo</a></td> 347*b1cdbd2cSJim Jagielski <td class="cell80">For every to-do listed in a spreadsheet document, this 348*b1cdbd2cSJim Jagielski component calculates the start date, day of week of the start date, the 349*b1cdbd2cSJim Jagielski end date, and the day of week of the end date. All calculations are 350*b1cdbd2cSJim Jagielski dependent upon the values of "Needed Days", "Due Date" 351*b1cdbd2cSJim Jagielski and "Status". The columns "Needed Days" and 352*b1cdbd2cSJim Jagielski "Status" are mandatory. The first to-do should be placed in 353*b1cdbd2cSJim Jagielski row nine. The date to start the calculation should be placed in cell C6. 354*b1cdbd2cSJim Jagielski The private holidays should be placed in cell K4/K5 and below.<br> 355*b1cdbd2cSJim Jagielski All rows will be calculated up to the first empty cell in the first 356*b1cdbd2cSJim Jagielski column. If a cell in the column "Due Date" is colored red, 357*b1cdbd2cSJim Jagielski you should take a look at your entries.</td> 358*b1cdbd2cSJim Jagielski </tr> 359*b1cdbd2cSJim Jagielski <tr> 360*b1cdbd2cSJim Jagielski <td class="cell20"><a href="java/EmbedDocument/EmbeddedObject" title="link to the source directory of the Java EmbeddedObject example">EmbeddedObject</a></td> 361*b1cdbd2cSJim Jagielski <td class="cell80">Contains a component that provides an example of embedded object implementation.</td> 362*b1cdbd2cSJim Jagielski </tr> 363*b1cdbd2cSJim Jagielski <tbody> 364*b1cdbd2cSJim Jagielski </table> 365*b1cdbd2cSJim Jagielski </td> 366*b1cdbd2cSJim Jagielski </tr> 367*b1cdbd2cSJim Jagielski <tr> 368*b1cdbd2cSJim Jagielski <td> 369*b1cdbd2cSJim Jagielski <table class="table3"> 370*b1cdbd2cSJim Jagielski <tr> 371*b1cdbd2cSJim Jagielski <td colspan="3"> 372*b1cdbd2cSJim Jagielski <p>Additional information:</p> 373*b1cdbd2cSJim Jagielski <p> 374*b1cdbd2cSJim Jagielski <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/WritingUNO/Simple_Component_in_Java" title="link to the "Simple component in Java" chapter in the Developer's Guide">How to write a UNO component in Java</a><br> 375*b1cdbd2cSJim Jagielski <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Java/Java_Language_Binding" title="link to the "Java UNO Language Bnding" chapter in the Developer's Guide">Java UNO Language Binding</a><br> 376*b1cdbd2cSJim Jagielski <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/WritingUNO/Debugging" title="link to the "Debugging Java components" chapter in the Developer's Guide">Debugging Java components</a><br> 377*b1cdbd2cSJim Jagielski </p> 378*b1cdbd2cSJim Jagielski </td> 379*b1cdbd2cSJim Jagielski </tr> 380*b1cdbd2cSJim Jagielski </table> 381*b1cdbd2cSJim Jagielski </td> 382*b1cdbd2cSJim Jagielski </tr> 383*b1cdbd2cSJim Jagielski </table> 384*b1cdbd2cSJim Jagielski </td> 385*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 386*b1cdbd2cSJim Jagielski </tr> 387*b1cdbd2cSJim Jagielski <tr> 388*b1cdbd2cSJim Jagielski <td colspan="3"><img class="line" src="../docs/images/sdk_line-1.gif"></td> 389*b1cdbd2cSJim Jagielski </tr> 390*b1cdbd2cSJim Jagielski <tr> 391*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 392*b1cdbd2cSJim Jagielski <td> 393*b1cdbd2cSJim Jagielski <table class="table2"> 394*b1cdbd2cSJim Jagielski <tr> 395*b1cdbd2cSJim Jagielski <td> 396*b1cdbd2cSJim Jagielski <table class="table3"> 397*b1cdbd2cSJim Jagielski <tr> 398*b1cdbd2cSJim Jagielski <td colspan="2" class="head1"><a name="Cpp_examples">C++ examples</td> 399*b1cdbd2cSJim Jagielski <td align="right"> 400*b1cdbd2cSJim Jagielski <a href="#examples" title="link to the examples overview"><img class="navigate" src="../docs/images/nav_up.png"></a> 401*b1cdbd2cSJim Jagielski <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="../docs/images/nav_home.png"></a> 402*b1cdbd2cSJim Jagielski </td> 403*b1cdbd2cSJim Jagielski </tr> 404*b1cdbd2cSJim Jagielski <tr> 405*b1cdbd2cSJim Jagielski <td colspan="3"> 406*b1cdbd2cSJim Jagielski The DocumentLoader example needs a running office server, before 407*b1cdbd2cSJim Jagielski running this program you should invoke the office with the following 408*b1cdbd2cSJim Jagielski command: 409*b1cdbd2cSJim Jagielski <blockquote> 410*b1cdbd2cSJim Jagielski <code>soffice "-accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager"</code> 411*b1cdbd2cSJim Jagielski </blockquote> 412*b1cdbd2cSJim Jagielski You can also customize the mentioned host and port to your needs. 413*b1cdbd2cSJim Jagielski </td> 414*b1cdbd2cSJim Jagielski </tr> 415*b1cdbd2cSJim Jagielski </table> 416*b1cdbd2cSJim Jagielski </td> 417*b1cdbd2cSJim Jagielski </tr> 418*b1cdbd2cSJim Jagielski <tr> 419*b1cdbd2cSJim Jagielski <td> 420*b1cdbd2cSJim Jagielski <table class="table4"> 421*b1cdbd2cSJim Jagielski <tbody> 422*b1cdbd2cSJim Jagielski <tr class="thead"> 423*b1cdbd2cSJim Jagielski <td class="cell20">Example</td> 424*b1cdbd2cSJim Jagielski <td class="cell80">Description</td> 425*b1cdbd2cSJim Jagielski </tr> 426*b1cdbd2cSJim Jagielski <tr> 427*b1cdbd2cSJim Jagielski <td class="cell20"><a href="cpp/DocumentLoader/" title="link to the source directory of the C++ DocumentLoader example">DocumentLoader</a></td> 428*b1cdbd2cSJim Jagielski <td class="cell80">This component works the same as the appropriate Java 429*b1cdbd2cSJim Jagielski example, but is implemented in C++.</td> 430*b1cdbd2cSJim Jagielski </tr> 431*b1cdbd2cSJim Jagielski <tr> 432*b1cdbd2cSJim Jagielski <td class="cell20"><a href="cpp/counter/" title="link to the source directory of the C++ counter example">Counter</a></td> 433*b1cdbd2cSJim Jagielski <td class="cell80">This demo shows how to implement a very simple UNO 434*b1cdbd2cSJim Jagielski component and how to access the UNO component from an executable.</td> 435*b1cdbd2cSJim Jagielski </tr> 436*b1cdbd2cSJim Jagielski <tr> 437*b1cdbd2cSJim Jagielski <td class="cell20"><a href="cpp/remoteclient/" title="link to the source directory of the C++ remoteclient example">Remote client</a></td> 438*b1cdbd2cSJim Jagielski <td class="cell80">The 'uno' program is used to export an arbitrary 439*b1cdbd2cSJim Jagielski service to other processes. In this example the com.sun.star.uno.Pipe 440*b1cdbd2cSJim Jagielski service (which is built in io-module) is exported. The client component 441*b1cdbd2cSJim Jagielski implements the <a href="../docs/common/ref/com/sun/star/lang/XMain.html" title="link into the IDL reference to the interface com.sun.star.lang.XMain"> 442*b1cdbd2cSJim Jagielski com.sun.star.lang.XMain</a> interface. In the run method, it connects to 443*b1cdbd2cSJim Jagielski the servers process and retrieves an instance and does some calls on the 444*b1cdbd2cSJim Jagielski instance.</td> 445*b1cdbd2cSJim Jagielski </tr> 446*b1cdbd2cSJim Jagielski <tr> 447*b1cdbd2cSJim Jagielski <td class="cell20"><a href="cpp/complextoolbarcontrols/" title="link to the source directory of the C++ complextoolbarcontrols example">complextoolbarcontrols</a></td> 448*b1cdbd2cSJim Jagielski <td class="cell80">This example shows how to create a toolbar add-on with complex toolbar controls. 449*b1cdbd2cSJim Jagielski It shows how to use an Image Button, a Combo Box, a Spin Field, an Edit Field, a Dropdown Box, a Toggle Dropdown Button and a normal Dropdown Button</td> 450*b1cdbd2cSJim Jagielski </tr> 451*b1cdbd2cSJim Jagielski <tr> 452*b1cdbd2cSJim Jagielski <td class="cell20"><a href="cpp/StatusbarController/" title="link to the source directory of the C++ StatusbarController example">StatusbarController</a></td> 453*b1cdbd2cSJim Jagielski <td class="cell80">These examples show how to implement a StatusbarController to add functionality in the status bar.</td> 454*b1cdbd2cSJim Jagielski </tr> 455*b1cdbd2cSJim Jagielski <tbody> 456*b1cdbd2cSJim Jagielski </table> 457*b1cdbd2cSJim Jagielski </td> 458*b1cdbd2cSJim Jagielski </tr> 459*b1cdbd2cSJim Jagielski <tr> 460*b1cdbd2cSJim Jagielski <td> 461*b1cdbd2cSJim Jagielski <table class="table3"> 462*b1cdbd2cSJim Jagielski <tr> 463*b1cdbd2cSJim Jagielski <td colspan="3"> 464*b1cdbd2cSJim Jagielski <p>Additional information:</p> 465*b1cdbd2cSJim Jagielski <p> 466*b1cdbd2cSJim Jagielski <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/WritingUNO/C%2B%2B/C%2B%2B_Component" title="link to the "How to write a UNO component in C++" chapter in the Developer's Guide">How to write a UNO component in C++</a><br> 467*b1cdbd2cSJim Jagielski <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/C%2B%2B/C%2B%2B_Language_Binding" title="link to the "C++ UNO Language Binding" chapter in the Developer's Guide">C++ UNO Language Binding</a><br> 468*b1cdbd2cSJim Jagielski <a href="../docs/cpp/ref/index.html" title="link to the C++ API reference">C++ reference</a> 469*b1cdbd2cSJim Jagielski </p> 470*b1cdbd2cSJim Jagielski </td> 471*b1cdbd2cSJim Jagielski </tr> 472*b1cdbd2cSJim Jagielski </table> 473*b1cdbd2cSJim Jagielski </td> 474*b1cdbd2cSJim Jagielski </tr> 475*b1cdbd2cSJim Jagielski </table> 476*b1cdbd2cSJim Jagielski </td> 477*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 478*b1cdbd2cSJim Jagielski </tr> 479*b1cdbd2cSJim Jagielski <tr> 480*b1cdbd2cSJim Jagielski <td colspan="3"><img class="line" src="../docs/images/sdk_line-1.gif"></td> 481*b1cdbd2cSJim Jagielski </tr> 482*b1cdbd2cSJim Jagielski <tr> 483*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 484*b1cdbd2cSJim Jagielski <td> 485*b1cdbd2cSJim Jagielski <table class="table2"> 486*b1cdbd2cSJim Jagielski <tr> 487*b1cdbd2cSJim Jagielski <td> 488*b1cdbd2cSJim Jagielski <table class="table3"> 489*b1cdbd2cSJim Jagielski <tr> 490*b1cdbd2cSJim Jagielski <td colspan="2" class="head1"><a name="Basic_examples">Apache OpenOffice %PRODUCT_RELEASE% Basic examples</td> 491*b1cdbd2cSJim Jagielski <td align="right"> 492*b1cdbd2cSJim Jagielski <a href="#examples" title="link to the examples overview"><img class="navigate" src="../docs/images/nav_up.png"></a> 493*b1cdbd2cSJim Jagielski <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="../docs/images/nav_home.png"></a> 494*b1cdbd2cSJim Jagielski </td> 495*b1cdbd2cSJim Jagielski </tr> 496*b1cdbd2cSJim Jagielski <tr> 497*b1cdbd2cSJim Jagielski <td colspan="3"> 498*b1cdbd2cSJim Jagielski <p>The example programs are embedded in Apache OpenOffice %PRODUCT_RELEASE% documents in the 499*b1cdbd2cSJim Jagielski samples directory. To view or edit the Apache OpenOffice %PRODUCT_RELEASE% Basic source, 500*b1cdbd2cSJim Jagielski select the appropriate document and then select Tools->Macro.</p> 501*b1cdbd2cSJim Jagielski <p>Most of the examples are stand-alone, but two of them (Creating an 502*b1cdbd2cSJim Jagielski Index and Import/Export of ASCII Files) have an associated data file 503*b1cdbd2cSJim Jagielski identified by a .txt file name suffix).</p> 504*b1cdbd2cSJim Jagielski <p>Some of the examples are also available in Java, you can find them in 505*b1cdbd2cSJim Jagielski the <a href="#Java_examples" title="link to the Java examples section"> 506*b1cdbd2cSJim Jagielski Java section</a>.</p> 507*b1cdbd2cSJim Jagielski </td> 508*b1cdbd2cSJim Jagielski </tr> 509*b1cdbd2cSJim Jagielski </table> 510*b1cdbd2cSJim Jagielski </td> 511*b1cdbd2cSJim Jagielski </tr> 512*b1cdbd2cSJim Jagielski <tr> 513*b1cdbd2cSJim Jagielski <td> 514*b1cdbd2cSJim Jagielski <table class="table4"> 515*b1cdbd2cSJim Jagielski <tbody> 516*b1cdbd2cSJim Jagielski <tr class="thead"> 517*b1cdbd2cSJim Jagielski <td class="cell20">Example</td> 518*b1cdbd2cSJim Jagielski <td class="cell80">Description</td> 519*b1cdbd2cSJim Jagielski </tr> 520*b1cdbd2cSJim Jagielski <tr> 521*b1cdbd2cSJim Jagielski <td class="cell20"><a href="basic/text/modifying_text_automatically/" title="link to the source directory of the Apache OpenOffice %PRODUCT_RELEASE% Basic text/modifying_text_automatically examples">Changing Appearance</a></td> 522*b1cdbd2cSJim Jagielski <td class="cell80"> To change the style used for certain words, you can 523*b1cdbd2cSJim Jagielski start with the following example. This code searches for the regular 524*b1cdbd2cSJim Jagielski expression <code>the[a-z]</code>, which stands for the text portion the 525*b1cdbd2cSJim Jagielski followed by exactly one lowercase letter. All occurrences of these four 526*b1cdbd2cSJim Jagielski letters are then changed to bold characters. The same happens in the next 527*b1cdbd2cSJim Jagielski part of the program, this time changing the appearance of 528*b1cdbd2cSJim Jagielski <code>all[a-z]</code> to italic. In order for this example to work, you 529*b1cdbd2cSJim Jagielski must execute it from an open text document.</td> 530*b1cdbd2cSJim Jagielski </tr> 531*b1cdbd2cSJim Jagielski <tr> 532*b1cdbd2cSJim Jagielski <td class="cell20"><a href="basic/text/modifying_text_automatically/" title="link to the source directory of the Apache OpenOffice %PRODUCT_RELEASE% Basic text/modifying_text_automatically examples">Replacing Text</a></td> 533*b1cdbd2cSJim Jagielski <td class="cell80">If you regularly receive documents from other people 534*b1cdbd2cSJim Jagielski for editing, you might want to make sure that certain words are always 535*b1cdbd2cSJim Jagielski written the same. The next example illustrates this by forcing certain 536*b1cdbd2cSJim Jagielski words to be spelled in American English.<br> 537*b1cdbd2cSJim Jagielski In order for this example to work, you must execute it from an open text 538*b1cdbd2cSJim Jagielski document. For a real world application, it is a good idea to read the 539*b1cdbd2cSJim Jagielski words from an external file.</td> 540*b1cdbd2cSJim Jagielski </tr> 541*b1cdbd2cSJim Jagielski <tr> 542*b1cdbd2cSJim Jagielski <td class="cell20"><a href="basic/text/modifying_text_automatically/" title="link to the source directory of the Apache OpenOffice %PRODUCT_RELEASE% Basic text/modifying_text_automatically examples">Using Regular Expressions</a></td> 543*b1cdbd2cSJim Jagielski <td class="cell80">Another application of automatic text modification is 544*b1cdbd2cSJim Jagielski related to stylistic questions. Suppose your company’s policy is to 545*b1cdbd2cSJim Jagielski avoid the use of certain words. You want to replace these words, but you 546*b1cdbd2cSJim Jagielski cannot do that automatically because you have to find the appropriate 547*b1cdbd2cSJim Jagielski replacement, which depends on the context. So instead of deleting or 548*b1cdbd2cSJim Jagielski replacing the offending words automatically, you change their color to 549*b1cdbd2cSJim Jagielski make them stand out during a subsequent manual review process.<br> 550*b1cdbd2cSJim Jagielski The following example handles two kinds of unwanted wordings: those 551*b1cdbd2cSJim Jagielski which are absolutely forbidden and must be replaced by something else, 552*b1cdbd2cSJim Jagielski and those which are considered bad style. A subroutine is responsible 553*b1cdbd2cSJim Jagielski for the changes. It can be used to make all words in a list appear in a 554*b1cdbd2cSJim Jagielski certain color in the text document. To keep the lists short, we use 555*b1cdbd2cSJim Jagielski regular expressions which provide for the variants of the words 556*b1cdbd2cSJim Jagielski (plural, adjective etc.).</td> 557*b1cdbd2cSJim Jagielski </tr> 558*b1cdbd2cSJim Jagielski <tr> 559*b1cdbd2cSJim Jagielski <td class="cell20"><a href="basic/text/modifying_text_automatically/" title="link to the source directory of the Apache OpenOffice %PRODUCT_RELEASE% Basic text/modifying_text_automatically examples">Inserting Bookmarks</a></td> 560*b1cdbd2cSJim Jagielski <td class="cell80"> 561*b1cdbd2cSJim Jagielski <p>The next example does something very similar. This time, however, we 562*b1cdbd2cSJim Jagielski do not change the color of the words but insert a bookmark at each of 563*b1cdbd2cSJim Jagielski them. You can thus use the StarOffice navigator to jump directly from 564*b1cdbd2cSJim Jagielski word to word. Bookmarks must first be created using 565*b1cdbd2cSJim Jagielski <code>createInstance()</code>. They are then inserted with 566*b1cdbd2cSJim Jagielski <code>insertTextContent()</code> at the current text range.</p> 567*b1cdbd2cSJim Jagielski <p>The main difference to the preceding example is the For loop in 568*b1cdbd2cSJim Jagielski <code>markList()</code>. Instead of changing the color of the current 569*b1cdbd2cSJim Jagielski word, it creates a new bookmark, oBookmark, whose name is the current 570*b1cdbd2cSJim Jagielski word with an integer appended. It then inserts this bookmark at the 571*b1cdbd2cSJim Jagielski word.</td> 572*b1cdbd2cSJim Jagielski </tr> 573*b1cdbd2cSJim Jagielski <tr> 574*b1cdbd2cSJim Jagielski <td class="cell20"><a href="basic/text/creating_an_index/" title="link to the source directory of the Apache OpenOffice %PRODUCT_RELEASE% Basic text/create_index example">Creating an Index</a></td> 575*b1cdbd2cSJim Jagielski <td class="cell80">Indices for text documents can be created manually in 576*b1cdbd2cSJim Jagielski Apache OpenOffice %PRODUCT_RELEASE% Writer by clicking on the words that should appear in the 577*b1cdbd2cSJim Jagielski index. If the document is large, or if you have to generate indices for 578*b1cdbd2cSJim Jagielski several documents, this task should be automated.</td> 579*b1cdbd2cSJim Jagielski </tr> 580*b1cdbd2cSJim Jagielski <tr> 581*b1cdbd2cSJim Jagielski <td class="cell20"><a href="basic/sheet/" title="link to the source directory of the Apache OpenOffice %PRODUCT_RELEASE% Basic sheet example">Adapting to Euroland</a></td> 582*b1cdbd2cSJim Jagielski <td class="cell80">Most of the members of the European Union will abandon 583*b1cdbd2cSJim Jagielski their old currency in favor of the new Euro in 2001. This requires 584*b1cdbd2cSJim Jagielski modifications to all programs using the old currencies. Since the exchange 585*b1cdbd2cSJim Jagielski rates for the old currencies have been fixed at the end of 1999, one can 586*b1cdbd2cSJim Jagielski already convert old data. The following program does this for all values 587*b1cdbd2cSJim Jagielski in a table that are formatted with the currency string DM.</td> 588*b1cdbd2cSJim Jagielski </tr> 589*b1cdbd2cSJim Jagielski <tr> 590*b1cdbd2cSJim Jagielski <td class="cell20"><a href="basic/drawing/" title="link to the source directory of the Apache OpenOffice %PRODUCT_RELEASE% Basic drawing example">Import/Export of ASCII Files</a></td> 591*b1cdbd2cSJim Jagielski <td class="cell80">You can use the drawing facilities of StarOffice API 592*b1cdbd2cSJim Jagielski to generate a picture from ASCII input. One application would be a 593*b1cdbd2cSJim Jagielski hierarchical representation of a directory listing, based on textual 594*b1cdbd2cSJim Jagielski data.</td> 595*b1cdbd2cSJim Jagielski </tr> 596*b1cdbd2cSJim Jagielski <tr> 597*b1cdbd2cSJim Jagielski <td class="cell20"><a href="basic/stock_quotes_updater/" title="link to the source directory of the Apache OpenOffice %PRODUCT_RELEASE% Basic stock_quotes_updater example">Stock Quotes Updater</a></td> 598*b1cdbd2cSJim Jagielski <td class="cell80">If you want to display stock charts for certain 599*b1cdbd2cSJim Jagielski companies, you can open up your browser every day, go to a search engine, 600*b1cdbd2cSJim Jagielski look up the quote and copy it by hand into a table. Or you can use a 601*b1cdbd2cSJim Jagielski program that does all this automatically. The following example relies on 602*b1cdbd2cSJim Jagielski the sheet module. It uses URLs to obtain the current stock quotes. The 603*b1cdbd2cSJim Jagielski quotes are displayed in sheets, one for each company. We show a line 604*b1cdbd2cSJim Jagielski diagram and the numerical values for this company on every sheet. The 605*b1cdbd2cSJim Jagielski functionality is hidden in the three subroutines <code>GetValue()</code>, 606*b1cdbd2cSJim Jagielski <code>UpdateValue()</code>, and <code>UpdateChart()</code>.</td> 607*b1cdbd2cSJim Jagielski </tr> 608*b1cdbd2cSJim Jagielski <tr> 609*b1cdbd2cSJim Jagielski <td class="cell20"><a href="basic/forms_and_controls/" title="link to the source directory of the Apache OpenOffice %PRODUCT_RELEASE% Basic forms_and_controls example">Forms and Controls</a></td> 610*b1cdbd2cSJim Jagielski <td class="cell80">The example document Burger Factory offers some forms 611*b1cdbd2cSJim Jagielski and controls, which you can use to order your desired burger type, 612*b1cdbd2cSJim Jagielski beverage, topping, and sauce. By hitting the button 613*b1cdbd2cSJim Jagielski "Order now!", your order will be placed.</td> 614*b1cdbd2cSJim Jagielski </tr> 615*b1cdbd2cSJim Jagielski <tbody> 616*b1cdbd2cSJim Jagielski </table> 617*b1cdbd2cSJim Jagielski </td> 618*b1cdbd2cSJim Jagielski </tr> 619*b1cdbd2cSJim Jagielski <tr> 620*b1cdbd2cSJim Jagielski <td> 621*b1cdbd2cSJim Jagielski <table class="table3"> 622*b1cdbd2cSJim Jagielski <tr> 623*b1cdbd2cSJim Jagielski <td colspan="3"> 624*b1cdbd2cSJim Jagielski Additional information: <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Basic/OpenOffice.org_Basic" title="link to the "OpenOffice.org %PRODUCT_RELEASE% Basic language binding" chapter in the Developer's Guide">OpenOffice.org %PRODUCT_RELEASE% Basic language binding</a> 625*b1cdbd2cSJim Jagielski </td> 626*b1cdbd2cSJim Jagielski </tr> 627*b1cdbd2cSJim Jagielski </table> 628*b1cdbd2cSJim Jagielski </td> 629*b1cdbd2cSJim Jagielski </tr> 630*b1cdbd2cSJim Jagielski </table> 631*b1cdbd2cSJim Jagielski </td> 632*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 633*b1cdbd2cSJim Jagielski </tr> 634*b1cdbd2cSJim Jagielski <tr> 635*b1cdbd2cSJim Jagielski <td colspan="3"><img class="line" src="../docs/images/sdk_line-1.gif"></td> 636*b1cdbd2cSJim Jagielski </tr> 637*b1cdbd2cSJim Jagielski <tr> 638*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 639*b1cdbd2cSJim Jagielski <td> 640*b1cdbd2cSJim Jagielski <table class="table2"> 641*b1cdbd2cSJim Jagielski <tr> 642*b1cdbd2cSJim Jagielski <td> 643*b1cdbd2cSJim Jagielski <table class="table3"> 644*b1cdbd2cSJim Jagielski <tr> 645*b1cdbd2cSJim Jagielski <td colspan="2" class="head1"><a name="OLE_examples">Object Linking and Embedding (OLE) examples</td> 646*b1cdbd2cSJim Jagielski <td align="right"> 647*b1cdbd2cSJim Jagielski <a href="#examples" title="link to the examples overview"><img class="navigate" src="../docs/images/nav_up.png"></a> 648*b1cdbd2cSJim Jagielski <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="../docs/images/nav_home.png"></a> 649*b1cdbd2cSJim Jagielski </td> 650*b1cdbd2cSJim Jagielski </tr> 651*b1cdbd2cSJim Jagielski </table> 652*b1cdbd2cSJim Jagielski </td> 653*b1cdbd2cSJim Jagielski </tr> 654*b1cdbd2cSJim Jagielski <tr> 655*b1cdbd2cSJim Jagielski <td> 656*b1cdbd2cSJim Jagielski <table class="table4"> 657*b1cdbd2cSJim Jagielski <tbody> 658*b1cdbd2cSJim Jagielski <tr class="thead"> 659*b1cdbd2cSJim Jagielski <td class="cell20">Example</td> 660*b1cdbd2cSJim Jagielski <td class="cell80">Description</td> 661*b1cdbd2cSJim Jagielski </tr> 662*b1cdbd2cSJim Jagielski <tr> 663*b1cdbd2cSJim Jagielski <td class="cell20"><a href="OLE/activex/" title="link to the source directory of the activex plugin example using the OLE bridge">ActiveX Control</a></td> 664*b1cdbd2cSJim Jagielski <td class="cell80">The ActiveX control shows an example of access to UNO 665*b1cdbd2cSJim Jagielski through COM technology. It requires a properly installed StarOffice 666*b1cdbd2cSJim Jagielski version 6.0 or OpenOffice 1.0 or newer. This is a Lite ActiveX control 667*b1cdbd2cSJim Jagielski so it can be used only in containers that allow the use of such controls. 668*b1cdbd2cSJim Jagielski It can be activated with an <OBJECT> tag from a html-page to embed 669*b1cdbd2cSJim Jagielski a document. Without any parameters a new writer document will be opened 670*b1cdbd2cSJim Jagielski for editing. For more details please see the <a href="OLE/activex/README.txt" title="link to the README file of the activex example">README</a>.<br> 671*b1cdbd2cSJim Jagielski Note: This example works only under windows and if you don't use the MS 672*b1cdbd2cSJim Jagielski .Net C++ compiler please check the makefile and take notice of the 673*b1cdbd2cSJim Jagielski comments.</td> 674*b1cdbd2cSJim Jagielski </tr> 675*b1cdbd2cSJim Jagielski <tr> 676*b1cdbd2cSJim Jagielski <td class="cell20"><a href="OLE/vbscript/" title="link to the source directory of the VBScript example using the OLE bridge">WriterDemo</a></td> 677*b1cdbd2cSJim Jagielski <td class="cell80">This Visual Basic Script creates an empty text 678*b1cdbd2cSJim Jagielski document and inserts text, a table, and a text frame.</td> 679*b1cdbd2cSJim Jagielski </tr> 680*b1cdbd2cSJim Jagielski <tbody> 681*b1cdbd2cSJim Jagielski </table> 682*b1cdbd2cSJim Jagielski </td> 683*b1cdbd2cSJim Jagielski </tr> 684*b1cdbd2cSJim Jagielski <tr> 685*b1cdbd2cSJim Jagielski <td> 686*b1cdbd2cSJim Jagielski <table class="table3"> 687*b1cdbd2cSJim Jagielski <tr> 688*b1cdbd2cSJim Jagielski <td colspan="3"> 689*b1cdbd2cSJim Jagielski Additional information: <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Bridge/Automation_Bridge" title="link to the "Automation Language Binding" chapter in the Developer's Guide">Automation Language Binding</a> 690*b1cdbd2cSJim Jagielski </td> 691*b1cdbd2cSJim Jagielski </tr> 692*b1cdbd2cSJim Jagielski </table> 693*b1cdbd2cSJim Jagielski </td> 694*b1cdbd2cSJim Jagielski </tr> 695*b1cdbd2cSJim Jagielski </table> 696*b1cdbd2cSJim Jagielski </td> 697*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 698*b1cdbd2cSJim Jagielski </tr> 699*b1cdbd2cSJim Jagielski <tr> 700*b1cdbd2cSJim Jagielski <td colspan="3"><img class="line" src="../docs/images/sdk_line-1.gif"></td> 701*b1cdbd2cSJim Jagielski </tr> 702*b1cdbd2cSJim Jagielski <tr> 703*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 704*b1cdbd2cSJim Jagielski <td> 705*b1cdbd2cSJim Jagielski <table class="table2"> 706*b1cdbd2cSJim Jagielski <tr> 707*b1cdbd2cSJim Jagielski <td> 708*b1cdbd2cSJim Jagielski <table class="table3"> 709*b1cdbd2cSJim Jagielski <tr> 710*b1cdbd2cSJim Jagielski <td colspan="2" class="head1"><a name="CLI_examples">Common Language Infrastructure (CLI) examples</td> 711*b1cdbd2cSJim Jagielski <td align="right"> 712*b1cdbd2cSJim Jagielski <a href="#examples" title="link to the examples overview"><img class="navigate" src="../docs/images/nav_up.png"></a> 713*b1cdbd2cSJim Jagielski <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="../docs/images/nav_home.png"></a> 714*b1cdbd2cSJim Jagielski </td> 715*b1cdbd2cSJim Jagielski </tr> 716*b1cdbd2cSJim Jagielski </table> 717*b1cdbd2cSJim Jagielski </td> 718*b1cdbd2cSJim Jagielski </tr> 719*b1cdbd2cSJim Jagielski <tr> 720*b1cdbd2cSJim Jagielski <td> 721*b1cdbd2cSJim Jagielski <table class="table4"> 722*b1cdbd2cSJim Jagielski <tbody> 723*b1cdbd2cSJim Jagielski <tr class="thead"> 724*b1cdbd2cSJim Jagielski <td class="cell20">Example</td> 725*b1cdbd2cSJim Jagielski <td class="cell80">Description</td> 726*b1cdbd2cSJim Jagielski </tr> 727*b1cdbd2cSJim Jagielski <tr> 728*b1cdbd2cSJim Jagielski <td class="cell20"><a href="CLI/CSharp/Spreadsheet/" title="link to the source directory of the Spreadsheet example using the CLI-UNO bridge">Spreadsheet Example</a></td> 729*b1cdbd2cSJim Jagielski <td class="cell80">This example is written in C# and shows how Spreadsheet 730*b1cdbd2cSJim Jagielski documents are created and filled with content. This example actually 731*b1cdbd2cSJim Jagielski consists of three separate executables, SpreadsheetSample.exe, 732*b1cdbd2cSJim Jagielski GeneralTableSample.exe, ViewSample.exe.</td> 733*b1cdbd2cSJim Jagielski </tr> 734*b1cdbd2cSJim Jagielski <tr> 735*b1cdbd2cSJim Jagielski <td class="cell20"><a href="CLI/VB.NET/WriterDemo/" title="link to the source directory of the WriterDeom example using the CLI-UNO bridge">WriterDemo</a></td> 736*b1cdbd2cSJim Jagielski <td class="cell80">This example is written in VB.NET. It creates a text 737*b1cdbd2cSJim Jagielski document and inserts text, a table, and a text frame.</td> 738*b1cdbd2cSJim Jagielski </tr> 739*b1cdbd2cSJim Jagielski <tbody> 740*b1cdbd2cSJim Jagielski </table> 741*b1cdbd2cSJim Jagielski </td> 742*b1cdbd2cSJim Jagielski </tr> 743*b1cdbd2cSJim Jagielski <tr> 744*b1cdbd2cSJim Jagielski <td> 745*b1cdbd2cSJim Jagielski <table class="table3"> 746*b1cdbd2cSJim Jagielski <tr> 747*b1cdbd2cSJim Jagielski <td colspan="3"> 748*b1cdbd2cSJim Jagielski Additional information: <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/CLI/CLI_Language_Binding" title="link to the "CLI-UNO Language Binding" chapter in the Developer's Guide">CLI-UNO Language Binding</a> 749*b1cdbd2cSJim Jagielski </td> 750*b1cdbd2cSJim Jagielski </tr> 751*b1cdbd2cSJim Jagielski </table> 752*b1cdbd2cSJim Jagielski </td> 753*b1cdbd2cSJim Jagielski </tr> 754*b1cdbd2cSJim Jagielski </table> 755*b1cdbd2cSJim Jagielski </td> 756*b1cdbd2cSJim Jagielski <td class="content1"><img class="nothing8" src="../docs/images/nada.gif"></td> 757*b1cdbd2cSJim Jagielski </tr> 758*b1cdbd2cSJim Jagielski <tr> 759*b1cdbd2cSJim Jagielski <td colspan="3"><img class="nothing30" src="../docs/images/nada.gif"></td> 760*b1cdbd2cSJim Jagielski </tr> 761*b1cdbd2cSJim Jagielski <tr> 762*b1cdbd2cSJim Jagielski <td colspan="3"><img class="line" src="../docs/images/sdk_line-1.gif"></td> 763*b1cdbd2cSJim Jagielski </tr> 764*b1cdbd2cSJim Jagielski <tr> 765*b1cdbd2cSJim Jagielski <td colspan="3"> 766*b1cdbd2cSJim Jagielski <div class="centertext"> 767*b1cdbd2cSJim Jagielski <p><img class="apachelogo" src="../docs/images/odk-footer-logo.gif" title="Apache Feather" alt="Apache Feather" /> 768*b1cdbd2cSJim Jagielski Copyright © 2011-2021 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.<p> 769*b1cdbd2cSJim Jagielski </div> 770*b1cdbd2cSJim Jagielski </td> 771*b1cdbd2cSJim Jagielski </tr> 772*b1cdbd2cSJim Jagielski</table> 773*b1cdbd2cSJim Jagielski<map name="Map"> 774*b1cdbd2cSJim Jagielski <area shape="rect" coords="10,68,400,105" href="http://www.openoffice.org"> 775*b1cdbd2cSJim Jagielski</map> 776*b1cdbd2cSJim Jagielski</body> 777*b1cdbd2cSJim Jagielski</html> 778