Open Office Api

Open Office API: Struktur

Ein kleines Beispiel für die logische Struktur der Komponenten

module text
Das Modul Text beinhaltet services, interfaces, structs, exceptions, enums, constant groups.
(com::sun::star::text)

service ... ::

interface XSimpleText
ist die Hauptschnittstelle für eine bestimmte Texteinheit, z.B. den eigentlichen Text eines Dokuments, den Text in der Kopf- oder der Fußzeile, oder für den Text in einzelnen Zellen einer Tabelle.
(com::sun::star::text::XSimpleText)
(Syntax: interface XSimpleText:com::sun::star::text::XTextRange)

struct ... ::

exception ... ::

enum ... ::

constant group ControlCharacter
enthält die codes (Konstanten) für das Einfügen von Kontrollzeichen mit Hilfe des XSimpleText-interface. Hier sind zum Beispiel folgende Konstanten definiert: PARAGRAPH_BREAK (Absatzumbruch), LINE_BREAK (Zeilenumbruch), HARD_HYPHEN ("harter Trennstrich"), SOFT_HYPHEN ("weicher Trennstrich"; 3), HARD_SPACE ("hartes Leerzeichen"). Eine ebensolche Konstantengruppe existiert für das Interface XControlCharacterInsertable, welche allerdings noch ein Kontrollzeichen APPEND_PARAGRAPH ("Absatz anfügen") enthält. Wo ist der Unterschied, stehen die beiden Constant groups in einem Verhältnis zu einander??

Beispiel XText

Das Interface com.sun.star.text.XText kann eine Zeichenkette aus einem Texten holen bzw. diese dort einfügen oder den Anfang und das Ende eines Textes betimmen. Außerdem kann XText Zeichenketten an irgendeiner bestimmten Position in den Text einfügen und Text-Cursors zur Auswahl bzw. Formatierung von Text anlegen. Schließlich kann XText sogenannte "text contents" handhaben -- mit hilfe der Methoden insertTextContent und removeTextContent, obwohl nicht alle Texte andere "text contents" als konventionellen Text aufnehmen können.

XText kann das alles durch Vererbung von com.sun.star.text.XSimpleText, welches von com.sun.star.text.XTextRange ererbt ist.

Textformatierung geschieht durch die Eigenschaften (properties), die in den services com.sun.star.style.ParagraphProperties und com.sun.star.style.CharacterProperties beschrieben sind.

Wozu all die Cursors?

service TextCursor
Ein TextCursor ist ein TextRange, welches innerhalb eines Textobjekts bewegt werden kann.
interface XTextCursor
com::sun::star::text::XTextCursor
(Syntax: interface XTextCursor:com::sun::star::text::XTextRange)

XLineCursor ::

interface XViewCursor ::

interface XScreenCursor

service TextTableCursor

interface XPageCursor

interface XParagraphCursor

service CellCursor

interface XSheetCellCursor