45 Commits

Author SHA1 Message Date
alain lafleur
1b905ebe01 Merging
//Fortnite/Main/...
to //Fortnite/Dev-FN-32/...

Data driven condition bindings

Authoring and compilation of the new type is hidden behind a project setting.
Fix crash when changing hooked event and trying to edit conversion function parameters.
Fix issue with events valid source check node being purged from the graph upon regenerating connections in the wrapper graph.

Fixes FORT-768257

#tests Tested in editor and in game. Tried with widget property bindings, tried with vm bindings. Verified with multiple bindings to ensure we only execute when it's the condition property that is modified. Ran with cooked version. Tested in standalone and pie.
#rnx
#rb Vincent.Gauthier

[CL 36754418 by alain lafleur in 5.5 branch]
2024-10-01 18:59:25 -04:00
zousar shaker
dffd381e7d TObjectPtr upgrades for engine plugins.
[CL 34894832 by zousar shaker in ue5-main branch]
2024-07-18 01:17:14 -04:00
graham lewis
41d1197cd5 Added missing #pragma once.
#rnx

[CL 34033453 by graham lewis in ue5-main branch]
2024-05-31 11:31:27 -04:00
graham lewis
d582333dac Add designer preview entries to MVVM panel extension.
UMVVMBlueprintViewExtension:
- Added virtual OnPreviewContentChanged function.

UMVVMWidgetBlueprintExtension_View:
- Added GetAllBlueprintExtensions function.

FBlueprintViewDesignerExtension:
- New designer extension which overrides PreviewContentChanged and calls OnPreviewContentChanged on each UMVVMBlueprintViewExtension.

FBlueprintViewDesignerExtensionFactory:
- New designer extension factory which creates a FBlueprintViewDesignerExtension.

UMVVMBlueprintViewExtension_PanelWidget:
- Added NumDesignerPreviewEntries property.
- Added static CreateDesignerPreviewEntries function which clears panels children then adds specified number of entries.
- Overrides OnPreviewContentChanged which calls CreateDesignerPreviewEntries using the preview panel widget.

FModelViewViewModelEditorModule:
- Adds PanelWidgetExtensionFactory on module startup and removes on shutdown.

FMVVMPanelWidgetExtensionCustomizationExtender:
- Added "Num Designer Preview Entries" property row.
- Calls UMVVMBlueprintViewExtension_PanelWidget::CreateDesignerPreviewEntries when entry class, slot template or "Num Designer Preview Entries" properties change.

#jira UE-213718
[REVIEW] [at]zahra.nikbakht, [at]editor-ui-systems, [at]chris.gagnon
#rb Vincent.Gauthier, zahra.nikbakht

[CL 34032917 by graham lewis in ue5-main branch]
2024-05-31 11:11:52 -04:00
patrick boutot
0f8c13cc1e MVVM: Add an option to select the event as a binding or as an event. Allow the user to bind a multicast delegate property in 2 different ways. UX could be improved. Tried a combobox but that removed the nice primary button. I tried a ContextMenu but was not clear what double click was going to do.
#rb editor-ui-systems

[CL 33922334 by patrick boutot in ue5-main branch]
2024-05-27 07:45:27 -04:00
daren cheng
917df99aeb Add conversion functions for MVVM Material Param updates.
#jira UE-211563
#rb Patrick.Boutot
#tests PIE

[CL 33902748 by daren cheng in ue5-main branch]
2024-05-24 15:16:20 -04:00
patrick boutot
15c0d7f642 MVVM: Add Conversion Function Library.
The functions are collected when on module load and when the BP class compiles. A function can be a Node. The BP registry do not collect all function types, like opcode functions. This library collects K2_Node and all function types supported by MVVM.
#jira UE-201164, UE-190393
#rb daren.cheng

[CL 31987162 by patrick boutot in ue5-main branch]
2024-03-04 09:12:29 -05:00
patrick boutot
146c084883 MVVM: Enable K2Node as conversion functions.
#jira UE-190393
#rb editor-ui-systems

[CL 30592808 by patrick boutot in ue5-main branch]
2024-01-12 10:07:58 -05:00
patrick boutot
1293c58646 MVVM: Add PinLinedValue. Use as a variant to easily set the propertypath, function or node of a pin.
#jira UE-200604

[CL 30496334 by patrick boutot in ue5-main branch]
2024-01-08 20:36:10 -05:00
patrick boutot
9974aef4a7 MVVM: Add MVVMBlueprintFunctionReference. A struct that can be a K2Node or a UFunction.
#jira UE-200604
#rb editor-ui-systems

[CL 30440347 by patrick boutot in ue5-main branch]
2023-12-22 09:43:14 -05:00
patrick boutot
abacb37ea4 MVVM: Update the pin from a name to an array of name. That will allow the pin to be used in converion function inside conversion function.
#jira UE-200604
#rb editor-ui-systems

[CL 30396321 by patrick boutot in ue5-main branch]
2023-12-19 11:31:33 -05:00
patrick boutot
2ab80be567 MVVM: Big rework of the MVVM view compiler. It add supports for conversion function to go from complex to simple. Supports pin split on simple conversion function. Add ability to to support setter function with more than one argument. Build the list of all the sources.
#jira UE-200602, UE-200602, UE-200602, UE-200602, UE-200602
#rb editor-ui-systems

[CL 29815789 by patrick boutot in ue5-main branch]
2023-11-17 14:09:15 -05:00
bob tellez
f98456e469 [Backout] - CL29797661
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Big rework of the MVVM view compiler. It add supports for conversion function to go from complex to simple. Supports pin split on simple conversion function. Add ability to to support setter function with more than one argument. Build the list of all the sources.
#jira UE-200602, UE-200602, UE-200602, UE-200602, UE-200602
#rb editor-ui-systems

[CL 29801739 by bob tellez in ue5-main branch]
2023-11-16 23:04:14 -05:00
patrick boutot
c362983f9f MVVM: Big rework of the MVVM view compiler. It add supports for conversion function to go from complex to simple. Supports pin split on simple conversion function. Add ability to to support setter function with more than one argument. Build the list of all the sources.
#jira UE-200602, UE-200602, UE-200602, UE-200602, UE-200602
#rb editor-ui-systems

[CL 29797678 by patrick boutot in ue5-main branch]
2023-11-16 20:11:58 -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
8566246a69 MVVM: Display ViewEvent in the BindingListView. When the destination path ends with a multicate delagate, transform the binding into an event and viseversa.
Also refactor how filtering works. The element should always exist and only the display should filter them.
#jira UE-166284
#rb editor-ui-systems

[CL 27268504 by patrick boutot in ue5-main branch]
2023-08-22 09:05:58 -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
zahra nikbakht
8f77189b04 Drag and Drop support for viewmodel fields and widget properties in UMG details panel.
#jira UE-183423
#rb patrick.boutot

[CL 25816817 by zahra nikbakht in ue5-main branch]
2023-06-06 11:06:49 -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
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
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