Come to WWDC this year! I’ll be giving a great talk on advanced control and cell creation with Cocoa:
120 Beyond Buttons and Sliders: Complex Controls in Cocoa
Learn how you can quickly and efficiently create sophisticated Cocoa user interface elements for your application. Get practical guidance on how to extend Cocoa control objects like the table view and outline view using your own custom cells, and how to customize menus in a variety of ways.
Copied from: WWDC 2006 – Session Descriptions
I hope its a good one. I plan to attend. I hope you go way beyond, because making a sqaure pink button is easy, making custom sliders of ODD shapes and sizes is HARD. Oh, and animated buttons too.
Steve — my current plan is to highlight NSTableView/NSOutlineView. Many people have trouble adding “highlight” animations (ie: hot buttons) for cells inside a table. I’ll show people how to do it. In addition, I’ll cover custom cell layout, cell methods and how they are used (in particular, in a complex control like a table), tracking inside cells, and other various things. A lot of the focus will be using new API that allows these things to be very easy to do; although, one could go back and implement the sample app on Tiger using existing API (if they wanted to — but it would be a lot more work!).
Do you plan to discuss custom controls made of multiple cells?
This is really one of the topic that has never been covered by Apple in any way (no valuable documentation, no sample codes, GNUStep source code does not help a lot, etc.)
I’m wondering if anyone outside Apple knows how this is and shall be done.
FWIW, NSTableView and NSOutlineView sounds Déjà Vu, tracking might prove interesting as one of Cocoa bad point is that tracking has always been flawed (both for cursors and tracking rect).
Stephane: I will be discussing subclassing NSOutlineView and working with custom cells, so yes — it is a custom control with multiple cells. This isn’t hard to do. Really, it is easy and performant enough to create a one-view-one-cell control today, that there isn’t a great need to do much more than what tableview/outlineview/browser/matrix do for you.
Regarding tracking in a table/outlineview: come to my talk! I’ll cover this.
Hi Corbin,
Any chance that you can publish your “WWDC: Beyond Buttons and Sliders: Complex Controls in Cocoa†lecture after the WWDC is over for those of us who are very interested to hear it but don’t have the option of going to the WWDC?
Thx, Tim (The Netherlands)
Hi Tim (and others),Â
I would love to post the sample code and talk information, but the talk covers a lot of new Leopard features, which we are only previewing to WWDC attendees. The source will eventually appear on the developer site, and/or ship as a sample app with Leopard.Â
I may try to highlight specific non-Leopard things in individual blog entries, however, I took advantage of a lot of cool new Leopard abilities.
thanks,
corbin