Commit Graph

292 Commits

Author SHA1 Message Date
patrick boutot
d03f30be38 MVVM: Add the viewmodel tag data to the userwidget generated class. It was present on the blueprint asset but that data is not present in coocked build.
#rb editor-ui-systems
#jira UE-164353
#preflight 646f369c2c0a5da0dc849154

[CL 25644058 by patrick boutot in ue5-main branch]
2023-05-26 11:58:53 -04:00
patrick boutot
c8cb81eef1 MVVM: Before deleting a viewmodel, check if the viewmodel is in use. It will check in the bindings and in the conversion functions.
#rb editor-ui-systems
#preflight 6464ec6a2d446eac96cd1746

[CL 25509723 by patrick boutot in ue5-main branch]
2023-05-17 12:34:43 -04:00
patrick boutot
2e9b9d33a1 MVVM: Add test to test removing an element from the FieldNotificationDelegate in a broadcast of the same delegate.
#jira UE-180226
#rb yohann.dossantos
#preflight 646411ff063e77985c437bd5

[CL 25507065 by patrick boutot in ue5-main branch]
2023-05-17 10:33:25 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
patrick boutot
27c009cf08 MVVM: The picker filter conversion function by display name and by keyword.
#preflight 645e89458e01daf0e59f9f3b

[CL 25459266 by patrick boutot in ue5-main branch]
2023-05-12 16:28:45 -04:00
patrick boutot
096c6f634c MVVM: Fix display of getter functions on Conversion function arguments. Source of a binding can now be a widget in the UI.
#jira UE-185599
#preflight 645e3500592448f08b1fef26

[CL 25454521 by patrick boutot in ue5-main branch]
2023-05-12 13:33:28 -04:00
patrick boutot
3aab490c06 MVVM: Refactor the field picker to update when the value changes. The widget creates the widget and only recreate it when the binding changes.
#jira UE-185599, FORT-601296, FORT-575479
#preflight 645cf221aa3c584c0b3f65c5

[CL 25431222 by patrick boutot in ue5-main branch]
2023-05-11 13:28:33 -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
46213fe12a MVVM: Reused the same tree and child list if they are available. The key (the sharedptr) is what is kept internally by the TreeView to know where scrolling and which widget are extended.
#rb editor-ui-systems, vincent.gauthier
#preflight 645530f6386cf3c27342589e

[CL 25386503 by patrick boutot in ue5-main branch]
2023-05-09 09:15:32 -04:00
patrick boutot
2602940722 MVVM: Add unittest for FieldNotificationDelegate. Fix bug with Remove that didn't return the correct state of the bindings.
#jira UE-180226
#preflight 644be4b5877716c87807d94e
#preflight 645222a8de5765212276ffec

[CL 25318858 by patrick boutot in ue5-main branch]
2023-05-03 12:28:04 -04:00
patrick boutot
f778be2e4a MVVM: Remove the specialized viewmodel editor and use the Blueprint base editor instead.
#jira UE-182297
#preflight 643df3ff211b661dc4179363, 643e7f5ea35280ed4f198658, 643ea4febf1053846658cad3, 643fd0669566b61450a63e88

[CL 25108939 by patrick boutot in ue5-main branch]
2023-04-19 12:21:08 -04:00
jamie dale
933348f856 Use the FMessageDialog overloads that pass the optional title by-value
#jira
#rb none
#rnx

[CL 25062589 by jamie dale in ue5-main branch]
2023-04-15 19:49:32 -04:00
bob tellez
a974b2479b [Backout] - CL25038865
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Remove the specialized viewmodel editor and use the Blueprint base editor instead.
#jira UE-182297
#preflight 64381b51df20983c41604681

[CL 25050244 by bob tellez in ue5-main branch]
2023-04-14 17:07:03 -04:00
patrick boutot
a4220fc5fe MVVM: Remove the specialized viewmodel editor and use the Blueprint base editor instead.
#jira UE-182297
#preflight 64381b51df20983c41604681

[CL 25039205 by patrick boutot in ue5-main branch]
2023-04-14 09:07:11 -04:00
bob tellez
953cc7733b [Backout] - CL25027663
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Remove the specialized viewmodel editor and use the Blueprint base editor instead.
#jira UE-182297
#preflight 64381b51df20983c41604681

[CL 25035582 by bob tellez in ue5-main branch]
2023-04-13 20:30:11 -04:00
patrick boutot
ed5cdea372 MVVM: Remove the specialized viewmodel editor and use the Blueprint base editor instead.
#jira UE-182297

[CL 25032617 by patrick boutot in ue5-main branch]
2023-04-13 17:04:04 -04:00
patrick boutot
733a813436 MVVM: Add the Broadcast field to the INotifyFieldValudChanged. Previously the viewmodel or widget implemented the functionality. The functionality was protected just because. Since we move it to a more engine wide feature and that it will be integrated with the Blueprint compiler it needs to be visible by Blueprint.
#jira UE-130880
#rb zahra.nikbakht
#preflight 643417d8b4329f6f1aded60b, 643693d04c0cdaea093962a7

[CL 25018215 by patrick boutot in ue5-main branch]
2023-04-12 19:00:11 -04:00
marc audy
6381600309 Move UMG/FieldNotification files to the FieldNotification module.
#jira UE-130880
#rb yohann.dossantos
#preflight 64259ab69834526476306f92, 642aee5a6a37fb35e9ba9926

[CL 24905939 by marc audy in ue5-main branch]
2023-04-03 22:29: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
33b88e8374 MVVM: Fix false positive V758 error in MVVM code base. Fix bad variable initialization.
#jira UE-181105
#rnx
#rb none

[CL 24771433 by patrick boutot in ue5-main branch]
2023-03-23 20:47:14 -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
zahra nikbakht
4ef62bb887 Commit name change in MVVM viewmodel panel when focus is lost.
#preflight 641c65b1c42c7fd1cb4b6485
#jira none
#rb patrick.boutot

[CL 24762101 by zahra nikbakht in ue5-main branch]
2023-03-23 11:08:19 -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
zahra nikbakht
e206fdedb6 - Move the list of messages (errors, warnings, info) from the bindings themselves to the owning viewmodel.
- Add a border on each MVVM binding row in the list view of bindings that changes color to red/yellow if there is any error/warning for that binding
- detect if a property is bound to both a MVVM binding and a legacy binding at the same time and add a warning for it.
#jira UE-170983
#jira UE-170403
#rb patrick.boutot, vincent.gauthier
#preflight 6414c614ca2afe3ee6b1c7c8

[CL 24695764 by zahra nikbakht in ue5-main branch]
2023-03-17 16:33:42 -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