• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Displaying multiple NSView subclasses
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Displaying multiple NSView subclasses


  • Subject: Re: Displaying multiple NSView subclasses
  • From: Damien Sorresso <email@hidden>
  • Date: Fri, 15 Jul 2005 09:47:38 -0500

That's exactly what I was thinking, but for some reason I thought it was wrong. :)

Anyway, I follow you up until the part where you obtain the `NSView' from the controller object. I've already got a separate `.nib' file laid out, and I've set the File Owner to be the view's controller. Do I add an `IBOutlet' in the controller for the `NSView' and connect it to the `NSView' instance in the main IB window?

And as an aside, I'm shocked at how difficult it's been finding documentation for this type of thing. You'd think it was common enough in programming that there'd be some sort of tutorial out there.
-- Damien Sorresso
Macintosh Developer
Computer Infrastructure Support Services
Illinois State University
email@hidden
309.438.5777


On 15 Jul, 2005, at 9:40 AM, SA Dev wrote:
Oh. :-) That one's slightly more complicated.

The trick is to create a separate nib containing ONLY your view. This is the blueprint your app will use for constructing new instances of that view. I'm doing that exact thing right now for a 'rules editor' like Mail's rules.

Create the view nib. In the nib, you want a controller that handles all the stuff for that view's instance. In your app, you instantiate a new controller, then load the nib with that controller as its owner. You can then fetch the controller's IBOutlet to the view and add that view to the superview. You'll want to keep an array of 'controllers' that you've loaded (I call mine "ruleControllers". That way, you can keep track of all the views (by their controllers) for adding and removing and easy enumeration.

Loading secondary / ancillary nibs is documented in detail in a number of places and is a difficult subject to summarize. You'll want to check out the list archives and cocoadev.com (and cocoadevcentral.com, I believe, has a nice tutorial on this somewhere).



On Jul 15, 2005, at 10:32 AM, Damien Sorresso wrote:

Thanks for the tip on ZFlowLayout. It looks like exactly what I need to manage the views. But the next trick is programmatically adding the views to a ZFlowLayout. I've got the custom view all laid out, but what do I do next? In InterfaceBuilder, it's just named `View'. Do I need a separate controller object for this view? If so, how do I get multiple, distinct instances of the view I can manipulate separately?

Again, your help is greatly appreciated.

-- Damien Sorresso
Macintosh Developer
Computer Infrastructure Support Services
Illinois State University
email@hidden
309.438.5777

On 14 Jul, 2005, at 3:57 PM, SA Dev wrote:



I don't believe so. You might want to search the list archives at cocoabuilder.com - I think this is a FAQ.


If you decide to go without an NSTableView, you might want to search the list archives for "layout" (excluding "NSLayoutManager", which is a different topic). Also, you can search www.cocoadev.com for FlowLayout (I think). This lists an entire class source for performing layout of same-size views. The example is geared toward an iPhoto-like layout, but is an excellent tutorial for the much simpler, "list all my same-sized views vertically" task you're after.



On Jul 14, 2005, at 4:51 PM, Damien Sorresso wrote:


Interesting suggestion. Is it possible to make the background of NSTableView transparent? I'd like the views to be layered over the straight Aqua pinstripe background.
-- Damien Sorresso
Macintosh Developer
Computer Infrastructure Support Services
Illinois State University
email@hidden
309.438.5777


On 14 Jul, 2005, at 3:12 PM, SA Dev wrote:


Damien:

Why not use NSTableView? One column can use an NSImageCell, the other can be a title column, the other can be a button (for stop / reload, etc.). Recreating this functionality ('tiling' the views) is a lot of work compared to just learning how to use a table view. Hope this helps.

On Jul 14, 2005, at 3:54 PM, Damien Sorresso wrote:



I'm a little confused on how I can create an NSView subclass as a sort of template for things I want drawn later on. What I'm trying to do is basically akin to what Safari's download manager does: display multiple download objects in a view, each being different.

I started by dragging the CustomView widget to the main IB window and got a custom view. I laid it out like I want (an image well and a couple text fields), but after that I'm stuck on what to do. How do I manipulate and create new instances of the subclass within an NSBox subclass in the code?
-- Damien Sorresso
Macintosh Developer
Computer Infrastructure Support Services
Illinois State University
email@hidden
309.438.5777


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
email@hidden


This email sent to email@hidden
















_______________________________________________ Do not post admin requests to the list. They will be ignored. Cocoa-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: Displaying multiple NSView subclasses
      • From: SA Dev <email@hidden>
    • Re: Displaying multiple NSView subclasses
      • From: SA Dev <email@hidden>
References: 
 >Displaying multiple NSView subclasses (From: Damien Sorresso <email@hidden>)
 >Re: Displaying multiple NSView subclasses (From: SA Dev <email@hidden>)
 >Re: Displaying multiple NSView subclasses (From: Damien Sorresso <email@hidden>)

  • Prev by Date: Re: Cocoa class for queuing operations?
  • Next by Date: Re: Displaying multiple NSView subclasses
  • Previous by thread: Re: Displaying multiple NSView subclasses
  • Next by thread: Re: Displaying multiple NSView subclasses
  • Index(es):
    • Date
    • Thread