Relations Dialog: Display Issue


Sometimes there are some checkboxes and text missing in the area “Key Options” of the “Relations” dialog in the Database Options.

It seems to be a screen refresh issue. It helps to click a different tab in this dialog and then to click the Relations tab again.

Unfortunately this is a general issue with tabs, it occurs elsewhere as well. A solution would appear to involve completely re-writing all the core code of Panorama’s form engine. I hope to do that eventually, but it looks like a project that would take a significant fraction of a year.

In this dialog, it occurs every time if the dialog is closed with the Relation panel open. Clicking on a different tab and back fixes the problem every time.

I’ve been staring at this issue for a month, and I agree it’s annoying. I just kind of blocked it out in my mind because I was concentrating on getting the relation feature working. But since you brought it up, that un-blocked this visual issue for me.

I just spent an hour trying to see if I could come up with a hack that could get it to work without months of work. I failed, it would never work if there was any kind of background on the box.

So, I made a different hack. Now if you open the dialog with the Relations panel already selected, this area will appear with no background.

It doesn’t look great, but definitely better than these buttons being invisible. If you tab to this panel, it has the bezel background like it’s supposed to.

Oh by the way, I know that the real solution involves months of work because this is something I spent about a week researching a couple of years ago. I put it on the back burner when I realized I would have to drop everything else for possibly months to get to the bottom of the problem. Some of Apple’s code doesn’t like how I’m twisting it to get it to work in a graphical editor – Apple really didn’t intend for it to be used that way. But using Apple’s code is the only way to guarantee that it looks exactly right on whatever version of macOS the user is running.