Reputation: 623
In LibreOffice Calc, if I create four radio buttons on a Basic dialog, with a tab-order of say 11, 12, 13, 14 then they will be treated as a single four-way group.
If I insert any other active form item, such as another text field, (but unfortunately not a dividing line), in the middle, then I get what I want, which is two distinct groups.
Think:
Q.1: * Yes
* No
Q.2: * Yes
* No
All of the documentation seems to be saying that a group is made by giving each button the same name, but this appears to be out of date or out of context, as the dialog editor simply will not allow them to have the same name.
Giving the buttons in each group two different group names also has no effect.
Upvotes: 1
Views: 957
Reputation: 13820
According to https://wiki.openoffice.org/wiki/Documentation/OOo3_User_Guides/Writer_Guide/Form_controls_reference:
If wizards are on, creating a group box launches the Group Element wizard. This creates a group of option buttons (in which only one may be selected at a time). In most cases, using a group box is the best way to create a set of option buttons.
Typically I use group boxes as recommended here. However, instead of the wizard (LibreOffice wizards often give messy results), I find it easier to create the dialog in the dialog editor and then modify the resulting .xdl file using a text editor.
The important thing is the tab index order, as explained at https://wiki.openoffice.org/wiki/Documentation/DevGuide/Basic/Option_Button:
Note, that option buttons that belong to the same group must have consecutive tab indices. Two groups of option buttons can be separated by any control with a tab index that is between the tab indices of the two groups.
A horizontal line will work if that is what you want. For example, here is an example that has two groups. Notice the tab index of 2 for the horizontal line, which is in between the tab indices of the buttons we want to separate (0 to 1 and 3 to 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="&20.Dialog3.OptionButton1.HelpText" dlg:value="&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="&22.Dialog3.OptionButton2.HelpText" dlg:value="&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="&28.Dialog3.FixedLine1.HelpText" dlg:value="&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="&24.Dialog3.OptionButton3.HelpText" dlg:value="&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="&26.Dialog3.OptionButton4.HelpText" dlg:value="&27.Dialog3.OptionButton4.Label" dlg:group-name="b"/>
</dlg:radiogroup>
If you don't like the idea of modifying the .xdl file directly, it is possible to do this in the dialog editor without the wizard by selecting each control and changing the value of the tab order field.
Upvotes: 1