почему я могу получить доступ к свойствам текста через объект курсора в OpenOffice? - PullRequest
0 голосов
/ 07 января 2012

Я разрабатываю простой скрипт в OpenOffice Basic для Writer. У меня есть такой код:

vText = ThisComponent.Text
vc = ThisComponent.CurrentController.getViewCursor()
c = vText.createTextCursorByRange(vc.getstart())
baseM = c.ParaLeftMargin

В соответствии с http://www.openoffice.org/api/docs/common/ref/com/sun/star/text/XSimpleText.html#createTextCursorByRange createTextCursorByRange возвращает объект типа XTextCursor. ParaLeftMargin является свойством сервиса ParagraphProperties. Но я не могу найти, как XTextCursor связан с ParagraphProperties в этой документации.

У меня вопрос - почему я могу получить доступ к ParaLeftMargin для объекта курсора?

1 Ответ

1 голос
/ 03 января 2013

Вы утверждаете, что com.sun.star.text.XTextCursor имеет свойство ParaLeftMargin, но на самом деле это просто случайность.

com.sun.star.text.XTextCursor - это интерфейс, реализованныйSwXTextCursor.Эта реализация также поддерживает сервис com.sun.star.style.ParagraphProperties, который предоставляет свойство ParaLeftMargin.

Если вы хотите узнать, поддерживает ли данный объект UNO, какие интерфейсы / сервисы, отладчик - лучший инструмент, как рентген:

http://wiki.openoffice.org/wiki/Extensions_development_basic#Xray_tool

...