• 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: Minimizing Sheets
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Minimizing Sheets


  • Subject: Re: Minimizing Sheets
  • From: "Gerriet M. Denkmann" <email@hidden>
  • Date: Fri, 17 Oct 2008 17:48:52 +0200


On 17 Oct 2008, at 15:57, Jason Coco wrote:


On Oct 17, 2008, at 06:03 , Gerriet M. Denkmann wrote:


I have an app which overrides -[NSWindow miniaturize:] in a category (to avoid crowding the dock).
Works perfectly, but...


If this window being minimized has a sheet attached (attachedSheet is non-nil) this will be lost on deminiaturizing. But the modal loop is still running, waiting for some button to be pressed on the now invisible sheet.
In this case Force Quit is the only way out. Not very nice.


So, what can be done?
1. On miniaturize simulate a click on the "Cancel" button of the sheet. But how?

If you have a reference to the cancel button, you can send the performClick:(id)sender message to it on miniaturize...

Well, generally I have not.
E.g. sometimes someone (NSDocumentController?) runs a sheet stating that it did not know where to save, with the subtitle: "You can specify where to save it." and buttons: Cancel, Save As...



2. On deminiaturize reattach this sheet. But again: how?

In this case, when your miniaturization method is invoked, check to see if you are in the modal loop. If you are, abort the
loop, set a state variable (probably some private ivar) and miniaturize. When you de-miniaturize, check the state var and if
set, display the sheet and start the modal loop again...

I don't see how I could do this, when the sheet is run from a class not made by me (like NSDocumentController).
I messed around with abortModal, saving the sheet and then in de- miniaturize redisplay it with makeKeyAndOrderFront, but did not have any success.



3. (don't like this very much) refuse to miniaturize if a sheet is open.
So this still has to be my current workaround.


Kind regards,

Gerriet.

_______________________________________________

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: 
 >Minimizing Sheets (From: "Gerriet M. Denkmann" <email@hidden>)
 >Re: Minimizing Sheets (From: Jason Coco <email@hidden>)

  • Prev by Date: Re: Hand-building an Application Menu
  • Next by Date: Notification on Login Items change?
  • Previous by thread: Re: Minimizing Sheets
  • Next by thread: Re: Minimizing Sheets
  • Index(es):
    • Date
    • Thread