• 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: NSFontPanel for a modal window
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSFontPanel for a modal window


  • Subject: Re: NSFontPanel for a modal window
  • From: Kurt Sutter <email@hidden>
  • Date: Mon, 15 Jun 2015 08:44:50 +0200

Yes, you are right. The actual showing of the font panel occurs by calling

	NSFontManager*	shrdFontMgr = [NSFontManager sharedFontManager];
	[shrdFontMgr orderFrontFontPanel:textView];

This shows the font panel, but does not make it active. When I click into a new font of that font panel the changeFont: message of my text view is not called.

However, if I subsequently call

	NSFontPanel*	fontPanel = [NSFontPanel sharedFontPanel];
	[fontPanel makeKeyWindow];

The font panel becomes key window, and clicking a new font then invokes the changeFont: message.

As to Jack Brindle’s comment (thanks for that):
> As the docs say for runModalForWindow: the app is only getting events for that window. Everything see is ignored. Presumably this is the heart of the problem, although I wonder how the font window is being displayed if it cannot get events itself, assuming it is actually running inside your app.
>
> Take a look at the runModalSession: type of handling modal windows. This allows other things to happen while your modal window is up. This might be what you need to get the fontWindow to respond properly. I know we do something similar for modal windows, but don’t remember just what that is at present. I’ll try to remember to look tomorrow, but I hope you have the solution before then.
>
I have also tried runModalSesssion before, but just using a runModalSesssion loop instead of a call to runModalForWindow: does not change anything, the issue remains, and I have not found any way to make the font panel more responsive in that loop.


I am getting the impression that NSFontPanel has some basic issues when being run with a modal window.

Best

Kurt




> On 14 Jun 2015, at 23:52, Graham Cox <email@hidden> wrote:
>
>
>> On 14 Jun 2015, at 2:30 pm, Kurt Sutter <email@hidden> wrote:
>>
>> It does not help — the panel i actually already in front when it appears, and calling -orderFront: does not help. It only works when it is the key window.
>
>
> OK, it’s time to show your code.
>
> What’s odd is that you say your font panel is visible (or becomes visible) when you invoke [NSFontPanel sharedFontPanel]. If that’s what you’re saying, then it’s incorrect - just obtaining the shared font panel doesn’t normally make it visible or frontmost. So something else is going on.
>
> —Graham
>
>


_______________________________________________

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: 
 >NSFontPanel for a modal window (From: Kurt Sutter <email@hidden>)
 >Re: NSFontPanel for a modal window (From: Graham Cox <email@hidden>)
 >Re: NSFontPanel for a modal window (From: Kurt Sutter <email@hidden>)
 >Re: NSFontPanel for a modal window (From: Graham Cox <email@hidden>)
 >Re: NSFontPanel for a modal window (From: Kurt Sutter <email@hidden>)
 >Re: NSFontPanel for a modal window (From: Graham Cox <email@hidden>)

  • Prev by Date: Re: Language options: Objective-C, Swift, C or C++?
  • Next by Date: Re: Language options: Objective-C, Swift, C or C++?
  • Previous by thread: Re: NSFontPanel for a modal window
  • Next by thread: Re: NSFontPanel for a modal window
  • Index(es):
    • Date
    • Thread