• 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: Making 'return' Begin Editing, like Finder does
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making 'return' Begin Editing, like Finder does


  • Subject: Re: Making 'return' Begin Editing, like Finder does
  • From: Ricky Sharp <email@hidden>
  • Date: Sun, 3 Feb 2008 17:37:21 -0600


On Feb 3, 2008, at 5:30 PM, Jerry Krinock wrote:

I've implemented the following method in my NSTableView subclass which makes the 'return' key begin editing, like Finder does. It works, but I don't like that hard-coded keycode 0xd for 'carriage return'.

Well, you can always use NSCarriageReturnCharacter instead.

Also, Finder handles the Enter key as well to start editing. For that, use NSEnterCharacter.

Site note: Finder doesn't allow Control-M to also start editing; for shame :)

Is there a better way to do this? I tried to implement - insertNewline:, but it never gets invoked.

The insertNewLine APIs basically handle cases where you've already started editing. I think what you have below is a good approach.


- (void)keyDown:(NSEvent*)event {
   NSString *s = [event charactersIgnoringModifiers] ;
   unichar keyChar = 0 ;
   BOOL didDo = NO ;
   if ([s length] == 1) {
       keyChar = [s characterAtIndex:0] ;
       if (keyChar == 0xd) {
           // Unless editing is already in process, which is not the
           // case we're trying to handle here, an entire row will
           // be selected and therefore [self selectedColumn] will
           // be the "no selection" indicator, -1. So, we edit column
           // 0.  If the user wants a different column, they can
           // easily tab to it.
           [self editColumn:0
                        row:[self selectedRow]
                  withEvent:nil
                     select:YES] ;
           didDo = YES ;
       }
   }

   if (!didDo) {
       [super keyDown:event] ;
   }
}

___________________________________________________________ Ricky A. Sharp mailto:email@hidden Instant Interactive(tm) http://www.instantinteractive.com

_______________________________________________

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


  • Follow-Ups:
    • Re: Making 'return' Begin Editing, like Finder does
      • From: Jerry Krinock <email@hidden>
References: 
 >Making 'return' Begin Editing, like Finder does (From: Jerry Krinock <email@hidden>)

  • Prev by Date: Making 'return' Begin Editing, like Finder does
  • Next by Date: Re: receiving a file on app startup
  • Previous by thread: Making 'return' Begin Editing, like Finder does
  • Next by thread: Re: Making 'return' Begin Editing, like Finder does
  • Index(es):
    • Date
    • Thread