Commit Graph

30 Commits

Author SHA1 Message Date
patrick boutot
42657bf51b MVVM: Fix conversion function allow test when the graph is a wrapper.
[CL 26870847 by patrick boutot in ue5-main branch]
2023-08-05 11:50:12 -04:00
patrick boutot
d955ead9f4 MVVM: Fix bad format syntax.
#rnx
#rb trivial

[CL 26769442 by patrick boutot in ue5-main branch]
2023-08-02 09:11:30 -04:00
patrick boutot
b8b7b1e074 MVVM: Add option to generate conversion graph when compiling and not saved in the packages.
Useful when graph cannot be saved.
#jira UE-130879

[CL 26614927 by patrick boutot in ue5-main branch]
2023-07-26 14:04:59 -04:00
patrick boutot
38ce8d67f6 MVVM: Change error message when the field does not exist to include a posible solution to the problem. Test if the field exist on the downcasted struct instead of the previous property owner struct.
#jira UE-189649
#rb vincent.gauthier

[CL 26470072 by patrick boutot in ue5-main branch]
2023-07-19 16:38:38 -04:00
patrick boutot
96ed2dbc61 MVVM: Save the MemberReference with self context. That allow the path to be used in the skeletal compilation phase.
#rb editor-ui-systems

[CL 26053542 by patrick boutot in ue5-main branch]
2023-06-16 11:26:16 -04:00
patrick boutot
aa10b2b6b9 MVVM: Add the Auto ExecutionMode. It will decide at compile time if it should run the binding should be run immediately or delayed. A binding will be run in delay mode if the binding can be triggered from more than one field.
#rb vincent.gauthier
#preflight 646e13201b241f07482943d5, 646f3cb2bf15b1ab007a3d10

[CL 25644056 by patrick boutot in ue5-main branch]
2023-05-26 11:58:47 -04:00
patrick boutot
8245b6eba3 MVVM: Update compiler error message when the field is not found. It's probably because it's missing the FieldNotify
#rb none
#preflight 646e6542807b157b8b536a2a

[CL 25635288 by patrick boutot in ue5-main branch]
2023-05-25 19:34:26 -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
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
f643a8ba09 MVVM: Temporary remove the error warning until we fix some assets.
[CL 24679072 by patrick boutot in ue5-main branch]
2023-03-16 16:49:30 -04:00
patrick boutot
0f5123a168 MVVM: Add option to log all bindings after compilations. Complete the ToString library from CompiledBindings. Expose the LogMVVM to other MVVM modules. In the view, properly report error in the message log.
#jira UE-178313
#preflight 64130274bd6894c43518c04e
#rb daren.cheng

[CL 24673818 by patrick boutot in ue5-main branch]
2023-03-16 13:02:33 -04:00
patrick boutot
fb31ea2d89 MVVM: Test if the properties or functions are allowed at compile time.
#jira UE-164316
#preflight 63eaf47eb91ae11c1cf4ded7, 63ece0c9514832b242a0f66b

[CL 24289488 by patrick boutot in ue5-main branch]
2023-02-17 15:28:46 -05:00
patrick boutot
583f54b65e Revert properties or functions compile time test introdued with CL 24208984
[CL 24251749 by patrick boutot in ue5-main branch]
2023-02-16 01:58:19 -05:00
patrick boutot
82df764154 MVVM: Test if the properties or functions are allowed at compile time.
#jira UE-164316
#preflight 63eaf47eb91ae11c1cf4ded7, 63ece0c9514832b242a0f66b

[CL 24251528 by patrick boutot in ue5-main branch]
2023-02-16 01:48:06 -05:00
patrick boutot
50aed20739 Revert properties or functions compile time test introdued with CL 24208984
[CL 24215611 by patrick boutot in ue5-main branch]
2023-02-14 13:03:02 -05:00
patrick boutot
7dd604438f MVVM: Test if the properties or functions are allowed at compile time.
#jira UE-164316
#preflight 63eaf47eb91ae11c1cf4ded7

[CL 24213905 by patrick boutot in ue5-main branch]
2023-02-14 12:07:02 -05:00
henrik karlsson
9183978e29 [Engine/Plugins]
* Removed includes (using IWYU) in private files

#preflight 63c79978ac35a0e9dabbe408
#rb none

[CL 23770038 by henrik karlsson in ue5-main branch]
2023-01-19 00:48:07 -05:00
henrik karlsson
569f40ccd3 Attempt at fixing non unity on farm that I can't repro locally (how can it be!)
#preflight skipped
#rb none

[CL 23674777 by henrik karlsson in ue5-main branch]
2023-01-13 01:54:07 -05:00
henrik karlsson
2f78497e67 [Engine/Plugins]
* Updated private files with IWYU for all plugins which had 3 or less changes made in ue5 main since last integration to fn

#preflight 63bf8d8b577437afe607dc72
#rb none

[CL 23659643 by henrik karlsson in ue5-main branch]
2023-01-12 01:48:34 -05:00
sebastian nordgren
39201fd737 Fixed typo of NotifyFieldValudChangedClass -> NotifyFieldValueChangedClass.
[REVIEW] [at]patrick.boutot
#rnx
#preflight 63971923e15001c3065c7379

[CL 23480067 by sebastian nordgren in ue5-main branch]
2022-12-12 13:37:17 -05:00
sebastian nordgren
3fdafe9997 MVVM - Replaced all user-facing FStrings with FText. This includes all compiler error messages.
Binding display names now take into account complex conversion functions.

Complex conversion functions now compile correctly.

#rb patrick.boutot
#rnx
#preflight 633ebda6d910a076839e3ddf
#preflight 633ec514a712a61df1354aec

[CL 22388782 by sebastian nordgren in ue5-main branch]
2022-10-06 20:08:12 -04:00
Patrick Boutot
deb4338cda MVVM: Compile complex conversion functon and execute them as a regular binding.
#rb sebastian.nordgren
#prefligh 63062f5c5366f61a42bced80

[CL 21544671 by Patrick Boutot in ue5-main branch]
2022-08-24 13:14:51 -04:00
patrick boutot
d8956d00d0 MVVM: Work in progress for viewmodel in viewmodel
#rb sebatian.nordgren

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 21045209 via CL 21045498 via CL 21045763
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21075357 by patrick boutot in ue5-main branch]
2022-07-13 13:52:41 -04:00
sebastian nordgren
3a3f846e36 MVVM: Setting a conversion function with multiple arguments now generates a FunctionGraph in the widget blueprint that is used to call the function, which allows us to bind multiple properties to conversion functions.
Removed IFieldPathHelper. The functionality was moved to the editor subsystem, which made the abstraction unnecessary and unavailable to blueprint.

FBindingSource no longer contains the IsSelected member. This was very context-specific, and doesn't really make sense in the general case.

[REVIEW] [at]patrick.boutot
#jira UE-145128
#rnx
#preflight 62b9c947e77151e5996f3f36

#ROBOMERGE-OWNER: sebastian.nordgren
#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 20833893 via CL 20836430 via CL 20836446
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20838757 by sebastian nordgren in ue5-main branch]
2022-06-27 16:24:02 -04:00
patrick boutot
0051f8228b MVVM: Fix for range loop bind to temporary constructed type.
#rb none
#rnx none

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 20364466 via CL 20364472 via CL 20364475
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20366301 by patrick boutot in ue5-main branch]
2022-05-25 12:09:47 -04:00