Hello all,
I've recently switched to tcl/tk 9.0 and I discovered what seems to be an issue with image-based themes having an image for the treeview item open/ close indicators.
In tcl/tk 8.6, the styling for these indicators are usually done via something like this:
ttk::style element create Treeitem.indicator \
image [list $image_for_closed \
user1 $image_for_open \
user2 $image_for_no_children \
] ...
But this doesn't seem to work in tk 9: now all items have an indicator showing the image_for_closed whether they have children or not, and
whether the item is opened or not.
I suspect a change in the names for the states "user1" and "user2" - which were admittedly not very user-friendly - but I just can't find any
reference for these, and by what I should replace them in tk 9 if that's indeed the problem.
Any pointers would be greatly appreciated.
Thanks!
--
Eric
Am 03.02.2025 um 11:22 schrieb Eric Brunel:
Hello all,
I've recently switched to tcl/tk 9.0 and I discovered what seems to be
an issue with image-based themes having an image for the treeview item
open/ close indicators.
In tcl/tk 8.6, the styling for these indicators are usually done via
something like this:
ttk::style element create Treeitem.indicator \
image [list $image_for_closed \
user1 $image_for_open \
user2 $image_for_no_children \
] ...
But this doesn't seem to work in tk 9: now all items have an indicator
showing the image_for_closed whether they have children or not, and
whether the item is opened or not.
I suspect a change in the names for the states "user1" and "user2" -
which were admittedly not very user-friendly - but I just can't find
any reference for these, and by what I should replace them in tk 9 if
that's indeed the problem.
Any pointers would be greatly appreciated.
Thanks!
-- Eric
Thanks, Eric,
I lightly remeber some discussion on this by Csaba, when those images
passed to svg format with Tk 9.
It would be worthwile to post this as tk bug, as the migration notes
dont mention this: https://core.tcl-lang.org/tk/wiki?name=Migrating+scripts+to+Tk+9&p
Thanks,
Harald
In tcl/tk 8.6, the styling for these indicators are usually done via something like this:
ttk::style element create Treeitem.indicator \
image [list $image_for_closed \
user1 $image_for_open \
user2 $image_for_no_children \
] ...
But this doesn't seem to work in tk 9: now all items have an indicator showing the image_for_closed whether they have children or not, and
whether the item is opened or not.
I suspect a change in the names for the states "user1" and "user2" - which were admittedly not very user-friendly - but I just can't find any
reference for these, and by what I should replace them in tk 9 if that's indeed the problem.
Le 03/02/2025 à 11:22, Eric Brunel a écrit :
In tcl/tk 8.6, the styling for these indicators are usually done via
something like this:
ttk::style element create Treeitem.indicator \
image [list $image_for_closed \
user1 $image_for_open \
user2 $image_for_no_children \
] ...
But this doesn't seem to work in tk 9: now all items have an indicator
showing the image_for_closed whether they have children or not, and
whether the item is opened or not.
I suspect a change in the names for the states "user1" and "user2" -
which were admittedly not very user-friendly - but I just can't find
any reference for these, and by what I should replace them in tk 9 if
that's indeed the problem.
I think [527cb3cd5d] could shed light on this:
https://core.tcl-lang.org/tk/info/527cb3cd5d
Regards,
Francois
On Mon, 3 Feb 2025 20:50:23 +0100, Francois Vogel wrote:
Le 03/02/2025 à 11:22, Eric Brunel a écrit :
In tcl/tk 8.6, the styling for these indicators are usually done via
something like this:
ttk::style element create Treeitem.indicator \
image [list $image_for_closed \
user1 $image_for_open \
user2 $image_for_no_children \
] ...
But this doesn't seem to work in tk 9: now all items have an indicator
showing the image_for_closed whether they have children or not, and
whether the item is opened or not.
I suspect a change in the names for the states "user1" and "user2" -
which were admittedly not very user-friendly - but I just can't find
any reference for these, and by what I should replace them in tk 9 if
that's indeed the problem.
I think [527cb3cd5d] could shed light on this:
https://core.tcl-lang.org/tk/info/527cb3cd5d
Regards,
Francois
Thanks for that. I've seen the argument about not using internally states that are supposed to be user-defined, and I can understand that,
especially considering this never seemed to be correctly documented.
Now no more being able to do in themes what was possible in tk 8.6 is a
bit of a shame. Which brings the question: why have internal states at
all? The states 'open', 'leaf', 'first' and 'last' are indeed very
specific to some elements, but as long as they can be used in themes, it might be nice to actually have them named and usable...
Thanks again!
Eric
Eric,
I think, this should be solved.
Please discuss in the ticket.
We have a public Tk telco today 16:00 UTC on the TCL Jitsi.
Maybe, we may speak about this.
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 1,029 |
Nodes: | 10 (0 / 10) |
Uptime: | 151:01:34 |
Calls: | 13,333 |
Calls today: | 3 |
Files: | 186,574 |
D/L today: |
3,477 files (916M bytes) |
Messages: | 3,355,807 |