• 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: Issue of NSStatusBar
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue of NSStatusBar


  • Subject: Re: Issue of NSStatusBar
  • From: Kyle Sluder <email@hidden>
  • Date: Wed, 27 Feb 2013 01:00:39 -0800

No. Don't do this. The class name might change at any time.

Do what I suggested. Check something which is under your control.

--Kyle Sluder

On Feb 26, 2013, at 10:59 PM, anni saini <email@hidden> wrote:

>
> I got the solution, just need to check for NSStatusBarWindow className as follows:
> if([awindow isVisible] && ![aWindow aboutWin] && ![aWindow loginWindow] && ![[aWindow className] isEqual:@"NSStatusBarWindow"])
>
> Thanks.
> From: Kyle Sluder <email@hidden>
> To: Anil Saini <email@hidden>
> Cc: "email@hidden" <email@hidden>
> Sent: Tuesday, 26 February 2013 9:35 PM
> Subject: Re: Issue of NSStatusBar
>
> On Feb 26, 2013, at 9:16 AM, Anil Saini <email@hidden> wrote:
>
> > Hi,
> >
> > I was facing issue of NSStatusBar getting closed by the [window close].
> >
> > In our application, we have used [NSStatusBar SystemStatusBar] to display menu. In a particular scenario, I need to close all the windows of my application except About and Login, so I wrote following function:
> > - (void)closeIrrelevantWindows
> > {
> >  NSSArray *allWindows = [NSApp windows];
> >
> >  for(NSWindow *aWindow in allWindows)
> > {
> >  if([awindow isVisible] && ![aWindow aboutWin] && ![aWindow loginWindow])
> >    [aWindow close];
> > }
> > }
> >
> > This call some times closes my NSStatusItem as well. Can anybody tell me whats wrong with the above code?
> > I checked NSStatusItem and NSStatusBar class reference both are derived from NSObject.
>
> In order to display anything, it needs to be placed in a window. Your code above is correct in that it doesn't send -close to any status bar items, but it *does* send -close to the invisible window that constrains them. That's why they disappear.
>
> You'll probably want to do some more careful checking of the windows prior to sending them -close. Perhaps check the class of their window controller or their delegate.
>
> --Kyle Sluder
>
>
_______________________________________________

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

References: 
 >Issue of NSStatusBar (From: Anil Saini <email@hidden>)
 >Re: Issue of NSStatusBar (From: Kyle Sluder <email@hidden>)
 >Re: Issue of NSStatusBar (From: anni saini <email@hidden>)

  • Prev by Date: Re: 2 icons showing in dock
  • Next by Date: Re: archiving report
  • Previous by thread: Re: Issue of NSStatusBar
  • Next by thread: archiving report
  • Index(es):
    • Date
    • Thread