41 Commits

Author SHA1 Message Date
zahra nikbakht
32070c217d MVVM: create a ListViewBase extension to support selecting an entry viewmodel and assigning them to entry widgets at runtime.
#rb patrick.boutot

[CL 32499939 by zahra nikbakht in 5.4 branch]
2024-03-26 02:42:34 -04:00
patrick boutot
1441e24e15 Add option to filter the resolver to only returns the viewmodel desired class.
#jira UE-207188
#rb yohann.dossantos

[CL 32492968 by patrick boutot in 5.4 branch]
2024-03-25 19:51:08 -04:00
zahra nikbakht
25953bba08 MVVM: add customization for property paths and conversion functions of bindings in the details panel
#jira UE-205044
#rb patrick.boutot
#p4v-cherrypick 31485811

[CL 31542346 by zahra nikbakht in 5.4 branch]
2024-02-15 18:16:09 -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
patrick boutot
d4ab788a71 MVVM: Update after 30041295 review to the viewmodel customization
#rb zahra.nikbakht

[CL 30153054 by patrick boutot in ue5-main branch]
2023-12-06 08:36:31 -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
52e687f13f MVVM: Instead of saving the name of the root widget for self reference, use a different flag. When the Blueprint asset is renamed the root widget is also renamed and self reference do not work anymore. Redirect the previously saved reference.
IsEmpty is renamed to IsValid. It used to be that we wanted to know if there was a source and a path but now the IsEmpty is confusing.
Fix Widget rename for conversion function pins and event pins.
#jira UE-191812
[REVIEW] editor-ui-systems

[CL 28965810 by patrick boutot in ue5-main branch]
2023-10-20 10:45:57 -04:00
patrick boutot
5cb485e853 MVVM: Clean up the code after CL 27409229 code review
#rb zahra.nikbakht

[CL 27460042 by patrick boutot in ue5-main branch]
2023-08-29 15:17:52 -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
zahra nikbakht
0a3db230aa MVVM: broadcast BindingUpdated when creating a binding via the Bind drop down in details panel.
[CL 26555194 by zahra nikbakht in ue5-main branch]
2023-07-24 16:52:11 -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
zahra nikbakht
7201e1344f MVVM: drag from viewmodel to Bind widget in the details view to create bindings.
#rb patrick.boutot
#jira UE-183423

[CL 25824946 by zahra nikbakht in ue5-main branch]
2023-06-06 15:17:40 -04:00
patrick boutot
82c490c84f MVVM: Prevent crash with undo or when a binding is removed. The DetailView used to point directly to the binding in the view. WHen the view is modified, the DetailView was pointing to a dangling pointer. Also remove the customizaer because they don't respect the selection rules.
#preflight 645bba73e81da34de94eec52, 645c3bbfcf788a25588affbb

[CL 25425022 by patrick boutot in ue5-main branch]
2023-05-11 08:09: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
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
bc181cb231 MVVM: Rename MVVMBlueprintViewBinding.ViewModelPath and WidgetPath to SourePath and DestinationPath. Historicly they were named that way because it made sense to bind grom viewmodel to a widget. Now we can bind from any property to any property. We renamed to remove the confusion.
#test MVVM asset in QAGame
#rb Yohann.DosSantos
#preflight 64089d788c0039bbf73e80d8

[CL 24574634 by patrick boutot in ue5-main branch]
2023-03-09 08:41:28 -05:00
patrick boutot
6fc367cbb6 MVVM: Fix viewmodel rename from the detail panel.
[REVIEW] editor-ui-systems
#jira UE-164316
#preflight 63ee4cf652460c3a1fb03df4

[CL 24291543 by patrick boutot in ue5-main branch]
2023-02-17 16:40:54 -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
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
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
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
ed36865aad The Bind menu is now shown even for properties that MVVM can bind to, but legacy UMG cannot.
#jira UE-170979
[REVIEW] [at]patrick.boutot
#preflight 639886642540a78d2718f3f2

[CL 23499939 by sebastian nordgren in ue5-main branch]
2022-12-13 18:20:54 -05:00
patrick boutot
324bfb142b MVVM: Display the correct name in the detail view for the source and destination property. Use the correct property, as filter, for the mode direction.
#rb sebastien.nordgren

[CL 22802844 by patrick boutot in ue5-main branch]
2022-10-26 22:18:51 -04:00