Как изменить название документа через UNO? - PullRequest
0 голосов
/ 20 мая 2018

Я использую UNO из Java для управления LibreOffice (5.3).
Как изменить имя документа, отображаемое в строке заголовка окна?

До сих пор я пытался использовать XDocumentProperties, но он устанавливает заголовок только во встроенных свойствах документа, а не в заголовке окна:

// Sets only meta data, not the window title.
XDocumentPropertiesSupplier xDocumentPropertiesSupplier = UnoRuntime.queryInterface(XDocumentPropertiesSupplier.class, openedDocument);
XDocumentProperties xDocumentProperties = xDocumentPropertiesSupplier.getDocumentProperties();
xDocumentProperties.setTitle(retrievedFile.name);

1 Ответ

0 голосов
/ 21 мая 2018

Обычно просто звоните storeAsURL из XStorable .

Однако для особых случаев, таких как потоковая передача, вы можете использовать XDocumentProperties .Звоните setTitle() как в следующем коде C ++ из https://forum.openoffice.org/en/forum/viewtopic.php?f=25&t=70156.

Reference<XModel> xModel(xComponent, UNO_QUERY);
Reference<XTitle> xTitle(xModel, UNO_QUERY);
xTitle->setTitle(constOUString("Title"));

РЕДАКТИРОВАТЬ :

Вот код XTitle из вашегоотклонено редактирование.

XTitle xTitle = UnoRuntime.queryInterface(XTitle.class, xComponent /* e.g. from xComponentLoader.loadComponentFromURL(...) */);
xTitle.setTitle("Title");

Примечание. Как писали рецензенты, это должно было быть добавлено в комментариях или отдельном ответе, а не в редактировании.Почти никогда не стоит редактировать чужой код на этом сайте.Тем не менее, вполне приемлемо ответить на ваш собственный вопрос.

...