Как прочитать свойства элементов

Автор Борис_С, 27 июля 2020, 16:20

0 Пользователи и 1 гость просматривают эту тему.

Борис_С

Всем доброго дня!
Я создал диалог. Поместил в него 2 радиокнопки.
Перед закрытием диалога я хочу узнать, какая кнопка активна.
Прочитал, что прежде всего нужно получить ссылку на форму.
Я не очень понимаю, что такое форма.
Я вызываю диалог из редактора ОО Basic.
На операторе oForm = ThisComponent.Drawpage.Forms.getByIndex(0) происходит исключение.
У меня 2 вопроса:
Как мне создать форму и выполнить вызов из нее диалога?
Могу я использовать диалог для расширении на ОО Basic?
Спасибо.

Борис_С

Разобрался. Вызывать диалог можно без наличия формы.
Остался вопрос, могу я использовать диалог для расширении на ОО Basic?

kompilainenn

Цитата: Борис_С от 27 июля 2020, 16:44Остался вопрос, могу я использовать диалог для расширении на ОО Basic?
конечно
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Борис_С


kompilainenn

Цитата: Борис_С от 27 июля 2020, 17:42
Куда записывается диалог?
в смысле "куда"? Он виден в вашей библиотеке рядом с макросом
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Борис_С

Как я его могу вставить в архив дополнения?

Борис_С

Тексты макросов в архиве дополнения сидят в файле lib.xba.
Какой файл нужно добавить в архив дополнения для диалога?

kompilainenn

у меня это выглядит вот так, если расширение распаковать:
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Борис_С

Как я понимаю, это файл с расширением xdl.
А в какую папку он его сохраняет?

Борис_С

Нашел. В папке пользователя.
На моем компьютере - в папке c:\Users\sbe.CSOFT-SPB\AppData\Roaming\LibreOffice\4\user\basic\Standard\Dialog1.xdl

Борис_С

А на этот файл нет ссылки в других файлах?
Я записал его в архив.
После установки архива диалог пропадает.

Yakov

Есть специальный инструмент для создания расширений:BasicAddonBuilder
http://myooo.ru/content/view/137/113/
https://extensions.openoffice.org/en/project/basicaddonbuilder-extensions-packager

Только обратите внимание, из стандартных библиотек (Standard) расширение создать нельзя!

Борис_С

Разобрался. Все получилось.
Проблема была в том, что в файле dialog.slb была такая строка:
<!--  <library:element library:name="Dialog1"/> -->
Когда я ее заменил на
<library:element library:name="Dialog1"/>
все заработало.