30 Commits

Author SHA1 Message Date
patrick boutot
5ea06e3951 MVVM: Add flag on viewmodel context to allow edit, remove and rename in the editor.
#rb editor-ui-systems

[CL 26853829 by patrick boutot in 5.3 branch]
2023-08-04 13:59:09 -04:00
patrick boutot
f7a219685a MVVM: Save the MemberReference with self context. That allow the path to be used in the skeletal compilation phase.
#rb editor-ui-systems

[CL 26058530 by patrick boutot in 5.3 branch]
2023-06-16 12:57:13 -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
sebastian nordgren
952dbf828e MVVM - Field selector now displays valid conversion functions in the same dropdown menu as properties.
#jira UE-161689
[REVIEW] [at]patrick.boutot
#rnx
#preflight 63243e003752284a31722a6a

[CL 22050372 by sebastian nordgren in ue5-main branch]
2022-09-16 11:36:30 -04:00
sebastian nordgren
acad8958a0 Removed fully commented-out MVVMPropertyAccess files.
#rb patrick.boutot
#rnx
#preflight 63231d8a5d5184f71e32f6e5

[CL 22039915 by sebastian nordgren in ue5-main branch]
2022-09-15 18:05:42 -04:00
sebastian nordgren
e819de4be2 MVVM - Conversion function parameters are now displayed in the Bindings list below the relevant binding.
Numerous pieces of UI polish: tooltips, padding, colours and wording.

#jira UE-161689
[REVIEW] [at]patrick.boutot
#rnx
#preflight 63186056ab25bb91f51784b8

[CL 21862821 by sebastian nordgren in ue5-main branch]
2022-09-07 17:14:59 -04:00
sebastian nordgren
3395d1134d MVVM - Field selector now uses SSourceBindingList to display the available fields.
SSourceBindingList can now display both widget and viewmodel fields.

Moved several widgets to the UE::MVVM namespace - SMVVMFieldSelector most notably.

[REVIEW] [at]patrick.boutot
#jira UE-158306
#rnx
#preflight 62c40b76c94105372862d930

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 20940602 via CL 20940610 via CL 20940612
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20941598 by sebastian nordgren in ue5-main branch]
2022-07-05 10:07:19 -04:00
patrick boutot
b714a63f8d MVVM: Change how available binding property are gather to respect the field privacy. Remove the different override that are not necessary anymore. Clean the include in SSelectViewModel. Give the WidgetBlueprint to different widget to be use by GetAvailableBindings.
#rb sebastian.nordgren

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 20894555 via CL 20894859 via CL 20894888
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20898593 by patrick boutot in ue5-main branch]
2022-06-30 13:21:40 -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
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
sebastian nordgren
f3a922cc74 MVVM details view extension no longer crashes when given a row without an outer class.
This is fallout from the change to UStruct::IsChildOf() when called with this == nullptr.

#jira UE-154841
#rb paul.chipchase
#rnx
#preflight 62977a80e809e387be1f8882

[CL 20452664 by sebastian nordgren in ue5-main branch]
2022-06-01 10:56:01 -04:00
sebastian nordgren
15e617f2aa MVVM: Removed FMVVMViewModelPropertyPath and FMVVMWidgetPropertyPath in favour of FMVVMBlueprintPropertyPath.
[REVIEW] [at]patrick.boutot
#jira UE-145128
#rnx
#preflight 6287737b1e478b95c703f783

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 20293477 via CL 20293498 via CL 20293511
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20305090 by sebastian nordgren in ue5-main branch]
2022-05-20 18:54:05 -04:00
patrick boutot
38b2f19b88 MVVM: Blueprint Path can now support long path. A deprecation path exist. The compiler was modified to support long path. A ViewModelCreator is generated for Manual, this allow the setter to works in standalone.
#rb sebastian.nordgren

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 20259322 via CL 20259326 via CL 20259331
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20262972 by patrick boutot in ue5-main branch]
2022-05-18 12:54:12 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00