Alaska Software Inc. - :configure() disrupts the order of :tabStop
Username: Password:
AuthorTopic: :configure() disrupts the order of :tabStop
Itai Ben-Artzi:configure() disrupts the order of :tabStop
on Wed, 10 Mar 2021 15:08:26 -0800
Setting :tabStop := .T. moves the focus to the next Xbp, usually in
the order of the creation.  However,:configure() changes/disrupts that
order.  Is there a way to keep the original order of :tabStop even
after the call to :configure() any Xbp part?

Many thanks,

-Itai
ErikL Re: :configure() disrupts the order of :tabStop
on Fri, 18 Jun 2021 08:33:16 +0200
Op 11-3-2021 om 00:08 schreef Itai Ben-Artzi:
> Setting :tabStop := .T. moves the focus to the next Xbp, usually in
> the order of the creation.  However,:configure() changes/disrupts that
> order.  Is there a way to keep the original order of :tabStop even
> after the call to :configure() any Xbp part?
> 
> Many thanks,
> 
> -Itai
>
Hello all,

I have the same problem. The SLE is on position 8 in the list of sle's 
and pushbuttons. In SLE 7 I hit Tab, focus goes to SLE 8. Correct.

The killinputfocus of a numeric field (SLE on position 5) triggers the 
configuration of a text field (SLE 8) for the lenght to match the 
numeric value
After :configure() of the text field (SLE 8) it moves to the last 
position in the tab-order. When I hit Tab in SLE 7 focus goes to SLE 9. 
When I hit Tab from the last object (Pushbutton 15) on the drawingarea 
focus goes to SLE 8.

---
 Find SLE 8.
nField := ascan( aIctrl, { |x| x[IC_VNAAM] == VGB_DEFNN } )
 nLen is new number of characters in SLE 8.
aSize := { ( nLen * fsize[1] ), hsize[1] }
aIctrl[nField,IC_OBJ]:configure( , , , aSize )
---

All suggestions are welcome

Erik
Andreas Gehrs-Pahl
Re: :configure() disrupts the order of :tabStop
on Fri, 18 Jun 2021 17:54:05 -0400
Itai,

>Is there a way to keep the original order of :tabStop even
>after the call to :configure() any Xbp part?

No. The :Configure() method is like doing a :Destroy() and :Create(), which 
removes he object from the parent's child list and adds it back to the end 
(of that array). The simplest workaround is to apply a :Configure to all 
following objects, to move them back in the correct order.

Alternatively, sub-class the parent of those objects and handle the tab-stop 
list yourself.

Andreas

Andreas Gehrs-Pahl
Absolute Software, LLC

phone: (989) 723-9927
email: Andreas@AbsoluteSoftwareLLC.com
web:   http://www.AbsoluteSoftwareLLC.com
[L]:   https://www.LinkedIn.com/in/AndreasGehrsPahl
[F]:   https://www.FaceBook.com/AbsoluteSoftwareLLC