О компании  |  Услуги  |  Партнёрам  |  OpenOffice.org  |  OpenOffice-Enterprise  |  Купить  |  Скачать  |  Форум 
 
Справка
Новости
События
Наши проекты
Контакты
Глоссарий











Rambler's Top100

Главная OpenOffice.org Статьи и переводы Конкурс на лучшую статью Конкурсные работы (53) Об этом уже писали (5)

Начала программирования в OpenOffice.org



Пример: работа с текстом, таблицей и фигурой


Далее рассмотрим пример общих приемов работы с OpenOffice.org API. Три основные области приложения OpenOffice.org – текст, таблицы и рисунки.

Общие механизмы работы


Начнем с общих интерфейсов и свойств, позволяющими манипулировать существующими текстами, таблицами и рисунками. Далее будут рассмотрены другие приемы, предназначенные для создания таких документов.

Для работы с существующими текстами, таблицами и рисунками применяются следующие основные интерфейсы.

Для текстовых документов интерфейс com.sun.star.text.XText содержит методы, позволяющие изменять "основной" текст документа и другое текстовое содержимое (таблицы, текстовые поля, графические объекты и т.п., но подобное допустимо не всегда).


Интерфейс com.sun.star.text.XText может устанавливать и возвращать текст как единичную строку и определять начало и конец текста. Также этот интерфейс может вставлять строку в произвольную позицию в тексте и создавать текстовые курсоры для выбора и форматирования текста. Кроме того, этот интерфейс может обрабатывать текстовый контент методами insertTextContent и removeTextContent, хотя это и не всегда возможно.

Форматирование текста обеспечивается свойствами, имеющимися в сервисах com.sun.star.style.ParagraphProperties и com.sun.star.style.CharacterProperties.

В последующем примере метод manipulateText() добавляет текст, используя текстовый курсор для выделения и форматирования некоторых слов и применяя CharacterProperties. Метод manipulateText() содержит лишь основные методы XText, применимые для работы с любыми текстовыми объектами. Например, не применяется метод insertTextContent() – потому, что нет текстового контента, исключая обычный текст, который можно вставить во все текстовые объекты.
Изучите функцию manipulateText() в коде примера HelloTextTableShape.
В таблицах и ячейках таблиц интерфейс com.sun.star.table.XCellRange позволяет получать отдельные ячейки и поддиапазоны ячеек. С содержимым ячейки можно работать при помощи интерфейса com.sun.star.table.XCell.





Форматирование таблиц отличаются для текстовых таблиц Writer и таблиц Calc. Текстовые таблицы применяют свойства, описанные в com.sun.star.text.TextTable, а таблицы Calc – com.sun.star.table.CellProperties. Также есть объекты-табличные курсоры, позволяющие выбирать и форматировать регионы ячеек и содержащийся в них текст. Но com.sun.star.text.TextTableCursor работает по-другому, чем com.sun.star.sheet.SheetCellCursor.
Изучите функцию manipulateTable() в тексте примера HelloTextTableShape.

Для фигур Draw используется интерфейс com.sun.star.drawing.XShape, позволяющий определить позицию и размер фигуры.


Все остальное определяется при помощи основанного на свойствах форматирования. Есть много свойств для форматирования фигур. OpenOffice.org имеет одиннадцать фигур, на которых основаны средства для рисования. Шесть из них имеют собственные свойства, отражающие их характеристики:


Пять фигур не имеют индивидуальных свойств, а используют свойства, определенные в сервисе com.sun.star.drawing.PolyPolygonBezierDescriptor:


Все эти одиннадцать фигур используют свойства от следующих сервисов:


Обратитесь к функции manipulateShape() в коде примера HelloTextTableShape.

Создание текста, электронной таблицы и рисование фигур


Три метода manipulateXXX в примере HelloTextTableShape получают текст, таблицу и фигуру как аргументы и изменяют их.
Далее следует рассмотреть, как создавать подобные объекты в документах различного типа.
Надо помнить, что все документы имеют собственные "фабрики" для создания вставляемых объектов. Кроме того, методики могут отличаться для разных типов документов.
Сначала следует создать новый документ, что делается довольно просто – см. функцию newDocComponent() в тексте примера.

Текст, таблицы и фигуры в Writer


Метод useWriter создает документ Writer, изменяет его текст, затем использует менеджер сервисов документа для создания текстовой таблицы и фигуры, вставки их в документ и изменения в дальнейшем. Следует изучить функцию useWriter() в примере HelloTextTableShape.

Текст, таблицы и фигуры в Calc


Метод useCalc нашего примера создает документ Calc, применяет его "фабрику документов" для создания фигуры и изменения текста в ячейках, таблицы и фигуры. Изучите функцию useCalc() подробнее.

Рисование и текст в Draw


Наконец, метод useDraw создает документ Draw, добавляя к нему фигуру и изменяя ее. Подробнее – смотрите текст функции useDraw().

Источник

Сайт: OpenOffice.org Developer Guide – Ch.2 First Steps

Перевод

Автор перевода: Буханцов Дмитрий Владимирович

Обсудить

на форуме: community.i-rs.ru

Содержание статьи

Присоединенные файлы

_firstStepsOOo_01.odt
_firstStepsOOo_01.pdf

<< Предыдущая страница | 1 | 2 | 3 | 4 | 5 | 6 | 7 | < 8 > | 9 | Следующая страница >>

| Версия для печати |
Copyright © 2002-2007 Infra Resource