On Aug 17, 2012, at 9:27 PM, Nick <eveningn...@gmail.com> wrote:
> I am wondering what does it take to make panels/buttons that
> customized, like it is done in Apple Aperture? Did Apple developers
> paint every dialog element manually? Are there some classes already
> available that would allow to "theme up" an app like this?

Mac OS X has no themeing support to speak of. What we did in Game Capture was 
essentially subclass all the controls and override drawRect: (and mouseDown: 
where needed) to get our custom graphics in there. We actually parameterized 
the image names, so that you can set a base name like BUTTON and it will look 
for graphics BUTTON.active.png, BUTTON.disabled.png, BUTTON.mousedown.png etc. 
You can fake a lot of custom UI just by having such a custom 
NSButtonCell/NSButton subclass.

Most of this is straightforward, Some gotchas are documented on my blog at:

http://orangejuiceliberationfront.com/building-a-custom-nsbutton/

and

http://orangejuiceliberationfront.com/themeing-nstableview/

The only thing that seems impossible with public API is theme NSMenu-based 
menus. You can go some of the way by using custom views for the menu items, but 
the top and bottom ends of the menu (about 4-8 px) are drawn in grey by the 
system. In 32-bit you can use Carbon to change that, but in 64-bit that's not 
officially available.

Cheers,
-- Uli Kusterer
"The Witnesses of TeachText are everywhere..."
http://www.zathras.de
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to