• 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: Saving NSFonts and changedFont: trouble
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Saving NSFonts and changedFont: trouble


  • Subject: Re: Saving NSFonts and changedFont: trouble
  • From: Thomas Backman <email@hidden>
  • Date: Wed, 9 Apr 2008 20:11:29 +0200

Thanks! That worked indeed. I went the subclass route. In case someone stumbles upon this via google, my solution was (in my NSTextView subclass):
- (void)changeFont:(id)sender {
NSFont *oldFont = [self font];
NSFont *newFont = [sender convertFont:oldFont];
[self setFont:newFont];
// save newFont to defaults here...
[super changeFont:sender];
}


/Thomas

On Apr 9, 2008, at 6:55 PM, Todd Ransom wrote:
Thomas,

The responder chain is really the key to your question. The text view is getting the changeFont: message instead of your controller once it gets focus. How are you implementing the control that lets your user change fonts? Do you have a separate button/control for that or are you relying on the user to do it using the font panel?

If you want the user to do it using the font panel you can either override -[NSTextView changeFont:] to save the value and call super's implementation or you can implement the delegate method textView:shouldChangeTextInRange:replacementString: When the replacement string passed into this method is nil it means only attributes were changed in the text view. If it is an empty string it means some text was removed. Note that there are also other methods in NSTextView for other changes that you may also need to override (changeColor:, changeAttributes:) if you want to capture more than just font changes.

If you have a separate control for this you should not be messing with these methods at all, just write a method that will save the new font and apply to the text view.

Todd Ransom
Return Self Software
http://returnself.com



On Apr 9, 2008, at 10:25 AM, Thomas Backman wrote:
Hmm, I just noticed that if I do
  [mainWindow makeFirstResponder:textView];

It never works. In other words, when the text view IS the first responder, it breaks. Otherwise, it seems to work great.
I'll be honest, I don't understand the responder chain, and I'm about to read through cocoa fundamentals, but: could somebody give me a hint how to intercept/receive the message sent directly to the textview?


TIA
/Thomas

On Apr 8, 2008, at 4:41 PM, Thomas Backman wrote:
Hey everybody. I'm working on a small app - to make the post shorter, lets just say that it displays (plain) text, but I want the user to be able to pick the font used (the same font should be used for all the text).
Right now, I have a changedFont: method in my controller class, that changes the font successfully, and saves the font+size as a string and float. First off, is there a better way to save things? There has to be. Anyway, that wasn't my main question. More importantly, this does work, until you click in the textview... When that happens, changedFont: is no longer called, and the font stays the same.
Why? (It works again after an app restart.)
I've tried setting the textview delegate, and a sharedFontManager delegate, to my controller. (Not sure about what I'm doing here, as you might have noticed)


I realize I'm short on info, but I'm not exactly sure what info to provide, so please ask if you need more.

TIA
Thomas


_______________________________________________

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: 
 >Saving NSFonts and changedFont: trouble (From: Thomas Backman <email@hidden>)
 >Re: Saving NSFonts and changedFont: trouble (From: Thomas Backman <email@hidden>)
 >Re: Saving NSFonts and changedFont: trouble (From: Todd Ransom <email@hidden>)

  • Prev by Date: Re: some questions about creating image thumbnails
  • Next by Date: [OFF] unicode characters
  • Previous by thread: Re: Saving NSFonts and changedFont: trouble
  • Next by thread: Reformatting percent string to two decimal places
  • Index(es):
    • Date
    • Thread