В LibreOffice, как мне создать два последовательных набора переключателей - PullRequest
1 голос
/ 26 сентября 2019

В LibreOffice Calc, если я создаю четыре переключателя в основном диалоге с порядком табуляции, скажем, 11, 12, 13, 14, тогда они будут обрабатываться как единая четырехсторонняя группа.

Если я вставлю в центр любой другой активный элемент формы, например другое текстовое поле (но, к сожалению, не разделительную линию), я получу то, что хочу, - две отдельные группы.

Подумайте:

    Q.1:  * Yes
          * No
    Q.2:  * Yes
          * No

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

Назначение кнопкам в каждой группе двух разных имен групп также не имеет никакого эффекта.

1 Ответ

0 голосов
/ 27 сентября 2019

Согласно https://wiki.openoffice.org/wiki/Documentation/OOo3_User_Guides/Writer_Guide/Form_controls_reference:

Если включены мастера, создание группового блока запускает мастер групповых элементов.Это создает группу кнопок выбора (в которых только одна может быть выбрана за один раз).В большинстве случаев использование группового блока - лучший способ создать набор опциональных кнопок.

Обычно я использую групповые поля, как рекомендовано здесь.Однако вместо мастера (мастера LibreOffice часто дают грязные результаты), мне проще создать диалоговое окно в редакторе диалогов, а затем изменить полученный файл .xdl с помощью текстового редактора.

Важным является порядок индексации вкладок, как объяснено на https://wiki.openoffice.org/wiki/Documentation/DevGuide/Basic/Option_Button:

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

Горизонтальная линия будет работать, если вы этого хотите.Например, вот пример, который имеет две группы.Обратите внимание на индекс табуляции 2 для горизонтальной линии, которая находится между индексами табуляции кнопок, которые мы хотим разделить (от 0 до 1 и от 3 до 4).

<dlg:radiogroup>
    <dlg:radio dlg:id="OptionButton1" dlg:tab-index="0" dlg:left="52" dlg:top="23" dlg:width="50" dlg:height="12" dlg:help-text="&amp;20.Dialog3.OptionButton1.HelpText" dlg:value="&amp;21.Dialog3.OptionButton1.Label" dlg:group-name="a"/>
    <dlg:radio dlg:id="OptionButton2" dlg:tab-index="1" dlg:left="52" dlg:top="46" dlg:width="50" dlg:height="12" dlg:help-text="&amp;22.Dialog3.OptionButton2.HelpText" dlg:value="&amp;23.Dialog3.OptionButton2.Label" dlg:group-name="a"/>
</dlg:radiogroup>
<dlg:fixedline dlg:id="FixedLine1" dlg:tab-index="2" dlg:left="50" dlg:top="70" dlg:width="82" dlg:height="6" dlg:help-text="&amp;28.Dialog3.FixedLine1.HelpText" dlg:value="&amp;29.Dialog3.FixedLine1.Label"/>
<dlg:radiogroup>
    <dlg:radio dlg:id="OptionButton3" dlg:tab-index="3" dlg:left="52" dlg:top="74" dlg:width="50" dlg:height="12" dlg:help-text="&amp;24.Dialog3.OptionButton3.HelpText" dlg:value="&amp;25.Dialog3.OptionButton3.Label" dlg:group-name="b"/>
    <dlg:radio dlg:id="OptionButton4" dlg:tab-index="4" dlg:left="52" dlg:top="93" dlg:width="50" dlg:height="12" dlg:help-text="&amp;26.Dialog3.OptionButton4.HelpText" dlg:value="&amp;27.Dialog3.OptionButton4.Label" dlg:group-name="b"/>
</dlg:radiogroup>

two option button groups

Если вам не нравится идея непосредственного изменения файла .xdl, это можно сделать в диалоговом редакторе без мастера, выбрав каждый элемент управления и изменив значение порядка табуляцииполе.

...