Listbox header doesn't stand out in Sierra, High Sierra

In at least Sierra and High Sierra, the listbox header is plain white with nothing to distinguish it from and other row in the listbox. And, there is no line separating the header from the top row of the listbox.

Anyone else seen this?

https://forum.xojo.com/43864-custom-listbox-header

Yeah, seen that. I don’t, at this point, want to start making that sort of change. I’d just like the header to appear to be an obviously different sort of animal than any other row in the listbox, just as it does under e.g. OS X Mavericks, which I use.

The NSTable / Listbox header was changed from it’s Aqua look of 10.9 (Mavericks) to the new flat UI design.
This is how they look now.

Is Xojo no longer drawing the listbox header for 10.9 in the Aqua style?

The Listbox header really needs some work…

Sure it should default to the current OS UI style regardless of if one likes it or not, but there should be paint events where we can change the style when we need to for specific uses…

Also being able to change the height would be nice as well so we can have more than one line in column header when needed!

which is exactly why I did what I did :slight_smile:

[quote=357569:@Tim Parnell]The NSTable / Listbox header was changed from its Aqua look of 10.9 (Mavericks) to the new flat UI design. This is how they look now.

Is Xojo no longer drawing the listbox header for 10.9 in the Aqua style?[/quote]

Yes, but I had a user complain about the way the listbox header looks under the flat look. And I agree, it doesn’t look very good:

  1. Header looks just like any other row. It could be made pale grey, f’rinstance.

  2. There is no line separating the header from the first row, which looks weird. Could usefully have a 2-pixel separator. F’rinstance.

pleonasm: a user always complains :wink:

  1. File a bug report with Apple about how your customers are complaining over Apple’s UI decisions.
  2. If your listbox doesn’t use resizable columns, you can easily write your own listbox header using a canvas.

You’re not going to believe this, but Apple refer to the Crayola look of the macOS as “Aqua”, even though it looks nothing like “Aqua” of the past.

I suggested during the Yosemite beta period that Apple call the flat interface something else as it’s not “Aqua”.

That is exactly what I posted above… that class goes a bit farther, synching automagically with its child listbox for column width etc… I use it it all my projects that require a listbox header… by default it matches the rowheight of the listbox, but that can easily be altered if required… for that matter all aspects can be altered very easily… or and it I didn’t mention… its FREE :slight_smile:

I’ve not looked at yours.

I’ve thought about doing one, but if I did, I would want it to support ALL of the functionality of the built in header (with a similar API)… which I think is doable with some work… But I also felt I would need to be able to reproduce the current platform UI look ( though even then be able to change the height and set header text styles independently from the rest of the listbox)…

It was supporting automatically doing the latter Xplatform (reproducing the current platform UI look across OSes and OS versions) that stopped me.

  • Karen

Mine does work on macOS and Windows… as a matter of fact it just got a major update as I used it as part of my TadPole Project

True, but from my quick look just now, it’s default appearance does not appear to be OS savvy …

Also I fairly often need to do horizontal scrolling and like to support column resizing, so I need a more comprehensive solution.

I would have written one myself already, but as i said, I have no clue of how to get it to look “at home” on all the OSes and OS versions in a future proof way. I suspect that would require declares and some graphics skills I don’t have… so I stick with the built-in one.

That is what stops me from creating more of my own controls from scratch, and why i stick to subclassing existing controls most of the time.

  • Karen

on purpose…
I wrote it to allow the developer to do what they wished appearance wise, while not having to worry about the details

but as I say about all the free stuff I offer… use it if you wish, and don’t if you don’t wish

How many stupid decisions / changes have been done in the recent years from Apple ? Too many. I will only cite the behavior change of the green button (zoom feature) on the windows. I still make the error years after the change. Is suspec a change asked by a senior vp who does not know (or dislike) the original (since version 1 of mac os) zoom button. But this is just me.

And they never go back !

BTW: I do not talk about how multiple monitors and the location (set by the user) is displayed on the Monitors… because I do not have installed yet High Sierra (and never really installed Sierra) to talk about it.

The only solution is to let the l-things as is or use a work-around / a shared solution.

Hahahaha… that is soooo funny. Mail has a status bar showing information like how many mails are being loaded. The status bar is almost invisible because the color is just a nuance darker than the background. So I did a Radar thing. What was the result:

Any comments on this lovely reply? That is for text that is readable only by squinting at it.

[quote=357688:@Dave S]on purpose…
I wrote it to allow the developer to do what they wished appearance wise, while not having to worry about the details

but as I say about all the free stuff I offer… use it if you wish, and don’t if you don’t wish[/quote]

i try your sample but have no idea how to change the appearance

You could try out my version (free as well):

ListBoxHeading

Drop onto your project. There are notes within.

Simon.

experiment with the various color properties in the PAINT event… this is where it draws everything… you have full control of the colors, where text is positioned, if sort arrows appear or not… even what symbol to use for those arrows

ok… will give it a try