Hi, I'm using callback VALUECHANGED_CB with list control, to populate another list control, when user selects one item. Inside function, I use VALUE attribute to know what item was selected. But, my list controls don´t allow edition, or, EDITBOX=NO.
If this can help you, I use too AttributeHandle to link one list control with another list control, in C: Ihandle * ih = IupGetAttributeHandle(list, "list_city_uid"); ih will be populated according user selection. Best regards, Ranier Vilela ________________________________________ De: helen.wri...@atiras.com <helen.wri...@atiras.com> Enviado: segunda-feira, 14 de janeiro de 2019 12:55 Para: iup-users@lists.sourceforge.net Assunto: [Iup-users] Dropdown plus editbox -- how best to get value I have a list control (Place) with both dropdown and editbox true. The user can either select an existing value or enter a new one. Using IUP 3.5 with Lua under windows. If they select an existing value, I need to populate a second list control (Address) – also dropdown and editbox – with the known addresses for the selected Place. If they enter a new Place via the editbox, I need to eliminate duplicate spaces and check if it is still a new Place. If it’s not new, I need to select the ‘duplicate’ Place (the one they should have selected) and populate the Address list; if it is new, I need to update a lookup table and clear the Address list. I’m trying to determine the best call backs to use to implement this. Should I be using Action to detect is an existing item is selected? If I’m reading the documentation correctly, because it’s an editbox, Place.VALUE won’t tell me what the selected item is if it’s an existing item, but the text and parameters for the Action callback will? Or Valuechanged? Again, Place.VALUE won’t help for an existing item. Or should I be using a combination – if Action fires, then an existing item has been selected (does it fire if a new item is added?); and if Valuechanged fires, it’s a new item? Or might they both fire, in which case what would be the order. And if so, how do I define two callbacks within this (parameterised) structure: function MakeList(options) local l = iup.list{} if options.callback ~= nil then local callback = options.callback local ebox = (options.editbox or "NO") == "YES" if ebox then l = iup.list{valuechanged_cb = function(self) callback() end} else l =iup.list{killfocus_cb = function(self) callback() end } end end l.editbox = options.editbox or "NO" l.dropdown=options.dropdown or "YES" return l end _______________________________________________ Iup-users mailing list Iup-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iup-users