Commit Graph

261 Commits

Author SHA1 Message Date
bob tellez
a974b2479b [Backout] - CL25038865
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Remove the specialized viewmodel editor and use the Blueprint base editor instead.
#jira UE-182297
#preflight 64381b51df20983c41604681

[CL 25050244 by bob tellez in ue5-main branch]
2023-04-14 17:07:03 -04:00
patrick boutot
a4220fc5fe MVVM: Remove the specialized viewmodel editor and use the Blueprint base editor instead.
#jira UE-182297
#preflight 64381b51df20983c41604681

[CL 25039205 by patrick boutot in ue5-main branch]
2023-04-14 09:07:11 -04:00
patrick boutot
6f0a33ca33 MVVM: Uses the BlueprintGeneratedClass for finding the FieldNotify flag make in Blueprint.
#rb none
#jira UE-182297
[FYI] Hilda.Cruz

[CL 25036262 by patrick boutot in ue5-main branch]
2023-04-13 21:46:29 -04:00
bob tellez
953cc7733b [Backout] - CL25027663
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Remove the specialized viewmodel editor and use the Blueprint base editor instead.
#jira UE-182297
#preflight 64381b51df20983c41604681

[CL 25035582 by bob tellez in ue5-main branch]
2023-04-13 20:30:11 -04:00
patrick boutot
ed5cdea372 MVVM: Remove the specialized viewmodel editor and use the Blueprint base editor instead.
#jira UE-182297

[CL 25032617 by patrick boutot in ue5-main branch]
2023-04-13 17:04:04 -04:00
patrick boutot
07f2ab96d8 MVVM: Fix false positive when detecting duplicated binding. Complex functions do not have a source and it's normal that it reuse the same compiled binding.
#rb none
#preflight none

[CL 25025595 by patrick boutot in ue5-main branch]
2023-04-13 10:55:58 -04:00
patrick boutot
733a813436 MVVM: Add the Broadcast field to the INotifyFieldValudChanged. Previously the viewmodel or widget implemented the functionality. The functionality was protected just because. Since we move it to a more engine wide feature and that it will be integrated with the Blueprint compiler it needs to be visible by Blueprint.
#jira UE-130880
#rb zahra.nikbakht
#preflight 643417d8b4329f6f1aded60b, 643693d04c0cdaea093962a7

[CL 25018215 by patrick boutot in ue5-main branch]
2023-04-12 19:00:11 -04:00
patrick boutot
67693ef1b7 MVVM: Fix SetViewModel that didn't trigger the child viewmodel binding when changed. Use QAGame UMG_MVVM_LongPath to test. The order the sources are added is important to make sure the bindings are executed in the correct order.
#rb yohann.dossantos
#preflight 642ebaca4847065878530573

[CL 24956638 by patrick boutot in ue5-main branch]
2023-04-06 16:59:04 -04:00
marc audy
6381600309 Move UMG/FieldNotification files to the FieldNotification module.
#jira UE-130880
#rb yohann.dossantos
#preflight 64259ab69834526476306f92, 642aee5a6a37fb35e9ba9926

[CL 24905939 by marc audy in ue5-main branch]
2023-04-03 22:29:35 -04:00
patrick boutot
465776669b MVVM: Test if the property handle has a valid value before fetching the data.
#rb yohann.dossantos
#preflight 6426f49691589478cd0a2aaa

[CL 24902629 by patrick boutot in ue5-main branch]
2023-04-03 18:08:02 -04:00
patrick boutot
06a212dc01 MVVM: Add option to not add the compiled result to the final GeneratedClass. Used for property validation.
[CL 24884489 by patrick boutot in ue5-main branch]
2023-04-01 02:41:19 -04:00
patrick boutot
a1a7c71500 MVVM: Fix bad logic in SetViewModel.
#rb none

[CL 24872971 by patrick boutot in ue5-main branch]
2023-03-31 12:04:40 -04:00
Patrick Boutot
d6af8a1dd4 MVVM: Remove warning when building the viewmodel setter graph. The cast not is not needed anymore.
#rb yohann.dossantos
#preflight 6426deeb2a0b706ac68f81d8

[CL 24871491 by Patrick Boutot in ue5-main branch]
2023-03-31 10:56:15 -04:00
zahra nikbakht
46c1dda2b6 Overload SetViewModel function to use the type instead of FName to search for a source viewmodel (if there are multiple, fails to set)
#jira UE-180279
#rb patrick.boutot
#preflight 64230794b72410fc17d6afbd

[CL 24832143 by zahra nikbakht in ue5-main branch]
2023-03-29 02:45:09 -04:00
jc authier
3781cabf4e MVVM:
- Fix wrong equality test in UMVVMViewModelBase::SetPropertyValue

[REVIEW] [at]patrick.boutot, [at]vincent.gauthier

[CL 24819429 by jc authier in ue5-main branch]
2023-03-28 11:19:05 -04:00
patrick boutot
f06ffa09ff MVVM: Fix false positive V758 error in MVVM code base. Fix bad variable initialization.
#jira UE-181105
#rnx
#rb none

[CL 24811077 by patrick boutot in ue5-main branch]
2023-03-27 18:30:57 -04:00
patrick boutot
33b88e8374 MVVM: Fix false positive V758 error in MVVM code base. Fix bad variable initialization.
#jira UE-181105
#rnx
#rb none

[CL 24771433 by patrick boutot in ue5-main branch]
2023-03-23 20:47:14 -04:00
zahra nikbakht
f6c07441c6 Disable/enable context filtering in MVVM binding creation through project settings or a temporary checkbox
#preflight 641c89d9a86ae7cbcce4dae3
#rb patrick.boutot
#jira UE-180197

[CL 24766690 by zahra nikbakht in ue5-main branch]
2023-03-23 15:27:54 -04:00
zahra nikbakht
4ef62bb887 Commit name change in MVVM viewmodel panel when focus is lost.
#preflight 641c65b1c42c7fd1cb4b6485
#jira none
#rb patrick.boutot

[CL 24762101 by zahra nikbakht in ue5-main branch]
2023-03-23 11:08:19 -04:00
patrick boutot
427ba04371 MVVM: Remove needs to have a SourcePath for ComplexConversionFunction. The source data is inside the function itself and the fieldnotify name is already saved in the class binding.
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]
2023-03-22 13:07:37 -04:00
patrick boutot
3d77bf6493 MVVM:
- Move the list of messages (errors, warnings, info) from the bindings themselves to the owning viewmodel.
- 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, UE-170403
#rb patrick.boutot, vincent.gauthier
#preflight 6414c614ca2afe3ee6b1c7c8
#p4v-cherrypick 24695764

[CL 24747288 by patrick boutot in ue5-main branch]
2023-03-22 10:27:59 -04:00
patrick boutot
ef78b89ffe MVVM: Uses FText::Identical to compare FText. We want the widget to have the correct key. It may cause the widget to update/redraw. If the value that corresponds to that key changes at runtime, the widget needs the correct representation.
#rb vincent.gauthier
[FYI] jc.authier
#preflight 641a087f691c5ebc15f28874

[CL 24746709 by patrick boutot in ue5-main branch]
2023-03-22 09:47:46 -04:00
Marc Audy
402cbf60a8 Fix clang compilation
#codereview zahra.nikbakht, patrick.boutot
#rnx
#preflight

[CL 24713330 by Marc Audy in ue5-main branch]
2023-03-20 01:29:22 -04:00
zahra nikbakht
e206fdedb6 - Move the list of messages (errors, warnings, info) from the bindings themselves to the owning viewmodel.
- 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]
2023-03-17 16:33:42 -04:00
patrick boutot
dbbd6b3ca3 MVVM: Fix null access to pointer.
#rnx
#rb none

[CL 24684921 by patrick boutot in ue5-main branch]
2023-03-17 01:07:44 -04:00