Use the Tag property instead. It is available in the three platforms and can be set with the designer.
Ok, thanks. I was looking at the "XUI View Example - B4J" and when I traversed the nodes, some of the nodes already had values in some of the node.id and node.tag properties that were not put there in code or the designer (see below). I wondered how they got there and I wasn't sure if node.id could be useful for the programmer. If the id property is only in B4J then I will have to use the Tag property instead.
Where did these values come from?
i=0
ListOfButtons.Initialize
For Each v As Node In MainForm.RootPane.GetAllViewsRecursive
i=i+1
Log($"(${i}) node.id="${v.Id}" node.Tag="${v.Tag}""$)
If v.Id = "Btn" And v Is Button Then
ListOfButtons.Add(v)
End If
Next
Dim ii As Int = 0
For Each b As Button In ListOfButtons
b.Text = "Num " & ii
ii = ii + 1
Next
(3) node.id="arrow-button" node.Tag=""
(4) node.id="arrow" node.Tag=""
(5) node.id="list-view" node.Tag=""
(6) node.id="virtual-flow" node.Tag=""
(92) node.id="" node.Tag="clear"
(94) node.id="" node.Tag="v"
(104) node.id="" node.Tag="reveal"
(106) node.id="" node.Tag="v"
Is there any way to reference in code the View's Name (or Node's name) that is defined in the Designer without having to duplicate it in the Tag property? Most languages allow finding the view/control via its name. I find it redundant to have it in 2 locations (Name & Tag) because updating the view name means updating the tag as well.
TIA