From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- odk/examples/examples.html | 838 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 838 insertions(+) create mode 100644 odk/examples/examples.html (limited to 'odk/examples/examples.html') diff --git a/odk/examples/examples.html b/odk/examples/examples.html new file mode 100644 index 000000000..9a1bf3de6 --- /dev/null +++ b/odk/examples/examples.html @@ -0,0 +1,838 @@ + + + + + LibreOffice %PRODUCT_RELEASE% SDK - Examples + + + + + +
+
+
+ +

+ Software Development Kit %PRODUCT_RELEASE% +

+
+
+
+
+
+

+ Examples +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + +
+

The SDK provides a rich set of examples in different programming + languages (Java, Python, C++, LibreOffice %PRODUCT_RELEASE% Basic, OLE) to illustrate the use + of the API and demonstrate how to benefit from the included word + processor, spreadsheet, presentation software, graphics program and + database of LibreOffice %PRODUCT_RELEASE%.
+ 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.

+

Every makefile contains at least one run target to execute an + running example, please see the makefile output in the different + example directories. 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.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Developer's Guide examplesThe Developer's Guide comes + with a rich set of examples which demonstrate the use of the API in + the different application areas.
Java examplesSet of simple and more complex examples which + shows the use of the API from Java.
Python examplesSmall set of examples which shows the use of the API from Python.
C++ examplesSmall set of examples which shows the use of + the API from C++.
LibreOffice %PRODUCT_RELEASE% Basic examplesSmall set of examples which shows the use of + the API from LibreOffice %PRODUCT_RELEASE% Basic.
Object Linking and Embedding (OLE) examplesExamples which show the use of the API from OLE.
Common Language Infrastructure (CLI) examplesExamples which show the use of the API from the CLI.
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Java examples + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Text Document ExamplesDescription
BookmarkInsertionThis application connects to the office server and + gets the multi component factory. An empty text document will be opened + and an example text will be entered. Afterwards, some bookmarks will be + inserted.
HardFormattingThis program connects to the office server and gets + the multi component factory. Furthermore, an empty text document will be + opened, an example text will be entered, some text attributes will be + inspected, and the PropertyState will be checked from the selection.
SWriterThe program connects to the office server and gets the + multi component factory. An empty text document will be created, some + text will be entered, and a text table, a colored text, and text frame + will be inserted.
StyleCreationThe example connects to the office server and gets the + multi component factory. An empty text document will be opened, a new + paragraph style will be created, and applied.
StyleInitializationThe program connects to the office server and gets the + multi component factory. Thereafter, an empty text document will be + opened and an example text will be entered. The paragraph collection will + be used, in order to apply a different paragraph style on the + paragraphs.
TextDocumentStructureThe application connects to the office server and gets + the multi component factory. An empty text document will be opened, an + enumeration of all paragraphs and an enumeration of all text portions + will be created.
TextReplaceThe example connects to the office server and gets the + multi component factory. An empty text document will be created, an + example text will be inserted, and some English spelled words will be + replaced with US spelled words.
GraphicsInserterThe GraphicsInserter creates a graphics object on an + empty text document by setting its position, width, height, and URL.
WriterSelectorThis class gives you information on the selected + objects (text range, text frame, or graphics) at a LibreOffice + Server.
+
+ + + + + + + + + + + + + + + + + + + + + + + +
Spreadsheet Document ExamplesDescription
CalcAddinsThis component adds new functions to the spreadsheet + application. After registering the component, the inserted functions can + be found with help of the functions autopilot. The new functions are + assigned to the category Add-in.
ChartTypeChangeThis class loads a LibreOffice %PRODUCT_RELEASE% Calc document and + changes the type of the embedded chart.
EuroAdaptionThe application connects to the office server and gets + the multi component factory, opens an empty Calc document, enters an + example text, sets the number format to DM, changes the number format to + EUR (Euro), and uses the DM/EUR factor on each cell with content.
SCalcThe program connects to the office server and gets the + multi component factory. Then an empty calc document will be opened, + cell styles will be created, some data will be inserted into the sheets, + and the created cell styles will be applied. Finally, a 3D chart will be + inserted.
+
+ + + + + + + + + + + +
Drawing Document ExamplesDescription
SDrawThis program connects to the office server and gets + the multi component factory. Afterwards, an empty text document will + be created and some shapes will be inserted on the draw page.
+
+ + + + + + + + + + + + + + + + + + + + + + + +
Document Handling ExamplesDescription
DocumentConverterThe program offers a service that converts arbitrary + documents to a favored document type.
DocumentLoaderThe DocumentLoader can open a new or an + existing document.
DocumentPrinterThe DocumentPrinter allows you to print the + favored pages of a specified document on your favored printer.
DocumentSaverThe DocumentSaver shows how to save a document and + how you can change the type of your document.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
UNO Component ExamplesDescription
Object InspectorThe Object Inspector is primarily an auxiliary tool + for the developer, which can present information about an object of the + LibreOffice %PRODUCT_RELEASE% API at run-time. Depending on the object to be inspected, + appropriate methods, interfaces, services, and attributes can be displayed + to the developer. The methods, interfaces, services and attributes are + represented in a predictable tree. If the attributes contained in an + object are to be examined, the appropriate nodes in the tree can be + expanded with the help of the mouse. For each non primitive object, five + categories are offered to the user, as long as those are available with + that object. The Object Inspector is currently available as a NetBeans project + only because of major code changes. Please see the project page for further details.
MinimalComponentThis class provides a minimal UNO component. You can + take this class as a base for your own components. By extensions of this + class it is possible to also extend the function range of the Office.
PropTestContains a component that provides property set + interfaces by means of inheriting com.sun.star.lib.uno.helper.ProperterSet.
ToDoFor every to-do listed in a spreadsheet document, this + component calculates the start date, day of week of the start date, the + end date, and the day of week of the end date. All calculations are + dependent upon the values of "Needed Days", "Due Date" + and "Status". The columns "Needed Days" and + "Status" are mandatory. The first to-do should be placed in + row nine. The date to start the calculation should be placed in cell C6. + The private holidays should be placed in cell K4/K5 and below.
+ All rows will be calculated up to the first empty cell in the first + column. If a cell in the column "Due Date" is colored red, + you should take a look at your entries.
EmbeddedObjectContains a component that provides an example of embedded object implementation.
+
+ + + + +
+

Additional information:

+

+ How to write a UNO component in Java
+ Java UNO Language Binding
+ Debugging Java components
+

+
+
+
+ + + + + + + + + + +
+ + + + + + + + +
Python examples + + +
+
+ + + + + + + + + + + +
ExampleDescription
ToolPanelPocThis proof of concept extension illustrates how to create a ToolPanel in Calc.
+
+ + + + +
+

No Additional information

+
+
+
+ + + + + + + + + + +
+ + + + + + + + +
C++ examples + + +
+ The DocumentLoader example needs a running office server, before + running this program you should invoke the office with the following + command: +
+ soffice "--accept=socket,host=localhost,port=2083;urp;StarOffice.ServiceManager" +
+ You can also customize the mentioned host and port to your needs. +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExampleDescription
DrawThis is essentially the same as the appropriate Java + example, but is implemented in C++. It does not need a running office instance.
DocumentLoaderThis component works the same as the appropriate Java + example, but is implemented in C++. It needs a running office instance.
CounterThis demo shows how to implement a very simple UNO + component and how to access the UNO component from an executable.
Remote clientThe 'uno' program is used to export an arbitrary + service to other processes. In this example the com.sun.star.uno.Pipe + service (which is built in io-module) is exported. The client component + implements the + com.sun.star.lang.XMain interface. In the run method, it connects to + the servers process and retrieves an instance and does some calls on the + instance.
complextoolbarcontrolsThis example shows how to create a toolbar add-on with complex toolbar controls. + 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
+
+ + + + +
+

Additional information:

+

+ How to write a UNO component in C++
+ C++ UNO Language Binding
+ C++ reference +

+
+
+
+ + + + + + + + + + +
+ + + + + + + + +
LibreOffice %PRODUCT_RELEASE% Basic examples + + +
+

The example programs are embedded in LibreOffice %PRODUCT_RELEASE% documents in the + samples directory. To view or edit the LibreOffice %PRODUCT_RELEASE% Basic source, + select the appropriate document and then select Tools->Macro.

+

Most of the examples are stand-alone, but two of them (Creating an + Index and Import/Export of ASCII Files) have an associated data file + identified by a .txt file name suffix).

+

Some of the examples are also available in Java, you can find them in + the + Java section.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExampleDescription
Changing Appearance To change the style used for certain words, you can + start with the following example. This code searches for the regular + expression the[a-z], which stands for the text portion the + followed by exactly one lowercase letter. All occurrences of these four + letters are then changed to bold characters. The same happens in the next + part of the program, this time changing the appearance of + all[a-z] to italic. In order for this example to work, you + must execute it from an open text document.
Replacing TextIf you regularly receive documents from other people + for editing, you might want to make sure that certain words are always + written the same. The next example illustrates this by forcing certain + words to be spelled in American English.
+ In order for this example to work, you must execute it from an open text + document. For a real world application, it is a good idea to read the + words from an external file.
Using Regular ExpressionsAnother application of automatic text modification is + related to stylistic questions. Suppose your company’s policy is to + avoid the use of certain words. You want to replace these words, but you + cannot do that automatically because you have to find the appropriate + replacement, which depends on the context. So instead of deleting or + replacing the offending words automatically, you change their color to + make them stand out during a subsequent manual review process.
+ The following example handles two kinds of unwanted wordings: those + which are absolutely forbidden and must be replaced by something else, + and those which are considered bad style. A subroutine is responsible + for the changes. It can be used to make all words in a list appear in a + certain color in the text document. To keep the lists short, we use + regular expressions which provide for the variants of the words + (plural, adjective etc.).
Inserting Bookmarks +

The next example does something very similar. This time, however, we + do not change the color of the words but insert a bookmark at each of + them. You can thus use the StarOffice navigator to jump directly from + word to word. Bookmarks must first be created using + createInstance(). They are then inserted with + insertTextContent() at the current text range.

+

The main difference to the preceding example is the For loop in + markList(). Instead of changing the color of the current + word, it creates a new bookmark, oBookmark, whose name is the current + word with an integer appended. It then inserts this bookmark at the + word.

Creating an IndexIndices for text documents can be created manually in + LibreOffice %PRODUCT_RELEASE% Writer by clicking on the words that should appear in the + index. If the document is large, or if you have to generate indices for + several documents, this task should be automated.
Adapting to EurolandMost of the members of the European Union will abandon + their old currency in favor of the new Euro in 2001. This requires + modifications to all programs using the old currencies. Since the exchange + rates for the old currencies have been fixed at the end of 1999, one can + already convert old data. The following program does this for all values + in a table that are formatted with the currency string DM.
Import/Export of ASCII FilesYou can use the drawing facilities of StarOffice API + to generate a picture from ASCII input. One application would be a + hierarchical representation of a directory listing, based on textual + data.
Stock Quotes UpdaterIf you want to display stock charts for certain + companies, you can open up your browser every day, go to a search engine, + look up the quote and copy it by hand into a table. Or you can use a + program that does all this automatically. The following example relies on + the sheet module. It uses URLs to obtain the current stock quotes. The + quotes are displayed in sheets, one for each company. We show a line + diagram and the numerical values for this company on every sheet. The + functionality is hidden in the three subroutines GetValue(), + UpdateValue(), and UpdateChart().
Forms and ControlsThe example document Burger Factory offers some forms + and controls, which you can use to order your desired burger type, + beverage, topping, and sauce. By hitting the button + "Order now!", your order will be placed.
+
+ + + + +
+ Additional information: LibreOffice %PRODUCT_RELEASE% Basic language binding +
+
+
+ + + + + + + + + + +
+ + + + + +
Object Linking and Embedding (OLE) examples + + +
+
+ + + + + + + + + + + + + + + +
ExampleDescription
ActiveX ControlThe ActiveX control shows an example of access to UNO + through COM technology. It requires a properly installed StarOffice + version 6.0 or OpenOffice 1.0 or newer. This is a Lite ActiveX control + so it can be used only in containers that allow the use of such controls. + It can be activated with an <OBJECT> tag from a html-page to embed + a document. Without any parameters a new writer document will be opened + for editing. For more details please see the README.
+ Note: This example works only under windows and if you don't use the MS + .Net C++ compiler please check the makefile and take notice of the + comments.
WriterDemoThis Visual Basic Script creates an empty text + document and inserts text, a table, and a text frame.
+
+ + + + +
+ Additional information: Automation Language Binding +
+
+
+ + + + + + + + + + +
+ + + + + +
Common Language Infrastructure (CLI) examples + + +
+
+ + + + + + + + + + + + + + + +
ExampleDescription
Spreadsheet ExampleThis example is written in C# and shows how Spreadsheet + documents are created and filled with content. This example actually + consists of three separate executables, SpreadsheetSample.exe, + GeneralTableSample.exe, ViewSample.exe.
WriterDemoThis example is written in VB.NET. It creates a text + document and inserts text, a table, and a text frame.
+
+ + + + +
+ Additional information: CLI-UNO Language Binding +
+
+
+
+ +
+
+
+ + -- cgit v1.2.3