<!
DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 3.2 Final//EN">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<
html>
<
head>
<
title>%PRODUCTNAME% %PRODUCT_RELEASE% SDK - Developer
's Guide Examples
<
link rel=
"stylesheet" type=
"text/css" href=
"../../docs/sdk_styles.css"/>
<
meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8"/>
</
head>
<
body>
<a name=
"tools"></a>
<
div id=
"BgContainer">
<
div id=
"Container">
<
div id=
"TopHeader">
<a id=
"Logo" href=
"https://api.libreoffice.org/" title=
"%PRODUCTNAME% API Documentation"></a>
<p id=
"HeaderTagLine">
Software Development Kit %PRODUCT_RELEASE%
</p>
</
div>
<
div class=
"clear">
</
div>
<
div id=
"Layout">
<
div class=
"typography">
<
h1>
Developer
's Guide Examples
</
h1>
<
table class=
"table1" cellpadding=
"0">
<
tr>
<
td colspan=
"3"><
img class=
"nothing10"
src=
"../../docs/images/nada.gif"/></
td>
</
tr>
<
td colspan=
"3"><
table class=
"table2">
<
tr>
<
td>
<
table class=
"table3">
<
tbody>
<
tr>
<
td colspan=
"3">
<p>The <a
href=
"https://wiki.documentfoundation.org/Documentation/DevGuide"
title=
"link to the Developer's Guide in the Wiki">Developer
's Guide
comes with a wide range of examples from all application areas which
shows the use of the API in the context of the different functional
areas. Furthermore the examples can be used as a first starting point
to modify an existing example to their own needs.</p>
<p>Some of the examples need a running office
instance listening on a port. If this is necessary you will get further
information in the makefiles.</p>
<p>All examples marked with a <
img
src=
"../../docs/images/bluball.gif"/> are executable and be started
using a run target in the makefile. The name of the binary (C++) can
differ compared to the
source file, please see the run target in the
appropriate makefile. Some of the examples which create a component
have no run target. In these cases a document is provided which
instantiates and runs the component (see the makefile
output). Also the
Basic examples provide documents which use and shows the implemented
functionality. The database and forms examples need a running database,
please see the description below. But note that is not described in
detail how to create a working data
source (see the office help).</p>
</
td>
</
tr>
<
tr>
<
td><
img class=
"line"
src=
"../../docs/images/sdk_line-1.gif"/></
td>
</
tr>
</
tbody>
</
table>
</
td>
</
tr>
<
tr>
<
td>
<
table class=
"table3">
<
tbody>
<
tr valign=
"top">
<
td class=
"content3"><
img
src=
"../../docs/images/arrow-1.gif"/></
td>
<
td><a href=
"#FirstSteps"
title=
"link to the First Steps examples">First Steps</a></
td>
<
td class=
"content4"></
td>
<
td class=
"content3"><
img
src=
"../../docs/images/arrow-1.gif"/></
td>
<
td><a href=
"#ProfessionalUNO"
title=
"link to the Professional UNO examples">Professional UNO</a></
td>
<
td class=
"content10"></
td>
<
td class=
"content3"><
img
src=
"../../docs/images/arrow-1.gif"/></
td>
<
td><a href=
"#Components"
title=
"link to the Components examples">Writing UNO components</a></
td>
</
tr>
<
tr valign=
"top">
<
td class=
"content3"><
img
src=
"../../docs/images/arrow-1.gif"/></
td>
<
td><a href=
"#OfficeDevelopment"
title=
"link to the Office Development examples">Office Development</a></
td>
<
td class=
"content4"></
td>
<
td class=
"content3"><
img
src=
"../../docs/images/arrow-1.gif"/></
td>
<
td><a href=
"#Text" title=
"link to the Text examples">Text
Documents</a></
td>
<
td class=
"content10"></
td>
<
td class=
"content3"><
img
src=
"../../docs/images/arrow-1.gif"/></
td>
<
td><a href=
"#Spreadsheet"
title=
"link to the Spreadsheet examples">Spreadsheet Documents</a></
td>
</
tr>
<
tr valign=
"top">
<
td class=
"content3"><
img
src=
"../../docs/images/arrow-1.gif"/></
td>
<
td><a href=
"#Drawing"
title=
"link to the Drawing And Presentation examples">Drawing and
Presentation Documents</a></
td>
<
td class=
"content4"></
td>
<
td class=
"content3"><
img
src=
"../../docs/images/arrow-1.gif"/></
td>
<
td><a href=
"#Charts"
title=
"link to the Charts examples">Charts</a></
td>
<
td class=
"content10"></
td>
<
td class=
"content3"><
img
src=
"../../docs/images/arrow-1.gif"/></
td>
<
td><a href=
"#BasicandDialogs"
title=
"link to the Basic And Dialogs examples">%PRODUCTNAME% %PRODUCT_RELEASE% Basi
c and
Dialogs</a></td>
</tr>
<tr valign="top">
<td class="content3"><img
src="../../docs/images/arrow-1.gif"/></td>
<td><a href="#Database"
title="link to the Database examples">Database Access</a></td>
<td class="content4"></td>
<td class="content3"><img
src="../../docs/images/arrow-1.gif"/></td>
<td><a href="#Forms"
title="link to the Forms examples">Forms</a></td>
<td class="content10"></td>
<td class="content3"><img
src="../../docs/images/arrow-1.gif"/></td>
<td><a href="#UniversalContentBroker"
title="link to the Universal Content Broker examples">Universal
Content Broker (UCB)</a></td>
</tr>
<tr valign="top">
<td class="content3"><img
src="../../docs/images/arrow-1.gif"/></td>
<td><a href="#Configuration"
title="link to the Configuration examples">Configuration Management</a></td>
<td class="content4"></td>
<td class="content3"><img
src="../../docs/images/arrow-1.gif"/></td>
<td><a href="#OfficeBean"
title="link to the OOoBean examples">Office Bean</a></td>
<td class="content10"></td>
</tr>
<tr valign="top">
<td class="content3"><img
src="../../docs/images/arrow-1.gif"/></td>
<td><a href="#ScriptingFramework" title="link to the Scripting Framework examples">Scripting Framework</a></td>
<td class="content4"></td>
<td class="content3"><img
src="../../docs/images/arrow-1.gif"/></td>
<td><a href="#GraphicalUserInterfaces" title="link to the Graphical UserInterfaces examples">Graphical User Interfaces</a></td>
<td class="content10"></td>
<td class="content3"></td>
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
</td>
<td class="content1"><img class="nothing8"
src="../../docs/images/nada.gif"/></td>
</tr>
<tr>
<td colspan="3"><img class="line"
src="../../docs/images/sdk_line-1.gif"/></td>
</tr>
<tr>
<td class="content1"><img class="nothing8"
src="../../docs/images/nada.gif"/></td>
<td>
<table class="table2">
<tbody>
<tr>
<td>
<table class="table3">
<tbody>
<tr>
<td colspan="2" class="head1"><a name="FirstSteps">FirstSteps
examples</a></td>
<td align="right"> <a href="#examples"
title="link to the Developer's Guide examples overview"><img
class="navigate" src="../../docs/images/nav_up.png"/></a> <a
href="../../index.html" title="link to the SDK start page"><img
class="navigate" src="../../docs/images/nav_home.png"/></a> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Text Document Examples</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./FirstSteps/FirstUnoContact/java/FirstUnoContact.java"
title="link to FirstSteps/FirstUnoContact/java/FirstUnoContact.java">FirstUnoContact</a></td>
<td class="cell80">Shows how to initialize UNO and
get a remote office service manager from a running %PRODUCTNAME% %PRODUCT_RELEASE% in a
different process space.</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./FirstSteps/FirstLoadComponent/java/FirstLoadComponent.java"
title="link to FirstSteps/FirstLoadComponent/java/FirstLoadComponent.java">FirstLoadComponent</a></td>
<td class="cell80">Demonstrates how to load a
component into %PRODUCTNAME% %PRODUCT_RELEASE% by a Java application.</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./FirstSteps/HelloTextTableShape/java/HelloTextTableShape.java"
title="link to FirstSteps/HelloTextTableShape/java/HelloTextTableShape.java">HelloTextTableShape</a></td>
<td class="cell80">Performs some generic text and
shape operations on a text document, a spreadsheet document and a
drawing document.</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
<td class="content1"><img class="nothing8"
src="../../docs/images/nada.gif"/></td>
</tr>
<tr>
<td colspan="3"><img class="line"
src="../../docs/images/sdk_line-1.gif"/></td>
</tr>
<tr>
<td class="content1"><img class="nothing8"
src="../../docs/images/nada.gif"/></td>
<td>
<table class="table2">
<tbody>
<tr>
<td>
<table class="table3">
<tbody>
<tr>
<td colspan="2" class="head1"><a
name="ProfessionalUNO">Professional UNO examples1</a></td>
<td align="right"> <a href="#examples"
title="link to the Developer's Guide examples overview"><img
class="navigate" src="../../docs/images/nav_up.png"/></a> <a
href="../../index.html" title="link to the SDK start page"><img
class="navigate" src="../../docs/images/nav_home.png"/></a> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Lifetime Examples</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./ProfUNO/Lifetime/MyUnoObject.java"
title="link to ProfUNO/Lifetime/MyUnoObject.java">MyUnoObject</a></td>
<td class="cell80">Shows that it depends on the
implementation of the Java VM whether finalize() will be called or not.</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./ProfUNO/Lifetime/object_lifetime.cxx"
title="link to ProfUNO/Lifetime/object_lifetime.java">object_lifetime.cxx
(ProfUnoLifetime)</a></td>
<td class="cell80">Shows the UNO reference counting
mechanism in C++.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Interprocess Connection Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./ProfUNO/InterprocessConn/ConnectionAwareClient.java"
title="link to ProfUNO/InterprocessConn/ConnectionAwareClient/.java">ConnectionAwareClient</a></td>
<td class="cell80">Implements a client which is aware
of losing connection to %PRODUCTNAME% %PRODUCT_RELEASE%.</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./ProfUNO/InterprocessConn/UrlResolver.java"
title="link to ProfUNO/InterProcessConn/UrlResolver.java">UrlResolver</a></td>
<td class="cell80">Builds a connection to
%PRODUCTNAME% %PRODUCT_RELEASE% using the URL given on the command line. This example
shows the usage of <a
href="%DOXYGEN_PREFIX2%/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1bridge_1_1XUnoUrlResolver.html"
title="link to the reference documentation of com.sun.star.bridge.XUnoResolver"><code>XUnoUrlResolver</code></a>.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">C++ Binding Examples</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./ProfUNO/CppBinding/office_connect.cxx"
title="link to ProfUNO/CppBinding/office_connect.java">office_connect.cxx</a></td>
<td class="cell80">Builds a connection to
%PRODUCTNAME% %PRODUCT_RELEASE% using C++.</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./ProfUNO/CppBinding/string_samples.cxx"
title="link to ProfUNO/Cppbinding/string_samples.java">string_samples.cxx</a></td>
<td class="cell80">Demonstrates usage of RTL string
classes <a href="%DOXYGEN_PREFIX2%/docs/cpp/ref/names/rtl/c-OString.html"
title="link to the reference documentation of rtl::OString"><code>OString</code></a>,
<a href="%DOXYGEN_PREFIX2%/docs/cpp/ref/names/rtl/c-OUString.html"
title="link to the reference documentation of rtl::OUString"><code>OUString</code></a>
and <a href="%DOXYGEN_PREFIX2%/docs/cpp/ref/names/rtl/c-OUStringBuffer.html"
title="link to the reference documentation of rtl::OUStringBuffer"><code>OUStringBuffer</code></a>.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">SimpleBootstrap Java Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./ProfUNO/SimpleBootstrap_java/SimpleBootstrap_java.java"
title="link to ProfUNO/SimpleBootstrap_java/SimpleBootstrap_java.java">SimpleBootstrap_java.java</a></td>
<td class="cell80">Shows the transparent use of
office UNO components from Java. The remote office component context is
obtained by using the <code>com.sun.star.comp.helper.Bootstrap.bootstrap()</code>
method, which bootstraps the component context from a UNO installation.</td>
</tr>
<tr>
<td class="cell20"><a
href="./ProfUNO/SimpleBootstrap_java/manifest.mf"
title="link to ProfUNO/SimpleBootstrap_java/manifest.mf"> manifest.mf</a></td>
<td class="cell80">Contains the additional manifest
file entries.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">SimpleBootstrap C++ Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./ProfUNO/SimpleBootstrap_cpp/SimpleBootstrap_cpp.cxx"
title="link to ProfUNO/SimpleBootstrap_cpp/SimpleBootstrap_cpp.cxx">SimpleBootstrap_cpp.cxx</a></td>
<td class="cell80">Shows the transparent use of
office UNO components from C++. The remote office component context is
obtained by using the <code>::cppu::bootstrap()</code> function, which
bootstraps the component context from a UNO installation.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Deployment Features</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"> <a
href="./Components/SimpleLicense/description.xml"
title="link to Components/SimpleLicense/description.xml">description.xml</a></td>
<td class="cell80">Demonstrates how license files can be embedded, so that they are shown to the user during installation.</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
<td class="content1"><img class="nothing8"
src="../../docs/images/nada.gif"/></td>
</tr>
<tr>
<td class="content1"><img class="nothing8"
src="../../docs/images/nada.gif"/></td>
<td>
<table class="table2">
<tbody>
<tr>
<td>
<table class="table3">
<tbody>
<tr>
<td colspan="2" class="head1"><a name="Components">Writing
UNO components examples</a></td>
<td align="right"> <a href="#examples"
title="link to the Developer's Guide examples overview"><img
class="navigate" src="../../docs/images/nav_up.png"/></a> <a
href="../../index.html" title="link to the SDK start page"><img
class="navigate" src="../../docs/images/nav_home.png"/></a> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Jobs Addon Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/JobsAddon/AsyncJob.java"
title="link to Components/Addons/JobsAddon/AsyncJob.java">AsyncJob</a></td>
<td class="cell80">An java example showing how a job
can analyze the given arguments and how the environment can be
detected, in which the job is executed.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/JobsAddon/Jobs.xcu"
title="link to Components/Addons/JobsAddon/Jobs.xcu">Jobs.xcu</a></td>
<td class="cell80">Contains the example job
configuration.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/JobsAddon/Addons.xcu"
title="link to Components/Addons/JobsAddon/Addons.xcu">Addons.xcu</a></td>
<td class="cell80">Contains the configuration entries
for the Jobs addon where different entries are configured.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">ProtocolHandler Addon Java</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/ProtocolHandlerAddon_java/ProtocolHandlerAddon.java"
title="link to Components/Addons/ProtocolHandlerAddon_java/ProtocolHandlerAddon.java">ProtocolHandlerAddon</a></td>
<td class="cell80">Implements a ProtocolHandler addon
component in Java.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/ProtocolHandlerAddon_cpp/ProtocolHandler.xcu"
title="link to Components/Addons/ProtocolHandlerAddon_cpp/ProtocolHandler.xcu">ProtocolHandler.xcu</a></td>
<td class="cell80">Contains the ProtocolHandler
configuration.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/ProtocolHandlerAddon_cpp/Addons.xcu"
title="link to Components/Addons/ProtocolHandlerAddon_cpp/Addons.xcu">Addons.xcu</a></td>
<td class="cell80">Contains the configuration entries
for the ProtocolHandler addon where different entries are configured.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">ProtocolHandler Addon C++</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/ProtocolHandlerAddon_cpp/addon.cxx"
title="link to Components/Addons/ProtocolHandlerAddon_cpp/addon.cxx">addon.cxx</a></td>
<td class="cell80">Implements a ProtocolHandler addon
component in C++.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/ProtocolHandlerAddon_cpp/addon.hxx"
title="link to Components/Addons/ProtocolHandlerAddon_cpp/addon.hxx">addon.hxx</a></td>
<td class="cell80">Contains the class definition of
the c++ ProtocolHandler example.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/ProtocolHandlerAddon_cpp/component.cxx"
title="link to Components/Addons/ProtocolHandlerAddon_cpp/component.cxx">component.cxx</a></td>
<td class="cell80">Implements the administrative
component functions (component_writeInfo, component_getFactory, component_getImplementationEnvironment).</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/ProtocolHandlerAddon_cpp/ProtocolHandler.xcu"
title="link to Components/Addons/ProtocolHandlerAddon_cpp/ProtocolHandler.xcu">ProtocolHandler.xcu</a></td>
<td class="cell80">Contains the ProtocolHandler
configuration.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Addons/ProtocolHandlerAddon_cpp/Addons.xcu"
title="link to Components/Addons/ProtocolHandlerAddon_cpp/Addons.xcu">Addons.xcu</a></td>
<td class="cell80">Contains the configuration entries
for the ProtocolHandler addon where different entries are configured.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Java Component Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><img src="../../docs/images/bluball.gif"/> <a
href="./Components/JavaComponent/TestJavaComponent.java"
title="link to Components/JavaComponent/TestJavaComponent.java">TestJavaComponent</a></td>
<td class="cell80">Demonstrates how to extend the
service provider with a new factory and instantiates the example
components.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/JavaComponent/TestComponentA.java"
title="link to Components/JavaComponent/TestComponentA.java">TestComponentA</a></td>
<td class="cell80">Shows a simple demo component
which implements <a
href="%DOXYGEN_PREFIX2%/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1lang_1_1XTypeProvider.html"
title="link to the reference documentation of com.sun.star.lang.XTypeProvider"><code>XTypeProvider</code></a>,
<a
href="%DOXYGEN_PREFIX2%/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1lang_1_1XServiceInfo.html"
title="link to the reference documentation of com.sun.star.lang.XServicedInfo">
<code>XServiceInfo</code></a> and an own interface <code>XSomethingA</code>.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/JavaComponent/TestComponentB.java"
title="link to Components/JavaComponent/TestComponentB.java">TestComponentB</a></td>
<td class="cell80">Shows a simple demo component
which implements <a
href="%DOXYGEN_PREFIX2%/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1lang_1_1XTypeProvider.html"
title="link to the reference documentation of com.sun.star.lang.XTypeProvider">
<code>XTypeProvider</code></a>, <a
href="%DOXYGEN_PREFIX2%/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1lang_1_1XServiceInfo.html"
title="link to the reference documentation of com.sun.star.lang.XServiceInfo"><code>XServiceInfo</code></a>
and an own interface <code>XSomethingB</code>.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/JavaComponent/TestServiceProvider.java"
title="link to Components/JavaComponent/TestServiceProvider.java">TestServiceProvider</a></td>
<td class="cell80">Implements a factory (service
provider) which can create the two test components.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">C++ Component Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><img src="../../docs/images/bluball.gif"/> <a
href="./Components/CppComponent/TestCppComponent.cxx"
title="link to Components/CppComponent/TestCppComponent.cxx">TestCppComponent.cxx</a></td>
<td class="cell80">Shows how to create new instances
of the demo services and calls some methods of the demo interface.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/CppComponent/service1_impl.cxx"
title="link to Components/CppComponent/service1_impl.cxx">service1_impl.cxx</a></td>
<td class="cell80">Implements a simple UNO service
with an own interface in C++.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/CppComponent/service2_impl.cxx"
title="link to Components/CppComponent/service2_impl.cxx">service2_impl.cxx</a></td>
<td class="cell80">Implements another simple UNO
service in C++.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Thumbs Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Thumbs/org/openoffice/comp/test/ImageShrink.java"
title="link to Components/Thumbs/org/openoffice/comp/test/ImageShrink.java">ImageShrink</a></td>
<td class="cell80">Contains a framework for a
component which scales images in a directory and stores them to another
directory. This code does not really do anything, it just contains the
framework.</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/Thumbs/org/openoffice/comp/test/Thumbs.java"
title="link to Components/Thumbs/org/openoffice/comp/test/Thumbs.java">Thumbs</a></td>
<td class="cell80">This example registers a factory
for the image shrink component and instantiates it.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Dialog Component Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><img src="../../docs/images/bluball.gif"/> <a
href="./Components/DialogComponent/DialogComponent.java"
title="link to Components/DialogComponent/DialogComponent.java">DialogComponent.java</a></td>
<td class="cell80">Implements a component accessing a dialog created
with the %PRODUCTNAME% %PRODUCT_RELEASE% Basic IDE. The component provides methods that
can be bound to dialog respectively control events .</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/DialogComponent/XTestDialogHandler.idl"
title="link to Components/DialogComponent/XTestDialogHandler.idl">XTestDialogHandler.idl</a></td>
<td class="cell80">Interface implementing a createDialog method showing the
dialog and some methods to be used as event handler for the dialog.
</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/DialogComponent/TestDialogHandler.idl"
title="link to Components/DialogComponent/TestDialogHandler.idl">TestDialogHandler.idl</a></td>
<td class="cell80">
Service definition for the component implementing
its own interface <code>XTestDialogHandler</code>.
</td>
</tr>
<tr>
<td class="cell20"><a
href="./Components/DialogComponent/DialogComponent.odt"
title="link to Components/DialogComponent/DialogComponent.odt">DialogComponent.odt</a></td>
<td class="cell80">Document containing Basic code to
instantiate the Dialog Components and a Dialog containing
controls with events bound to methods supported by the
Dialog Component.</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
<td class="content1"><img class="nothing8"
src="../../docs/images/nada.gif"/></td>
</tr>
<tr>
<td colspan="3"><img class="line"
src="../../docs/images/sdk_line-1.gif"/></td>
</tr>
<tr>
<td class="content1"><img class="nothing8"
src="../../docs/images/nada.gif"/></td>
<td>
<table class="table2">
<tbody>
<tr>
<td>
<table class="table3">
<tbody>
<tr>
<td colspan="2" class="head1"><a
name="OfficeDevelopment">Office Development examples</a></td>
<td align="right"> <a href="#examples"
title="link to the Developer's Guide examples overview"><img
class="navigate" src="../../docs/images/nav_up.png"/></a> <a
href="../../index.html" title="link to the SDK start page"><img
class="navigate" src="../../docs/images/nav_home.png"/></a> </td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Ascii Filter Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/AsciiFilter/AsciiReplaceFilter.java"
title="link to OfficeDev/FilterDevelopment/AsciiFilter/AsciiReplaceFilter.java">AsciiReplaceFilter</a></td>
<td class="cell80">Implements an example for an
import/export filter service.</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/AsciiFilter/FilterOptions.java"
title="link to OfficeDev/FilterDevelopment/AsciiFilter/FilterOptions.java">FilterOptions</a></td>
<td class="cell80">Offers some helper methods to
analyze and prepare the arguments of the filter method.</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/AsciiFilter/TypeDetection.xcu"
title="link to OfficeDev/FilterDevelopment/AsciiFilter/TypeDetection.xcu">TypeDetection.xcu</a></td>
<td class="cell80">Contains the necessary
configuration items for the AsciiReplaceFilter.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">FlatXmlFilter C++ Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/FlatXmlFilter_cpp/FlatXml.cxx"
title="link to OfficeDev/FilterDevelopment/FlatXmlFilter_cpp/FlatXml.cxx">FlatXml.cxx</a></td>
<td class="cell80">Implements an import/export filter
storing the data in one xml stream instead of the normal three streams
in for example an .odt file. The example is implemented in C++.</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/FlatXmlFilter_cpp/FlatXmlFilter_cpp.xcu"
title="link to OfficeDev/FilterDevelopment/FlatXmlFilter_cpp/FlatXmlFilter_cpp.xcu">FlatXmlFilter_cpp.xcu</a></td>
<td class="cell80">Contains the necessary
configuration items for the C++ flat xml filter.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">FlatXmlFilter Java Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/FlatXmlFilter_java/FlatXml.java"
title="link to OfficeDev/FilterDevelopment/FlatXmlFilter_java/FlatXml.java">FlatXml</a></td>
<td class="cell80">Implements an import/export filter
storing the data in one xml stream instead of the normal three streams
in for example an .odt file. The example is implemented in Java.</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/FlatXmlFilter_java/FlatXmlFilter_java.xcu"
title="link to OfficeDev/FilterDevelopment/FlatXmlFilter_java/FlatXmlFilter_java.xcu">FlatXmlFilter_java.xcu</a></td>
<td class="cell80">Contains the necessary
configuration items for the Java flat xml filter.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">FlatXml FilterDetection Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/FlatXmlFilterDetection/filterdetect.cxx"
title="link to OfficeDev/FilterDevelopment/FlatXmlFilterDetection/filterdetect.cxx">filterdetect.cxx</a></td>
<td class="cell80">Implements an example filter
detection for the flat xml filter. The example is implemented in C++.</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/FlatXmlFilterDetection/filterdetect.hxx"
title="link to OfficeDev/FilterDevelopment/FlatXmlFilterDetection/filterdetect.hxx">filterdetect.hxx</a></td>
<td class="cell80">Contains the class definition of
the filter detection example.</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/FlatXmlFilterDetection/fdcomp.cxx"
title="link to OfficeDev/FilterDevelopment/FlatXmlFilterDetection/fdcomp.cxx">fdcomp.cxx</a></td>
<td class="cell80">Implements the administrative
component functions (component_writeInfo, component_getFactory, component_getImplementationEnvironment).</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/FilterDevelopment/FlatXmlFilterDetection/FlatXmlTypeDetection.xcu"
title="link to OfficeDev/FilterDevelopment/FlatXmlFilterDetection/FlatXmlTypeDetection.xcu">FlatXmlTypeDetection.xcu</a></td>
<td class="cell80">Contains the necessary
configuration items for the C++ flat xml type detection.</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table class="table4">
<tbody>
<tr class="thead">
<td class="cell20">Desktop Environment Example</td>
<td class="cell80">Description</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/DesktopEnvironment/CustomizeView.java"
title="link to OfficeDev/DesktopEnvironment/CustomizeView.java">CustomizeView</a></td>
<td class="cell80">Offers a view which allows hiding
and showing of the menubar, toolbar and objectbar of the related
document component.</td>
</tr>
<tr>
<td class="cell20"><img
src="../../docs/images/bluball.gif"/> <a
href="./OfficeDev/DesktopEnvironment/Desk.java"
title="link to OfficeDev/DesktopEnvironment/Desk.java">Desk</a></td>
<td class="cell80">This is the main part of a demo
application based on the framework APIs. It mainly shows the mechanisms
to load, store and convert documents, as well as dispatch and dispatch
interception. It integrates windows from %PRODUCTNAME% %PRODUCT_RELEASE% via system
window handle. This is the same mechanism as used by the OOoBean, but
the OOoBean itself is not used here, just the JNI window handle access.</td>
</tr>
<tr>
<td class="cell20"><a
href="./OfficeDev/DesktopEnvironment/DocumentView.java"
title="link to OfficeDev/DesktopEnvironment/DocumentView.java">DocumentView</a></td>
<td class="cell80">Deals with the application window
and it's actions.