Commit Graph

25 Commits

Author SHA1 Message Date
christian savoie
291cb8f68a [MVVM] Fix VM default resolvers to be created in the correct package so they save properly
[REVIEW] [at]editor-ui-systems
#tests Add a new VM that defaults to resolver, restart editor to see data being saved correctly

[CL 36172869 by christian savoie in 5.5 branch]
2024-09-10 21:32:44 -04:00
christian savoie
8a3b1c35fc [MVVM] Add ability to set default resolver to select by default in project settings.
* Fixed a mixed up condition
* Cleanup resolver reference when not using it as a creation type.

[REVIEW] [at]editor-ui-systems, [at]jc.authier
#tests Changed creation types. Added a VM that's defaulted to use resolver type.
#rb daren.cheng, jc.authier

[CL 35642642 by christian savoie in ue5-main branch]
2024-08-19 18:26:43 -04:00
patrick boutot
b48842aa7a MVVM: Evalute the bindings automatically when the source is set but the value didn't changed. That is a global option and an option on the viewmodel definition itself.
Change the category of MVVMDeveloperProjectSettings.
Fix bug in customization, the bCreateSetter flag was set but never propagated to the copied object.
#jira UE-209383
#rb editor-ui-systems

[CL 32242163 by patrick boutot in ue5-main branch]
2024-03-14 08:07:46 -04:00
patrick boutot
259878c511 MVVM: Add an option to auto update the view's viewmodel when it's creation context is the global viewmodel collection. The viewmodel can be added/remove/modified from the global viewmodel collection at anytime and it will update the view.
#jira UE-208792
#rb editor-ui-systems

[CL 31991059 by patrick boutot in ue5-main branch]
2024-03-04 12:09:48 -05:00
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
steve robb
7da84c1d1b Replaced UE_NODISCARD with [[nodiscard]].
[CL 30593744 by steve robb in ue5-main branch]
2024-01-12 10:47:04 -05:00
patrick boutot
158eed9d9c MVVM: Enable setter flag by default. Add flag to generate a public getter. Change the display logic for the optional flag and the setter flag.
#rb editor-ui-systems

[CL 30041317 by patrick boutot in ue5-main branch]
2023-12-01 10:43:39 -05:00
patrick boutot
bc194e6447 MVVM: Split and recombine structure argument for conversion function parameters and events parameters.
Fix event broadcast when a ViewBinding changes.
Add option to reparents the viewmodel class. Force the list to be repainted when the viewmodel changes. That helps with display names when the viewmodel is renamed and with graphpin that needs to be rebuilt.
#jira UE-164353-ui-systems

[CL 29045441 by patrick boutot in ue5-main branch]
2023-10-24 10:12:34 -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
a39450ea32 MVVM: Add flag on viewmodel context to allow edit, remove and rename in the editor.
#rb editor-ui-systems

[CL 26853896 by patrick boutot in ue5-main branch]
2023-08-04 14:01:32 -04:00
patrick boutot
7391a6794f MVVM: Change the displayname of some Viewmodel properties.
#rb editor-ui-systems

[CL 26051658 by patrick boutot in ue5-main branch]
2023-06-16 10:41:42 -04:00
patrick boutot
1e1d7865c6 MVVM: Fix access to private UFunction with AllowPrivateAccess.
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]
2023-02-17 17:10:33 -05:00
patrick boutot
2758a900b9 MVVM: Rename ViewModelResolver to ViewModelContextResolver
#jira UE-171160
#preflight 63e67449bd38b4c5cbe7374e

[CL 24136977 by patrick boutot in ue5-main branch]
2023-02-11 12:38:02 -05:00
patrick boutot
0d838c4210 MVVM: Filter Viewmodel context creation type per class. Use MVVMAllowedContextCreationType or MVVMDisallowedContextCreationType to allow or disallow types.
UCLASS(meta=(MVVMAllowedContextCreationType="Manual|CreateInstance"))
#jira UE-164316
#preflight 63e5ad91f15c83b793edc3c3

[CL 24119664 by patrick boutot in ue5-main branch]
2023-02-10 10:45:24 -05:00
patrick boutot
213eb80530 MVVM: Allow picking selecting an abstract class in as the viewmodal in UMG View but you are not able to create an instance.
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]
2023-02-09 12:14:47 -05:00
patrick boutot
aa9a64a17f MVVM: Add customization for Viewmodel context. Add picker for the propertypath.
#rb sebastian.nordgren
#preflight 63e2a6ae9910415ae2016818

[CL 24061758 by patrick boutot in ue5-main branch]
2023-02-07 17:51:50 -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
071d007dd3 MVVM: Move the description for enum to be pickup correctly by the docgen
#rnx

[CL 23374787 by patrick boutot in ue5-main branch]
2022-12-02 12:10:43 -05:00
Zousar Shaker
3f4252aa56 ObjectPtr upgrade for engine plugins used from UnrealEditor -allmodules. Automated upgrade process.
#rb none
#preflight 62fe7f270601ad0504910c30

[CL 21447894 by Zousar Shaker in ue5-main branch]
2022-08-18 15:08:49 -04:00
Patrick Boutot
2d4bd9b8ce MVVM: Add "Optional" on viewmodel context to prevent logging warning when the viewmodel is not set and that it's optional.
#review-21184624 sebastian.nordgren
#preflight 62d813754b6d775f5fa770ca

[CL 21184623 by Patrick Boutot in ue5-main branch]
2022-07-20 13:37:40 -04:00
Patrick Boutot
736d4b85fa MVVM: Add the rename and delete option to the viewmodel panel.
#review-21160712 sebastian.nordgren
#jira none
#preflight 62d679d0d76ea4b5031b57f1

[CL 21160710 by Patrick Boutot in ue5-main branch]
2022-07-19 07:54:42 -04:00
patrick boutot
7a499cf935 MVVM: Use the viewmodel name instead of the class name. Create the menu to add a viewmodel. Use a UClass of any class at implement the NotifyFieldValue interface in BlueprintViewModelContext instead a ViewModelBase class.
#rb sebastien.nordgren
#preflight 62bc45213771c5710de91653

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 20874026 via CL 20881496 via CL 20881723
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20885743 by patrick boutot in ue5-main branch]
2022-06-29 19:00:59 -04:00
patrick boutot
2cbd1c0d98 MVVM: Remove FMVVMBlueprintViewModelContext::OverrideDisplayName and replace it by the ViewModelName as a FName.
#jira UE-155919
#rb sebastian.nordgren

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 20857721 via CL 20857726 via CL 20857739
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20870270 by patrick boutot in ue5-main branch]
2022-06-29 01:01:28 -04:00
patrick boutot
99e021c9de MVVM: Add add EMVVMBlueprintViewModelContextCreationType::Manual. An option for how to create/select a view model.
Rename a graph temporary function when the compiler didn't requested a GC at the end of the compilation.
#rb sebastian.nordgren

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 20106550 via CL 20107643 via CL 20108182
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20110552 by patrick boutot in ue5-main branch]
2022-05-09 16:35:28 -04:00
Patrick Boutot
5cc291be88 MVVM: Move the ModelViewViewModel plugin to //UE5/Main/
#preflight 62471b2edc6183e3f51a8a07
#preflight 62473c85f73c316f680acef9

[CL 19592606 by Patrick Boutot in ue5-main branch]
2022-04-01 14:21:11 -04:00