Update GetBindingInfoFromFieldPath to support viewmodel inside another viewmodel. Add unittest for the function.
Add DoesInitializeAtConstruction on the view class. That is to support manual initialization. When the flag is false, the user is responsible for initializing the view.
Add ReevaluateSourceCreator. A source that was discovered at compile time and added to the list of SourceCreator may need to be evaluated if the path contains notify. That function is similar to SetViewModel but finds the new value from the SourceCreator.
Fix issue when a binding destination can't be evaluated at initialization. Since we only reactivate the bindings link to a source in SetViewModel, some bindings were never registered and never executed after the SetViewModel properly set the binding destination.
Update the view class ToString functions with the new flags.
Prevent adding a new binding when the editor data contains a conversion function and a regular function. That may occur when the user started with a regular binding and changed it afterward for a conversion function. We may not want to reset the binding to be non destructive.
#prefligth 6419e837bb1320be412d274d, 641b068aee0aed13479e6ea3
[CL 24750233 by patrick boutot in ue5-main branch]
- Add a border on each MVVM binding row in the list view of bindings that changes color to red/yellow if there is any error/warning for that binding
- detect if a property is bound to both a MVVM binding and a legacy binding at the same time and add a warning for it.
#jira UE-170983
#jira UE-170403
#rb patrick.boutot, vincent.gauthier
#preflight 6414c614ca2afe3ee6b1c7c8
[CL 24695764 by zahra nikbakht in ue5-main branch]
Add an option to show the detail view in the binding panel. This prevent the bad memory access in the customizer used by a the binding panel.
#preflight 640b5c260e1f02786bff27f5
[CL 24603096 by patrick boutot in ue5-main branch]
Fix the IsBindingValid error message that do not include the full property type.
Fix field picker that do not show function when there is no filter.
Support array of object binding (the same way BP does).
#jira UE-164316
#preflight 63ee4b41b5262f41ae2f7594, 63ee50a43c1eb56f052d3b64
[CL 24292264 by patrick boutot in ue5-main branch]
UCLASS(meta=(MVVMAllowedContextCreationType="Manual|CreateInstance"))
#jira UE-164316
#preflight 63e5ad91f15c83b793edc3c3
[CL 24119664 by patrick boutot in ue5-main branch]
Add a new way to select the viewmodel uses by the UMG View. User can extend the Resolver and can implement their own logic.
#jira UE-171160
#rb devan.england, sebatian.nordgren
#preflight 63e412003c44c83044e73fe4
[CL 24100372 by patrick boutot in ue5-main branch]
Move GlobalCollection to GameInstance subsystem.
Rename category from MVVM to Viewmodel.
#preflight 63d5e0bcba4fadeef09bdfc2
[CL 23927160 by patrick boutot in ue5-main branch]
#rb dan.oconnor
#preflight 63d83f963656ea96dc2a0a4c
#jira UE-173747
"Crash occurs when scrolling down through files in Review Changelist window upon loading of asset"
- certain widget blueprints were crashing the review tool because we were working around the inability to diff against nullptr by constructing temprorary empty objects. This approach circumvents that problem entirely
#jira UE-173231
"Changelist Review tool allows diffing against previous revision for Deletion changes"
- while this jira suggests that the ability to diff deletion changes is a bug, it was actually an intended feature. The real bug was that it would crash or fail to work in many cases. This has been fixed by either asset diffing against nullptr or text diffing against an empty file (depending on circumstance)
#jira UE-174610
"Reviewing Changelist with Deletion Changes results in LogLinker warnings & LoadErrors"
- deletion changes were trying to load the new revision of files but obviously it doesn't exist because it's a deletion. Fixed by only loading the previous revision
note: since the review tool is going to be "Production Ready" in 5.2, these changes are neccesary for stability
[CL 23924072 by jordan hoffmann in ue5-main branch]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2
#preflight 63d09351574ab9cae4670216
#rb none
[CL 23844750 by henrik karlsson in ue5-main branch]