Mercurial > dwindows
changeset 2427:4f078d24fe83
iOS: Correct _dw_text_handle() behavior. Add UILabel/UITextView to controls
for dw_window_g/set_text(). Remove UIWindow since it would crash.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 04 Apr 2021 22:24:13 +0000 |
parents | 6220f0580088 |
children | 9c5b95d66fc8 |
files | ios/dw.m |
diffstat | 1 files changed, 24 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/ios/dw.m Sun Apr 04 19:06:23 2021 +0000 +++ b/ios/dw.m Sun Apr 04 22:24:13 2021 +0000 @@ -3162,18 +3162,23 @@ /* Return the handle to the text object */ id _dw_text_handle(id object) { - if([object isMemberOfClass:[ DWSpinButton class]]) + if([object isMemberOfClass:[DWButton class]]) + { + DWButton *button = object; + object = [button titleLabel]; + } + else if([object isMemberOfClass:[DWSpinButton class]]) { DWSpinButton *spinbutton = object; object = [spinbutton textfield]; } #if 0 /* TODO: Fix this when we have a groupbox implemented */ - if([object isMemberOfClass:[ NSBox class]]) + if([object isMemberOfClass:[NSBox class]]) { NSBox *box = object; id content = [box contentView]; - if([content isMemberOfClass:[ DWText class]]) + if([content isMemberOfClass:[DWText class]]) { object = content; } @@ -8098,21 +8103,22 @@ id object = _dw_text_handle(handle); char *retval = NULL; - if([ object isKindOfClass:[ UIWindow class ] ] || [ object isKindOfClass:[ UIButton class ] ]) - { - id window = object; - NSString *nsstr = [ window title]; - - retval = strdup([ nsstr UTF8String ]); - } - else if([ object isKindOfClass:[ UIControl class ] ]) + if([object isKindOfClass:[UILabel class]] || [object isKindOfClass:[UITextField class]]) + { + NSString *nsstr = [object text]; + + retval = strdup([nsstr UTF8String]); + } +#ifdef DW_INCLUDE_DEPRECATED + else if([object isKindOfClass:[UIControl class]]) { UIControl *control = object; NSString *nsstr = [control text]; if(nsstr && [nsstr length] > 0) - retval = strdup([ nsstr UTF8String ]); - } + retval = strdup([nsstr UTF8String]); + } +#endif DW_FUNCTION_RETURN_THIS(retval); } @@ -8130,13 +8136,15 @@ DW_FUNCTION_INIT; id object = _dw_text_handle(handle); - if([ object isKindOfClass:[ UIWindow class ] ] || [ object isKindOfClass:[ UIButton class ] ]) - [object setTitle:[NSString stringWithUTF8String:text]]; - else if([ object isKindOfClass:[ UIControl class ] ]) + if([object isKindOfClass:[UILabel class]] || [object isKindOfClass:[UITextField class]]) + [object setText:[NSString stringWithUTF8String:text]]; +#ifdef DW_INCLUDE_DEPRECATED + else if([object isKindOfClass:[UIControl class]]) { UIControl *control = object; [control setText:[NSString stringWithUTF8String:text]]; } +#endif else return; /* If we changed the text... */