Right from the start, what you are asking for is super non-standard. Who ever heard of a checkbox that only works if the option key is pressed? Iâve never seen any Mac application that behaved that way.
Of course if you want something non-standard, thatâs your choice. But you canât expect implementing something completely non-standard to be easy, if itâs possible at all.
I believe that what you want is possible, but itâs going to take a lot of work to set up. As you have pointed out, creating a group of checkboxes is easy in Panorama - if you want them to behave in a standard way. Since you donât, youâll essentially have to do all the work yourself, and itâs a bunch of extra work for each button.
Hereâs what I think youâll have to do (but note that I am NOT taking the time to test this). Each button will have to be set up in Formula mode. Suppose you want a button for a garden named âBushardâ. The formula will need to be:
Garden contains "Bushard"
The procedure will need to be:
if info(âmodifiersâ) notcontains âoptionâ
showfields Garden
else
arraytoggle Garden,",","Bushard"
endif
The code above will put a comma between each garden name (if there are multiple names). If you want something other than a comma, youâll need to change that.
Each button will need a customized version of the formula and the code, each with a different garden name.
In fact, I would set it up as a subroutine. Letâs say you created a procedure named ToggleGarden, with this code.
if info(âmodifiersâ) notcontains âoptionâ
showfields Garden
else
arraytoggle Garden,",",parameter(1)
endif
Then each button would only need one line of code, like this:
call ToggleGarden,"Bushard"
In my personal opinion, I donât think you should do any of this. Itâs a lot of work, and does it really solve a problem? If you accidentally check a box, then un-check it, whatâs the big deal? You can also use Undo (command-Z). If youâre really worried about accidentally clicking on a checkbox, then only make the checkboxes available when youâre planning to click. For example, put the checkboxes in a tab panel, so you can only click on them when you switch to that panel. Or put them in a dialog form.