Re: Newbie query re default buttons
Re: Newbie query re default buttons
- Subject: Re: Newbie query re default buttons
- From: Michael McLaughlin <email@hidden>
- Date: Thu, 22 May 2008 13:39:12 -0400
- Thread-topic: Newbie query re default buttons
>Robert Cerny wrote:
>Just FYI,
>[myButton setKeyEquivalent:@"\r"]; is the correct way to set button to
>Default. Are you sure that speakButton is not nil?
The button is OK.
I found that I could get the button to work by entering the Return key
equivalent in IB, stubbing out awakeFromNib. However, the *appearance* of
the button is still non-default.
Also, Hillegass instructs to set up the FirstResponder of the window to
point to the textField. I had done that earlier and thought that it might
be interefing so I eliminated it along with the entire textField in IB, then
made a new textField without messing with FirstResponder. I found that the
textField behaves just as though the FirstResponder still existed (perhaps
this is a new default behavior with a single textField). The button
appearance was not fixed.
So, right now, the button works as though it were the default (thanks to the
IB key equivalent field) but it does not *look* like a default button. I
searched again for some difference in what I did vs. what the
BackgroundExporter code looks like and cannot find any real differences.
Moreover, the debugger behaves as though all it well -- no errors, no nil
outlets.
BTW, all of this is with Xcode 3.0 and OS 10.5.2.
On 22.5.2008, at 16:51, Michael McLaughlin wrote:
> As a Cocoa newbie (after years of Carbon), I am working my way
> through the
> 3rd edition of Hillegass' book. I finished his SpeakLine example then
> thought I'd challenge myself by making the Speak button the default
> button
> -- but failed.
>
> I coded the following
>
> *** AppController.h
>
> @interface AppController : NSObject {
> IBOutlet NSTextField *textField;
> NSSpeechSynthesizer *speechSynth;
>
> IBOutlet NSView *windView; <-- content view, added
> IBOutlet NSButton *speakButton; <-- added
> }
>
> - (IBAction)sayIt:(id)sender;
> - (IBAction)stopIt:(id)sender;
> @end
>
> *** added to AppController.m
>
> - (void)awakeFromNib {
> [[speakButton window] setDefaultButtonCell:[speakButton cell]];
>
> // debugging
> NSButtonCell *def = nil;
> def = [[speakButton window] defaultButtonCell];
> }
>
> I made the connections in IB to both windView and speakButton and
> they look
> OK (compared to those in Apple's BackgroundExporter sample code. I
> tried
> using the content view as well as the button itself to get the window.
> Neither works. My button is not blue or pulsing and the Return key
> does
> nothing. The def variable *does* get the correct result (judging by
> self
> variables). Using windView to get the window does not help.
--
Mike McLaughlin
_______________________________________________
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