|
From: Torsten B. <be...@ty...> - 2025-12-06 02:18:31
|
Hi, OK, there are some tiny details which look a bit different on recent macOS in addition the the selection colour/rectangle/focus. - the vertical column separators in the header cells are a little bit shorter on the mac, leaving more white space so they do more clearly separate from the bottom and top border of the header cell. In your implementation they seem to nearly touch the borders - the font in the header cell is not black but gray, this is also true for the arrow indicating the sorting order (that arrow is otherwise veeery close to the original, great) - something probably too complex: the header text of the column that is used for sorting not only has an arrow on the right but is also displayed in bold font - dragging a column works! However, on macOS the cursor changes to the typical "grabbing hand wearing a glove" during a grab (not sure whether this actually is the right way according to Apples own Human Interface Guidelines), the one that always reminds me of Mickey Mouse and is a relict from the classic Mac OS. I think this should correspond to the Tk cursor "closedhand". ttk::treeview only show it "drag" cursor when crossing the boundary to another column while macOS starts showing the grabbed hand already when starting to move the mouse (while being clicked). - not possible or at least very complex for Tk: macOS shows a shadow image of the column being moved and when crossing a column border, the other columns smoothly slide into their new place (many other non-native macOS apps don't do this either) - when resizing a column in the Finder, all other columns to the right stay the same widths and move along (opening a free empty column at the right side of the list when making a column narrower, in ttk::treeview the column to the right changes width and all other columns stay fixed. Is there a setting to change this behaviour? Maybe too complex. Ok, that's it for now. As I said, these are all quite tiny things and I can understand if they are either not possible or out of scope or just not worth the effort. The enhancement done by now are already impressive by themselves. You might want to check here if you want to learn more about how Apple sees design: https://developer.apple.com/design/human-interface-guidelines Cheers, Torsten > Am 05.12.2025 um 10:16 schrieb Brian <bri...@co...>: > > Forgot to ask, how does the rest of the widget look? Try the column move, drag selection, etc. Anything that doesn't seem Mac-like would be good to note. Thanks. > > On 12/4/25 7:12 PM, Brian O'Hagan wrote: >> Thanks. Yes, I've added a focus ring for the item or cell that has the focus. Read the TIP for why. Sorry about the color and size, I accidentally committed my internal test config of the 2 pixel green focus border. It should be a 1 pixel black border. I'll get that fixed. What is the usual focus ring color and size for Finder, Numbers, etc.? I'll try to use that for the Aqua theme. Also, you can turn it off with: >> >> ttk::style configure Row -focuswidth 0 >> >> >> >> I'll look over those test case failures. The off by a few pixels is a constant struggle. I recently switched to Open SuSE 16.0 which uses Wayland and now I get hundreds of Tk test failures. >> >> >> >> On 12/4/25 6:42 PM, Torsten Berg wrote: >>> Hi, >>> >>> I really appreciate your efforts to make ttk::treeview better! It deserves the attention! I am working with macOS (version 13.7.8 Ventura here on an Apple M1 chip). I have now tried it with the current trunk (from today, [info pa] returns "9.1a1") for both Tcl/Tk and the enhanced ttk::treeview. I then ran the test suite. There are 19 failed tests being reported. Most of them are just "off by 1" failures so I wonder how much this actually reflects an error. Anyway, here you go, I hope you can see whats going on (probably difficult when not running the code yourself and just looking at the output of the test suite): >>> >>> ... >>> >>> Tests ended at 2025-12-05 09:10:07 JST >>> all.tcl: Total 2082 Passed 2050 Skipped 13 Failed 19 >>> Sourced 19 Test Files. >>> Files with failing tests: treeview.test treeview_old.test >>> Number of tests skipped for each constraint: >>> 2 NA >>> 4 coreEntry >>> 1 creates_tag >>> 1 notAqua >>> 5 nyi >>> >>> >>> I also looked at the demo. Looks good with the limited testing I did. So far, only the colours of the selected items seem a bit odd. While before I had only a plain blueish background colour, I now also have a thick green outline around. This is not typical for a macOS style. >>> >>> Let me know if I should test something specific or provide other info. And again, thanks for your hard work! >>> >>> >>> Cheers, Torsten >>> >>> >>>> Am 02.12.2025 um 11:38 schrieb Brian O'Hagan via Tcl-Core <tcl...@li...> <mailto:tcl...@li...>: >>>> >>>> I've created TIP 740 which proposes numerous functionality and performance improvements to the Treeview widget. These address limitations of the widget and improve its performance and usability. A few highlights include: focus improvements, built-in search, built-in sort, interactive column moves, move to next/previous visible item, checks for child and selected items without retrieving the full list, set includes column #0, etc. A detailed list of the changes can be found in the TIP or the below repo. >>>> >>>> >>>> >>>> The implementation is about 99% done and includes a comprehensive test suite and updated documentation. I've tested on Windows with Tk 9.0.2 and OpenSuse 16.0 also with Tk 9.0.2 and all tests pass. There are a few minor nits to track down and fix, but otherwise it is ready for feedback from the general community. Please try it out and let me know what you think. >>>> >>>> TIP is at: https://core.tcl-lang.org/tips/doc/trunk/tip/740.md >>>> >>>> The files in the below repository replace the corresponding ones in Tk 9.0.x or 9.1. All changes planned for Treeview in Tk 9.0.3 and 9.1 are also included. There is a new demo in library/demos/treeview.tcl which shows off many of the changes and new functionality. Start it by sourcing the widget file, then select "6. An enhanced treeview demo". >>>> >>>> Implementation is at: https://chiselapp.com/user/bohagan/repository/Treeview/index >>>> >>>> At a future point I'll look into back porting it to Tk 8.6. >>>> >>>> Thanks >>>> >>>> _______________________________________________ >>>> Tcl-Core mailing list >>>> Tcl...@li... <mailto:Tcl...@li...> >>>> https://lists.sourceforge.net/lists/listinfo/tcl-core >>> >>> -- >>> >>> Dipl.-Biol. Torsten Berg >>> MariLim >>> Gesellschaft für Gewässeruntersuchung mbH >>> Aquatic Research GmbH >>> >>> Heinrich-Wöhlk-Straße 14 >>> 24232 Schönkirchen >>> Deutschland / Germany >>> >>> Fon: +49 (0) 4348 913 22 90 >>> Mail: be...@ma... <mailto:be...@ma...> >>> Web: www.marilim.de <http://www.marilim.de/> >>> >>> Geschäftsführung: Thomas Meyer und Anna Brüggemann >>> Handelsregister Kiel HRB 6068 >>> Ust-ID DE 226 493 042 >>> >>> Bitte beachten Sie unsere Grundsätze zur Datenverarbeitung: >>> <https://marilim.de/Datenverarbeitung.pdf> <https://marilim.de/Datenverarbeitung.pdf> >>> >>> >>> >>> _______________________________________________ >>> Tcl-Core mailing list >>> Tcl...@li... <mailto:Tcl...@li...> >>> https://lists.sourceforge.net/lists/listinfo/tcl-core > |