Description

"When using a UMG ListView widget, there seems to be two ways to be notified of item selection changes. An event on ListView which fires when the selection state of any item changes, and an event on the UserListEntry interface which according to the documentation is supposed to fire when the selection state of the item associated to a given entry widget changes. However, that second event never seems to fire."

 

UserListEntry blueprint interface is newly accessible in 4.20, so this is not a regression.

 

Also tested and occuring in Main CL 4302610

Steps to Reproduce

Example Project Attached

  1. Create a new blueprint inheriting from UserWidget, name it MyListEntry.  
  2. In the class settings of the MyListEntry blueprint, add the UserListEntry interface to the implemented interfaces. 
  3. In the event graph of the MyListEntry blueprint, implement the UserListEntry > OnItemSelectionChanged event. Set a breakpoint on the event node. 3. Create a new blueprint inheriting from UserWidget, name it MyList. 
  4. In the designer view of the MyList blueprint, add a ListView to the canvas, name it MyView. 
  5. Still in the designer view, select MyView. In the details panel, set the Entry Widget Class setting to MyListEntry, then click on the "+" sign next to the OnItemSelectionChanged in order to implement the event. (I needed to create a new MyListEntry from this menu since the one I created did not show up.)
  6. In the event graph of the MyList blueprint, set a breakpoint on the event node of OnItemSelectionChanged (MyView). 
  7. In the event graph of the MyList blueprint, implement the Construct event. In the implementation of that event, call the AddItem (Target is ListView) function. Set the Target input to MyView, and leave the Item input disconnected. 
  8. Add a custom HUD blueprint that implements the OnBeginPlay event and creates a MyList widget and adds it to the viewport. Setup the project so that the custom HUD is used. 
  9. Start a play session with the aforementioned breakpoints enabled. Click on the element of the ListView. Go through the triggered breakpoints. (Print strings set up in example project)

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-63179 in the post.

4
Login to Vote

Cannot Reproduce
ComponentUE - Editor - UI Systems
Affects Versions4.20.1
Target Fix4.23
Fix Commit5766256
Main Commit6838042
CreatedAug 21, 2018
ResolvedApr 8, 2019
UpdatedJun 4, 2019