Re: NSPanel, changing the look of the min button
Re: NSPanel, changing the look of the min button
- Subject: Re: NSPanel, changing the look of the min button
- From: Tony Romano <email@hidden>
- Date: Mon, 2 Aug 2010 16:16:27 -0700
Honestly guys, I have no devious motives here ! :-) I am not trying to take any shortcuts, I am just trying to learn the correct way to do things. There are programs such as Photoshop, OmniGraphSketcher that do similar things. For this UI, I am trying to follow precedence. I know the Omni code is completely custom drawn. I know Photoshop doesn't use cocoa as of CS4 so it must be custom as well.
Right now I have 4 inspectors, it may go to 5 but thats about it. I can easily put the disclosure triangle on the content view and be done with it. Unfortunately, I still don't understand what I need to do to make my original proposal work short of creating my own "Inspector Panel" class. Is it possible using NSPanel as it stands or do I need to do a bunch of custom code.
By using a tab-less NSTabView, NSTabViewItems and a NSToolBar combined with the NSPanel, I get like 80% of the functionality of nice inspectors. I can make the inspector show/hide while keep the Panel toolbar visible and other cool stuff. I realize that last 20% can consume a lot more time then I spent on the first 80% and, as you say, it may not be worth it.
I really appreciate the feedback!
-Tony
On Aug 2, 2010, at 3:51 PM, Quincey Morris wrote:
> On Aug 2, 2010, at 15:31, Tony Romano wrote:
>
>> Changing the argument to the correct flag gets me the button, however, setting the style doesn't have any effect. I moved the code to initWithContentRect: post the call to super, still no change. I introspected the view with F-Script and it has the bezel style I set but the window still draws the standard widget. Any other ideas?
>
> Yes -- don't do that. :)
>
> You're trying to take a shortcut by trying to get NSPanel to provide inspector behavior that it doesn't have. This is not a great idea, not least for the reason that it risks breaking when panels or the standard buttons are implemented differently.
>
> How many of these inspectors do you have? Unless you have a *lot*, it probably isn't worth spending your time to do it this way -- leave the panel title bar alone and put your disclosure triangle at the top of the panel content view.
>
> The behavior you're trying to imitate here (say, Photoshop's) is designed to deal with having lots and lots of inspectors, has a fairly complex implementation that doesn't entirely depend on standard NSWindow or NSPanel behavior (AFAIK), and goes hand in hand with lots of other sophistication, such as docking of palettes, draggable palette tabs, which are even more work that might not be appropriate for your app.
>
> Why not do the "obvious" thing (if you haven't already), and "waste" the height of the NSPanel title bar (put the disclosure triangle in the panel content view), and see who complains about it -- and, far more importantly, *what* they complain about. Maybe your real problem will be that you have too many inspectors, not that the individual inspectors are too big vertically.
>
> It seems to me that (unless you've gone through all of these factors already) you're indulging yourself in something similar to premature optimization.
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> 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:
>
> This email sent to email@hidden
>
-Tony
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden