FROM : David Carlisle
DATE : Fri May 30 21:33:08 2008
This is the approach I ended up taking:
// in MyDocument.m
- (void) saveDocument:(id)sender {
[[self windowControllers]
makeObjectsPerformSelector:@selector(myPrepareToSave:)];
[super saveDocument:sender];
}
// in MyWindow.m
- (void) myPrepareToSave:(id)sender {
[[self window] makeFirstResponder:[self window]];
}
I couldn't find a more general save operation to modify in MyDocument,
so I modified both saveDocument, and saveDocumentAs. I can modify
others later if needed. I was thinking there might be something like
(BOOL) shouldSaveDocument, but I didn't see it.
The myPrepareToSave method in MyWindow allowed me to experiment with
the commitEditing method. I tried sending it to either my
NSWindowController or to the NSArrayController which is bound to the
NSCollectionView which contains the NSTextField that needed to end
editing. Neither approach worked, so I stuck with using
makeFirstResponder.
DC
On May 29, 2008, at 6:41 AM, Dave Fernandes wrote:
> Make the window the first responder in your document's saveDocument
> method...
>
> - (IBAction)saveDocument:(id)sender
> {
> NSWindow* window = [self windowForSheet];
> [window makeFirstResponder:window];
> [super saveDocument:sender];
> }
>
> On May 28, 2008, at 11:15 PM, David Carlisle wrote:
>
>> If I'm adding text to an NSTextField, then I select Save, somehow
>> the message needs to get to the NSTextField wherever it is that it
>> needs to terminate editing and send its contents to the model
>> before the model is saved. I don't see how I should go about
>> implementing that? Any suggestions are welcome.
>>
>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (<email_removed>)
>>
>> 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/dave.<email_removed>
>>
>> This email sent to dave.<email_removed>
>
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> 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/<email_removed>
>
> This email sent to <email_removed>
DATE : Fri May 30 21:33:08 2008
This is the approach I ended up taking:
// in MyDocument.m
- (void) saveDocument:(id)sender {
[[self windowControllers]
makeObjectsPerformSelector:@selector(myPrepareToSave:)];
[super saveDocument:sender];
}
// in MyWindow.m
- (void) myPrepareToSave:(id)sender {
[[self window] makeFirstResponder:[self window]];
}
I couldn't find a more general save operation to modify in MyDocument,
so I modified both saveDocument, and saveDocumentAs. I can modify
others later if needed. I was thinking there might be something like
(BOOL) shouldSaveDocument, but I didn't see it.
The myPrepareToSave method in MyWindow allowed me to experiment with
the commitEditing method. I tried sending it to either my
NSWindowController or to the NSArrayController which is bound to the
NSCollectionView which contains the NSTextField that needed to end
editing. Neither approach worked, so I stuck with using
makeFirstResponder.
DC
On May 29, 2008, at 6:41 AM, Dave Fernandes wrote:
> Make the window the first responder in your document's saveDocument
> method...
>
> - (IBAction)saveDocument:(id)sender
> {
> NSWindow* window = [self windowForSheet];
> [window makeFirstResponder:window];
> [super saveDocument:sender];
> }
>
> On May 28, 2008, at 11:15 PM, David Carlisle wrote:
>
>> If I'm adding text to an NSTextField, then I select Save, somehow
>> the message needs to get to the NSTextField wherever it is that it
>> needs to terminate editing and send its contents to the model
>> before the model is saved. I don't see how I should go about
>> implementing that? Any suggestions are welcome.
>>
>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (<email_removed>)
>>
>> 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/dave.<email_removed>
>>
>> This email sent to dave.<email_removed>
>
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> 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/<email_removed>
>
> This email sent to <email_removed>
| Related mails | Author | Date |
|---|---|---|
| David Carlisle | May 29, 05:15 | |
| Dave Fernandes | May 29, 14:41 | |
| Kyle Sluder | May 29, 15:17 | |
| Roland King | May 29, 15:17 | |
| Mike Abdullah | May 29, 15:25 | |
| Jens Alfke | May 29, 16:40 | |
| David Carlisle | May 30, 21:33 | |
| Kyle Sluder | May 30, 22:09 | |
| David Carlisle | May 30, 22:15 | |
| Sean McBride | May 30, 22:17 | |
| David Carlisle | May 30, 22:25 | |
| Mike Abdullah | May 31, 01:33 | |
| David Carlisle | May 31, 02:03 |






Cocoa mail archive

