Coming Soon -- The Choice Palette is Back!

A classic Panorama feature that quite a few of you seem to miss in Panorama X is the Choice Palette, which makes it easy to edit a field with a grid of radio buttons. When the next version of Panorama X is released (soon), you won’t be missing it any more.

There are a couple of limitations. Unlike Panorama 6, the radio button arrangement is always vertical, it does not arrange buttons horizontally or in multiple columns. Also, for now, exceptions are not allowed. You can select radio buttons with the keyboard based on the first letter of each value (of course you can also use the mouse).

This new feature is automatically enabled for any field that includes a list of choices (whether the data type is Text or Choices). If you want to, you can disable it for an individual field by changing the new Editor Mode option from Automatic to Text Editor.

On final point – this feature was implemented in a way that additional special editor modes could be added in the future, for example a calendar for date fields or a slider for numeric fields. That won’t happen for a while, but the foundation is there.


Really, no likes, no comments, nothing? I guess my original assessment that this wasn’t a critical feature was correct. Or maybe I picked the wrong name for this post because no one knows it’s called the Choice Palette.

I hope that it will work, but I have not had the opportunity to try it out. The Panorama 6 databases that I have tried converting that use choices have too many other problems for me to test, I am afraid.

I consider it an essential item but, like Bruce, I’m snowed under with other problems at the moment.

Which prompts me to propose a toast - does anybody know of any other software package where you can get anything remotely like the service we get from Jim in response to a request for a modification? We are so spoiled that some of us even complain about the service when it isn’t fast enough.

Thanks Jim - in my part of the world it’s time to open a bottle of red and I’ll have a glass for you.

I did like the Choices feature in Panorama 6 very much, and I am using it very often in my databases.

What I’d like to know: Is Choices the same space saver as before in Pan 6 (by replacing text strings with numbers internally)? And will Auto-generate of choices come back, too?

Or is the Choices Palette just an user interface implementation? Is that the reason why no exceptions are possible?

Definite likes. Thanks for adding it back.

Adding back the exception will be great as well.

Robert Ameeti

Thank you thank you. My pan 6 DBs use the Choice Palette a lot. This is a very much appreciate add.

Yes, and it has been all along. It simply didn’t offer the radio button interface, but internally, it was storing the data using the space saver format. Also, the data format supports exceptions (which are stored as the entire text, rather than a number). It’s simply the Choice Palette that doesn’t support exception values.

I’m sure it will. You can implement that yourself now if you want, using

setfieldproperties "CHOICES",listchoices(«»," ",threshold)

By the way, you can use the Choice Palette with a text field if you want. The Choice Palette is simply a UI feature, it is separate from how the data is actually stored.

I just saw the post and I say “Amen!” I have had several people tell me that you need to bring back items for Pan 6 to make it more familiar, even if it’s different, but this feature is the easiest way to ensure constant data entry. Thank you.

That’s CONSISTENT data entry. I can’t type anything anymore with this auto-correct “feature”.

I’ve imported a Panorama 6 database with a Choice Palette including about 60 choices, which I must admit is a bit far-fetched.
Panorama X opens it smoothly, no data loss. As admin wrote above, no multiple columns for radio buttons on P X, which in my case is a bit awkward : first letter is not enough to select the right choice and I can’t click on what I can’t see.
I guess the Choice Palette was not meant to include so many choices:slight_smile:. So… It works pretty well after all. If some day multiple columns reappear, even better. Meanwhile, I use copy/paste.

I’ll offer this alternative to the standard choices. If you remove the existing choices from the properties panel for the field in question and instead enter this type of code in the code panel of the properties pane for that field it will popup a scrolling list of your choices for entry when you double-click the cell and then hit Enter. Selecting one of the items from the list will enter it into the cell.

popupatmouse listchoices(MyField),MyField,MyField

The listchoices(MyField) part of the code can be replaced with your own return separated choices list or a variable containing that list. Admittedly, not elegant but it might be more convenient than copy/paste.

May I suggest a little improvement?
The list of choices is easier to read when it is sorted alphabetically:

popupatmouse arraysort(listchoices(YourField),cr()),YourField,YourField

Phew… gary and Kjm, I’m afraid it’s ancient greek to me. I use Panorama in a specific way, don’t use figures or formulas. Only text, date, choices.
Is there a section in Pan 6 documentation where I could find formalizations like “MyField),MyField,MyField” ?

“MyField” or “YourField” are just placeholders where you would have to use the name of your choices field. And they are just the arguments to the popupatmouse statement that is well documented in the Pan X Help.

I added another function: arraysort( that you will find in the Pan X Help, too. It makes sure the choices are alphabetically sorted.

James, I thought it might be useful to take Kurt’s explanation a little further and break down exactly what is being executed in the code we submitted. The popupatmouse statement contains a formula consisting of a couple of nested functions that execute in order from the inner most outward. Let’s look at what is being handled in the order of execution. Note - you should replace YourField with the actual name of your choice field in the below code.

popupatmouse arraysort(listchoices(YourField),cr()),YourField,YourField

First is the listchoices( function which I used in its simplest form (no options used). This will generate a carriage return list of every item that is in that field:


Next to execute is the arraysort( function that uses the results of the above listchoices( function. This will sort the list alphabetically:


This gives us the list of choices we need for the popupatmouse statement. The popupatmoouse statement requires three prameters: popupatmouse LIST, INITIAL, CHOICE. The LIST parameter is what we have just created above with the nested formula. The INITIAL parameter will be what is currently in the YourField cell and the CHOICE parameter is what will replace the current contents of that same cell when a selection is made from the popup list. This explains the use of the double ,YourField,YourField.

If you wanted to use a list of choices you already have in a return separated variable possibly created in your .Initialize procedure, you would simply replace the above formula with the variable name (let’s call it myChoiceList).

popupatmouse myChoiceList,YourField,YourField

Also, if you wanted to limit your choices using the original listchoices( function to only items that have already appeared in your field two or more times you would add the additional options:

 popupatmouse arraysort(listchoices(YourField,cr(),2),cr()),YourField,YourField

The code you decide to use would be placed in the Code pane of the Properties panel for the field you are using. Any existing choices you have in the Choices pane for that field must be removed.

Thanks a lot, gary and KJM. Just seen your replies today. First, I’m going to translate into my own native language, then I guess I’ll manage to get through it.