help changing first responder

Ask a Question related to Mac Programming, Design and Development.

  1. #1

    Default help changing first responder

    NSTextField is really kicking my ass... :-)

    If the user edits a text field and the value is invalid, I want to pop
    up an alert, restore the previous value, and keep the field as first
    responder. I can do the first two just fine in the text field action,
    but I can't figure out how to stop first responder from changing. First
    I tried makeFirstResponder. Then I figured the text field action is
    being sent before the event that caused it (tab, for example) is being
    processed, so I tried flushBufferedKeyEvents but that didn't work either
    (and anyway that wouldn't work for mouse clicks?). Out of ideas right
    now...

    Also, is using a formatter the only way to limit the number of
    characters in a text field?

    Thanks in advance,
    Jamal Bernhard Guest

  2. Similar Questions and Discussions

    1. Changing JPG in SWF through ASP
      I have a page with three frames. the left frame with images1 thumbnails, the right with images2 thumbnails. Both have Hyperlink in order to pass...
    2. Creating email auto-responder
      Hello, I am wondering how would I be able to develop an email auto-responder for POP mails? Do I have to use event gateways? If so which gateway...
    3. Changing text without changing frames.
      I have a small flash movie that is basically a color chooser. Rather than changing the color of an item by putting the color in a frame I change...
    4. #26101 [NEW]: FastCGI PHP fails as a local responder under Zeus 4.2
      From: david at geektech dot com Operating system: FreeBSD 4.9-STABLE PHP version: 5.0.0b1 (beta1) PHP Bug Type: CGI related...
    5. movie location changing when there's nothing changing its location
      I have a cross-platform program (each half using a different engine (quicktime for mac and MPEG Advance for pc). On both sides and on most computers...
  3. #2

    Default Re: help changing first responder

    In article
    <jamalbspambegone-E85813.02581916082003@news.sf.sbcglobal.net>,
    Jamal Bernhard <jamalbspambegone@pacbell.goawayspam.net> wrote:
    > NSTextField is really kicking my ass... :-)
    >
    > If the user edits a text field and the value is invalid, I want to pop
    > up an alert, restore the previous value, and keep the field as first
    > responder. I can do the first two just fine in the text field action,
    > but I can't figure out how to stop first responder from changing. First
    > I tried makeFirstResponder. Then I figured the text field action is
    > being sent before the event that caused it (tab, for example) is being
    > processed, so I tried flushBufferedKeyEvents but that didn't work either
    > (and anyway that wouldn't work for mouse clicks?). Out of ideas right
    > now...
    If that truly is the problem, then try something like this:

    [window performSelector:@selector(makeFirstResponder:)
    withObject:textField afterDelay:0.0];

    This will send makeFirstResponder: after your program gets back to the
    main event loop.
    Michael Ash Guest

  4. #3

    Default Re: help changing first responder

    In article <jamalbspambegone-E85813.02581916082003@news.sf.sbcglobal.net>,
    Jamal Bernhard <jamalbspambegone@pacbell.goawayspam.net> wrote:
    >If the user edits a text field and the value is invalid, I want to pop
    >up an alert, restore the previous value, and keep the field as first
    >responder. I can do the first two just fine in the text field action,
    >but I can't figure out how to stop first responder from changing.
    Your code to revert to the original value should be put into
    the 'textShouldEndEditing:' delegate for the text field or
    handled via the default code for it. This automatically
    handles cases where the new text is not acceptable for that
    field. See 'NSTextField' for documentation.

    Note that reverting to the earlier version of the text if the
    new text is unacceptable is /not/ the Macintosh way. You're
    meant to leave the new text exactly the way it is so that the
    user can modify it further. If they decide they want to
    revert to the original text they can use the 'Undo' menu item
    all by themselves.


    Simon Slavin Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139