[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Arrow of NSMenu
From: |
Riccardo Mottola |
Subject: |
Re: Arrow of NSMenu |
Date: |
Sat, 06 Apr 2013 18:29:31 +0200 |
User-agent: |
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 |
Hi,
I am a little in doubt here, I think Fred has some valid points.
Fred Kiefer wrote:
Hi Eric,
I don't like this change very much and will try explain why. This does
not mean that I doubt the technical correctness of this patch. I just
think we should try to find a better solution.
- First off, I don't really see the issue here. This may be because I
don't use themes. But can somebody please explain what would be the
problem with using the official names for images in themes? Riccardo
already stated that things would work when using the name NSMenuArrow.
Well, but if we have a remapping it should work. IE. our actual file is
common_3DArrowRight.tif in the standard theme, why shouldn't that be
true also in the theme-supplied images?
- The big doubt I am having with the change is that now GSTheme has to
know about that name mapping which was internal to NSImage up to now.
A solution where similar code would be used inside the NSImage method
_setImagePath:name: seems a lot cleaner to me. If we build up that
reverse map you are using, all the necessary information should be
available in that method. I think this would belong into the else case
of the if (image != nil) test you introduced.
- Another way to get rid of the problem would be to completely remove
the name mapping from NSImage. I am a bit reluctant to propose this.
That mechanism has been around for a very long time and it allows us
to have clearer names. But with the theme code in place this mechanism
isn't needed that much any more.
Well, mapping works with the "default theme". I too don't like that
GSTheme shouldn't know about the remapping.
You ask for NSArrow, the mapping converts it to another name, now this
other named image could be in the default theme or in a supplied theme.
I actually do not understand where the mechamism breaks.
Riccardo