Ok, so .. at the end I managed to find the correct solution

-(void) showModal
    [myWindow setLevel: NSStatusWindowLevel];
    [myWindow center];
    [myWindow orderFront: self];
}

-(IBAction)delayWindow:(id)sender {
    [myWindow orderOut: self];
}

also thank those Keary Suska, that he brought me back on track :)

Daniel



On Feb 15, 2010, at 17:19 , Keary Suska wrote:

On Feb 13, 2010, at 7:53 AM, Daniel Káčer wrote:

I have a NSPanel that is opened like Modal panel:

-(void) showModal {
   [NSApp runModalForWindow: myWindow];
}

and is closed with event click on button that is allocated on this NSPanel:

-(IBAction)delayWindow:(id)sender {
  [NSApp abortModal];
//[myWindow orderOut: self];
  [myWindow close];
}

First calling of runModalForWindow: works fine and NSPanel is in modal status but after calling delayWindow and after then second calling of showModal is NSPanel correctly showed but is not in Modal status :( What i do wrongly and why is not my NSPanel in Modal status after second, third etc. calling of showModal ?

The proper way to end a modal session within the modal event loop is to use -stopModal or -stopModalWithCode: . Try that and keep the - orderOut call (not because it is necessary, just that it is a good practice for windows you know you will re-use without re-loading).

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 arch...@mail-archive.com

Reply via email to