Hi,

Let's keep the conversation on the mailing list :)

If GNUstep is tracking Cocoa, then this is the correct behavior. I didn't
know about -fieldEditor:forObject: (thanks!) so I examined the first
responder. For the sake of documentation, I'll post the code here. Again,
it's for OS X but I suspect that it should work under GS, too.

Providing a helper function that updates both the text field and the
editor's background color might be an interesting GNUstep-specific
extension to NSTextField class.

        [contactFirstNameTextField setBackgroundColor:[NSColor redColor]];

        [contactLastNameTextField setBackgroundColor:[NSColor redColor]];

        [contactCompanyTextField setBackgroundColor:[NSColor redColor]];

        if ([self.window.firstResponder isKindOfClass:[NSText class]])

        {

            NSText *textBox = (NSText*)self.window.firstResponder;

            /*

            for (NSResponder *parent = textBox.nextResponder; parent;
parent = parent.nextResponder)

            {

                if(parent == contactFirstNameTextField || parent ==
contactLastNameTextField || parent == contactCompanyTextField)

                {

                    if([textBox.nextResponder respondsToSelector:@selector
(setBackgroundColor:)])

                    {

                        [(id)textBox.nextResponder
setBackgroundColor:[NSColor redColor]];

                    }

                    break;

                }

            }

             */

            NSTextField *parent = [textBox parentTextField];

            if(parent == contactFirstNameTextField || parent ==
contactLastNameTextField || parent == contactCompanyTextField)

            {

                if([textBox.nextResponder respondsToSelector:@selector
(setBackgroundColor:)])

                {

                    [(id)textBox.nextResponder setBackgroundColor:[NSColor
controlBackgroundColor]];

                }

            }


        }


On Wed, Dec 7, 2011 at 06:11, Bluna Ratimonkey <obj...@gmail.com> wrote:

> Hi,
> A text field didn't generate a text view but invoke NSWindow's
> -fieldEditor:forObject: which will return a shared among many
> controls.
> I already have a working code, the one I posted. What I ask was if it
> is necessary to do it that way, or if set...Color: and it should also
> do that for me.
> Thanks,
> Bluna
>
> On Wed, Dec 7, 2011 at 8:24 AM, Ivan Vučica <ivuc...@gmail.com> wrote:
> > If I remember correctly, under OS X focusing a textfield generates a
> textview. I don't know what happens under OS X. Try fetching your first
> responder and drill your way back to the top of the responder hierarchy,
> inspecting the responder classes along the way.
> >
> > If you still have issues with this, fire off another mail and I'll send
> some code I wrote for OS X that changes color of the text field based on
> validation results for the currently entered text.
> >
> > Poslano s mog iPad uređaja
> >
> > 3. 12. 2011., u 22:18, Bluna Ratimonkey <obj...@gmail.com> napisao:
> >
> >> Hi,
> >> NSTextField didn't change color on set...Color: while editing, is that
> a bug?
> >>
> >> I have to hack like this to set the color directly
> >>
> >> [[[myTF window] fieldEditor:NO forObject:myTF]
> setBackgroundColor:color];
> >>
> >> Is that a correct way to hack it?
> >>
> >> Cheers,
> >> Bluna
> >>
> >> --
> >> /* Join Bluna Ratimonkey (漫画家) and build the real future for GNUstep !
> */
> >>    [@"http://mus3.sourceforge.net"; setNeedsYourHelps:YES!!];
> >>
> >> _______________________________________________
> >> Gnustep-dev mailing list
> >> Gnustep-dev@gnu.org
> >> https://lists.gnu.org/mailman/listinfo/gnustep-dev
>
>
>
> --
> /* Join Bluna Ratimonkey (漫画家) and build the real future for GNUstep ! */
>    [@"http://mus3.sourceforge.net"; setNeedsYourHelps:YES!!];
>



-- 
Ivan Vučica - i...@vucica.net
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to