Commit Graph

70 Commits

Author SHA1 Message Date
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
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
patrick boutot
e53c801770 MVVM: Only create properties when needed. Viewmodel properties should always be created (no inheritance). Widget should be created if they are not already. Support BindWidget.
Rename FCreateVariableContext::GetSkeletonGeneratedClass to GetGeneratedClass because it returns the current class it generates and not the skeletal. It will be the skeletal if it's generating the skeletal.
#jira UE-194135
#rb editor-ui-systems

[CL 28672606 by patrick boutot in ue5-main branch]
2023-10-11 13:52:26 -04:00
bob tellez
f1e730f370 [Backout] - CL28648528
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Only create properties when needed. Viewmodel properties should always be created (no inheritance). Widget should be created if they are not already. Support BindWidget.
Rename FCreateVariableContext::GetSkeletonGeneratedClass to GetGeneratedClass because it returns the current class it generates and not the skeletal. It will be the skeletal if it's generating the skeletal.
#jira UE-194135
#rb editor-ui-systems

[CL 28650523 by bob tellez in ue5-main branch]
2023-10-10 21:44:56 -04:00
patrick boutot
7de8a4e609 MVVM: Only create properties when needed. Viewmodel properties should always be created (no inheritance). Widget should be created if they are not already. Support BindWidget.
Rename FCreateVariableContext::GetSkeletonGeneratedClass to GetGeneratedClass because it returns the current class it generates and not the skeletal. It will be the skeletal if it's generating the skeletal.
#jira UE-194135
#rb editor-ui-systems

[CL 28648555 by patrick boutot in ue5-main branch]
2023-10-10 20:39:10 -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
asil karatas
295ec0a854 MVVM: Sort the view bindings and the view sources to make sure we have a reliable order of execution.
Initialize each bindings source one at the time. That allow a binding to set a variable that will then be read by another binding. That other binding can also change another source (by calling SetViewmodel internally). The bindings of the new source need to execute only if that source was already initialized. Delay bindings executed that way if they are complex.

[REVIEW] [at]daren.cheng [at]christian.savoie [at]jc.authier
#jira UE-194167

[CL 28323824 by asil karatas in ue5-main branch]
2023-09-28 14:01:37 -04:00
jc authier
180e8af8a4 MVVM:
- Remove FPropertyEditorPermissionList call that was massively slowing down launching Frontend in PIE

[REVIEW] [at]patrick.boutot

[CL 27421227 by jc authier in ue5-main branch]
2023-08-28 15:35:11 -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
30997ca639 MVVM: Reuse the same library when generating the view class. It helps the cook make smaller diff packages when the cook is deterministic.
[REVIEW] editor-ui-systems

[CL 27359733 by patrick boutot in ue5-main branch]
2023-08-24 17:34:17 -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
b26e2d88d4 MVVM: Backend for binding event. Didn't use the ComponentDelegateBinding because of initialization order is different. Create a new entry in the ViewClass and reuse the binding library to find the delegate property. At editor time, a BP function is gnerated, similar to Complex Conversion function. When the event is broadcast at runtim, the BP function is executed.
The generated function can assign a property value on a viewmodel, a widget or any property of the UserWidget.
#jira UE-166284
#rb editor-ui-systems

[CL 27236611 by patrick boutot in ue5-main branch]
2023-08-21 08:46:45 -04:00
patrick boutot
42657bf51b MVVM: Fix conversion function allow test when the graph is a wrapper.
[CL 26870847 by patrick boutot in ue5-main branch]
2023-08-05 11:50:12 -04:00
patrick boutot
d679e0536e MVVM: Undo modification made to make property blueprintreadonly. Introduced with CL 26845876
#rb trivial

[CL 26848773 by patrick boutot in ue5-main branch]
2023-08-04 11:43:08 -04:00
patrick boutot
b5cd4278b5 MVVM: Fix conversion function with multiples input paths.
Bindings will only be executed once at initialization. The bug happend when more than once source can activate the same binding.
Binding can now be OneWay if at least one argument is a FieldNotify. Otherwise it needs to be a OneTime.
Binding that has hardcoded value, no paths, are now supported.
#rb vincent.gauthier

[CL 26846320 by patrick boutot in ue5-main branch]
2023-08-04 10:49:38 -04:00
patrick boutot
c1b001cd61 MVVM: Add UX for view's settings. Seperate bindings initialization and sources initialization. Use can now select if it wants the bindings and the sources to be initialized.
#rb editor-ui-systems

[CL 26715851 by patrick boutot in ue5-main branch]
2023-07-31 14:43:55 -04:00
patrick boutot
4caca31df5 MVVM: Fix bad refactor code introduced with CL 26614337
#jira UE-191378
#rb none

[CL 26652353 by patrick boutot in ue5-main branch]
2023-07-27 16:00:59 -04:00
patrick boutot
f053a1822f Temporary fix for UE-191378. Log an error instead of crashing until we figure out what is going on.
#rnx
#jira UE-191378

[CL 26651228 by patrick boutot in ue5-main branch]
2023-07-27 15:38:11 -04:00
patrick boutot
e86df75535 MVVM: When a conversion function is virtual, reevaluate at runtime the function.
#jira UE-189301
#rb vincent.gauthier

[CL 26629172 by patrick boutot in ue5-main branch]
2023-07-26 20:20:26 -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
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
keaton stewart
f31c33bf04 [Backout] - CL25766777 CIS FastCook Error
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Supports FieldNotify broadcast on BP defined variable.
#rb editor-ui-systems
#preflight 6479ed64d36d33e0e45190c7

[CL 25770631 by keaton stewart in ue5-main branch]
2023-06-02 15:16:58 -04:00
patrick boutot
624d0d37a6 MVVM: Supports FieldNotify broadcast on BP defined variable.
#rb editor-ui-systems
#preflight 6479ed64d36d33e0e45190c7

[CL 25766805 by patrick boutot in ue5-main branch]
2023-06-02 13:33:02 -04:00
patrick boutot
47f876b932 MVVM: Fix static analysis warning
#rnx
#rb none

[CL 25546030 by patrick boutot in ue5-main branch]
2023-05-19 12:03:31 -04:00
patrick boutot
384a2ffacf MVVM: Enable bindings from view to view or viewmodel to viewmodel for the compiler. The binding execution does not care. It was restricted by the UI.
#rb editor-ui-systems
#preflight 6464d204f033744ae66aa602

[CL 25509715 by patrick boutot in ue5-main branch]
2023-05-17 12:34:34 -04:00