24 Commits

Author SHA1 Message Date
zahra nikbakht
1692e62b5c MVVM: allow viewmodel values to be edited on nested userwidgets.
Expose viewmodels whose creation type is "Create Instance" in the details panel of nested userwidgets and allow editing them independently.
#jira UE-185718
#rb christian.savoie, jared.joyal, Patrick.Boutot

[CL 30717868 by zahra nikbakht in ue5-main branch]
2024-01-19 11:53:42 -05:00
patrick boutot
146c084883 MVVM: Enable K2Node as conversion functions.
#jira UE-190393
#rb editor-ui-systems

[CL 30592808 by patrick boutot in ue5-main branch]
2024-01-12 10:07:58 -05:00
patrick boutot
8fcc4bc35b MVVM: Add developer option to copy the generated graph from a binding. Move the common for tthe ENtryRow to the MVVMRowHelper.
#jira UE-200604
#rb editor-ui-systems

[CL 30179639 by patrick boutot in ue5-main branch]
2023-12-07 10:20:55 -05:00
patrick boutot
2ab80be567 MVVM: Big rework of the MVVM view compiler. It add supports for conversion function to go from complex to simple. Supports pin split on simple conversion function. Add ability to to support setter function with more than one argument. Build the list of all the sources.
#jira UE-200602, UE-200602, UE-200602, UE-200602, UE-200602
#rb editor-ui-systems

[CL 29815789 by patrick boutot in ue5-main branch]
2023-11-17 14:09:15 -05:00
bob tellez
f98456e469 [Backout] - CL29797661
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Big rework of the MVVM view compiler. It add supports for conversion function to go from complex to simple. Supports pin split on simple conversion function. Add ability to to support setter function with more than one argument. Build the list of all the sources.
#jira UE-200602, UE-200602, UE-200602, UE-200602, UE-200602
#rb editor-ui-systems

[CL 29801739 by bob tellez in ue5-main branch]
2023-11-16 23:04:14 -05:00
patrick boutot
c362983f9f MVVM: Big rework of the MVVM view compiler. It add supports for conversion function to go from complex to simple. Supports pin split on simple conversion function. Add ability to to support setter function with more than one argument. Build the list of all the sources.
#jira UE-200602, UE-200602, UE-200602, UE-200602, UE-200602
#rb editor-ui-systems

[CL 29797678 by patrick boutot in ue5-main branch]
2023-11-16 20:11:58 -05:00
patrick boutot
0bb197807d MVVM: Test if a field is allowed base on the path, not only on the field owner. That allow to have a Widget's property allowed on a child widget but not on the base widget.
#rb editor-ui-systems

[CL 29753638 by patrick boutot in ue5-main branch]
2023-11-15 13:51:32 -05:00
patrick boutot
f852893a58 MVVM: Allow a property or a function if it's from the blueprint we are currently compiling.
#jira UE-191812
#rb editor-ui-systems

[CL 28963236 by patrick boutot in ue5-main branch]
2023-10-20 09:15:33 -04:00
daren cheng
6feb5780e6 Fix MVVM failing validation due to checking if object nodes were allowed within themselves
Add PropertyHasFiltering method to complete MVVM allowlist API.
Make LocalizableMessage API exposed so that it can be allowlisted.

#rb yohann.dossantos byron.cornejo
[FYI] [at]Patrick.boutot

[CL 28521880 by daren cheng in ue5-main branch]
2023-10-05 18:27:37 -04:00
patrick boutot
7055c5a8d6 MVVM: Add instanced viewmodel. A way to create your viewmodel inside the view. The viewmodel is private and can only be used by the view. The feature is enabled by a setting. Change how the customization for the viewmodel context hide properties. Add a new submenu for the viewmodel panel.
#rb editor-ui-systems

[CL 27409246 by patrick boutot in ue5-main branch]
2023-08-28 08:59:49 -04:00
patrick boutot
1ffbe228b6 Add setting to disable Binding Event
#jira UE-166284
#rb editor-ui-systems

[CL 27302901 by patrick boutot in ue5-main branch]
2023-08-23 08:39:32 -04:00
patrick boutot
ffcc9c9fce MVVM: Add setting to show the View settings.
[CL 26870803 by patrick boutot in ue5-main branch]
2023-08-05 11:47:54 -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
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
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
2c2fa3761b MVVM: Add a global option to allow viewmodel setter function. This prevent the validation for object /Script/CoreUObject.Function.
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]
2023-03-10 23:20:09 -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
patrick boutot
136813f938 UMG: Add setting to disable UMG binding.
#jira UE-164316
#preflight 63e455505c0ce8f11b0acb51

[CL 24106280 by patrick boutot in ue5-main branch]
2023-02-09 16:22:43 -05:00
patrick boutot
f2cfd4e83f MVVM: Add setting to find conversion functions.
#jira UE-164316
#preflight 63e3a287e042058d698ba8b4

[CL 24074931 by patrick boutot in ue5-main branch]
2023-02-08 12:16:32 -05:00
patrick boutot
eeb3c16fca MVVM: Add a allowed ExecutionMode list.
Move GlobalCollection to GameInstance subsystem.
Rename category from MVVM to Viewmodel.
#preflight 63d5e0bcba4fadeef09bdfc2

[CL 23927160 by patrick boutot in ue5-main branch]
2023-01-31 10:21:03 -05:00
patrick boutot
9ae72c9a26 MVVM: Change the MVVM category for Viewmodel
[FYI] shirley.man

[CL 23747985 by patrick boutot in ue5-main branch]
2023-01-17 18:39:09 -05:00
henrik karlsson
3c9aacb1ad [Engine/Plugins]
* Updated public headers for ~170 engine plugins using iwyu to remove includes not needed. Removed includes are still available behind UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63c08f4a2a6acaf1622bcc73
#rb none

[CL 23674775 by henrik karlsson in ue5-main branch]
2023-01-13 01:54:01 -05:00
patrick boutot
707d2e3eb5 MVVM: Fix the binding picker to select property when we are in read mode.
#jira UE-145739
#rb sebastian.nordgren
#preflight 6374f6ee324842530577f387

[CL 23174676 by patrick boutot in ue5-main branch]
2022-11-17 08:20:42 -05:00
patrick boutot
bf56fd9f4f MVVM: Use WeakObjectPtr to save UObject reference. Display the widget current slot properties. Confirm that the selected property can be assign or read before returning it. Created project setting. Filter property that can be display in the FieldSelector.
#rb sebastian.nordren
#preflight 632b6876e23e50651bf79d06, 632df2c7d51603c54898b28b

[CL 22165378 by patrick boutot in ue5-main branch]
2022-09-23 20:46:19 -04:00