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