6/24/08 12:21 PM, also sprach [EMAIL PROTECTED]:

> Is there a way to use class objects that wrap multiple IBOutlet objects?
> 
> The app I am working on has groups of interface elements that are
> repeated on the interface and in the code. Let me see if I can
> illustrate what I mean:
> 
> The window looks (slightly) like this:
> 
> (button_set_src_1) (add) (delete) (halt) (progressbar1)
> (button_set_src_2) (add) (delete) (halt) (progressbar2)
> (button_set_src_3) (add) (delete) (halt) (progressbar3)
> 
<snip>
> This is pretty klunky, and I would like something more like:
> @interface Element : NSObject
> {
> IBOutlet NSTextField          *src;
> IBOutlet NSProgressIndicator  *progressbar;
> IBOutlet NSTextField          *dest;
> IBOutlet NSButton             *halt;
> IBOutlet NSButton             *remove;
> IBOutlet NSTextField  *precentdone;
> }
> @end
<snip>
> But, while the code part seems easy enough, I am not sure how it
> would work with Interface Builder. Is it possible to create a custom
> class like that (Element), and place instances of it on a window in
> IBuilder, hook up the controls in the code? Maybe someone can help me
> with terminology or examples? I know what I want, but I don't know
> enough about Cocoa yet to express it.

I would have each "row" of controls as a vanilla NSView in a separate nib.
Your controller class, which would be the nib owner, could manage each "set"
of controls. You'll need to familiarize yourself with nib loading
(particularly NSNib's methods) and the cocoa drawing system (particularly
views and subviews, and the coordinate system), at least. There may be more
that I am not thinking of.

HTH,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"


_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to