Commit Graph

292 Commits

Author SHA1 Message Date
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
graham lewis
0bb81eb6b1 Disable adding children to panel hierarchy when it has an MVVM extension.
IClipboardExtension:
- Added virtual CanWidgetAcceptPaste function.

FClipboardExtension:
- Overrides CanWidgetAcceptPaste. Checks if specified widget has any UMVVMBlueprintViewExtensions.

FWidgetBlueprintEditorUtils:
- Added static CanPasteWidgetsExtension function. Checks CanWidgetAcceptPaste on all IClipboardExtensions.

FWidgetBlueprintEditor:
- CanPasteWidgets now also calls FWidgetBlueprintEditorUtils::CanPasteWidgetsExtension.

#jira UE-215900
[REVIEW] [at]zahra.nikbakht, [at]editor-ui-systems, [at]chris.gagnon
#rb Patrick.Boutot, zahra.nikbakht

[CL 34008039 by graham lewis in ue5-main branch]
2024-05-30 14:13:13 -04:00
zahra nikbakht
ddf102e86a MVVM: fix crash when deleting binding that previously errored.
Make sure the struct details view is cleared when a binding is invalid.
#rb Patrick.Boutot

[CL 33953602 by zahra nikbakht in ue5-main branch]
2024-05-28 17:11:47 -04:00
patrick boutot
13ed9205c5 MVVM: Can only select property of loaded UObject ptr.
#rb editor-ui-systems
#rnx

[CL 33937408 by patrick boutot in ue5-main branch]
2024-05-28 07:31:07 -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
1946b5c298 MVVM: Hide autogenerated function from the picker. Rename old function before creating a new one. That could be reproduced by selecting multiple conversion function on the same binding.
#jira UE-211315, UE-211315
#rb editor-ui-systems

[CL 33425581 by patrick boutot in ue5-main branch]
2024-05-03 10:08:40 -04:00
patrick boutot
b7f233a385 [Backout] - CL33402680
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Hide autogenerated function from the picker. Rename old function before creating a new one. That could be reproduced by selecting multiple conversion function on the same binding.
#jira UE-211315, UE-211315
#rb editor-ui-systems

[CL 33403573 by patrick boutot in ue5-main branch]
2024-05-02 14:14:14 -04:00
patrick boutot
f8d108c01b MVVM: Hide autogenerated function from the picker. Rename old function before creating a new one. That could be reproduced by selecting multiple conversion function on the same binding.
#jira UE-211315, UE-211315
#rb editor-ui-systems

[CL 33403157 by patrick boutot in ue5-main branch]
2024-05-02 14:03:27 -04:00
patrick boutot
354a79c632 MVVM: Fix customization extender that didn't check if the extension was of the correct type.
#rb zahra.nikbakht

[CL 33371723 by patrick boutot in ue5-main branch]
2024-05-01 09:55:52 -04:00
patrick boutot
a2b5613488 Slate: Deprecate SListView::ItemHeight and STreeViewItemHeight. ItemHeight and ItemWidth are only used when the panel is is as a tile or both value are assigned. With TreeView and ListView, you can't assigned both. The function are protected, a subclass of those could but it's up to them to expose the ItemHeight and ItemWidth. This behavior changed was introduced with CL 7634094.
#jira UE-210415
#rb editor-ui-systems

[CL 33370360 by patrick boutot in ue5-main branch]
2024-05-01 08:05:39 -04:00
patrick boutot
6445e4e840 MVVM: Add tag and name to handle added by extender.
#rb graham.lewis, zahra.nikbakht

[CL 33333947 by patrick boutot in ue5-main branch]
2024-04-30 08:29:17 -04:00
patrick boutot
24977a7a73 MVVM: Modification to support extension on the view instance. The class/shared version has the option to create isntance data. The class extension receives that instance and can ack on it. Modified the Panel to create an property of the instance.
#rb daren.cheng
[FYI] Zahra.Nikbakht

[CL 33274421 by patrick boutot in ue5-main branch]
2024-04-26 15:38:33 -04:00
ben hoffman
b108aceefd MVVM: Fix warning "Failed to read file '../../../Engine/Plugins/Runtime/ModelViewViewModel/Content/Editor/Common/ButtonHoverHint.png'"
#rb patrick.boutot
#jira none

#ushell-cherrypick of 32972715 by kristof.morva1

[CL 33113622 by ben hoffman in ue5-main branch]
2024-04-19 15:39:35 -04:00
zahra nikbakht
cb2a943bcb MVVM: Extension improvements:
Support undo/redo
Support copy/paste
Add setting for supported widget types
#rb patrick.boutot

[CL 33102960 by zahra nikbakht in ue5-main branch]
2024-04-19 10:53:00 -04:00
zahra nikbakht
414291a73e MVVM: add an extension to panel widgets to define entry classes for them and allow binding the generated entries to an array of viewmodels
#rb patrick.boutot

[CL 32933358 by zahra nikbakht in ue5-main branch]
2024-04-12 12:24:08 -04:00
zahra nikbakht
1bd1c64fc1 MVVM: create a ListViewBase extension to support selecting an entry viewmodel and assigning them to entry widgets at runtime.
#rb patrick.boutot

[CL 32364945 by zahra nikbakht in ue5-main branch]
2024-03-20 10:11:43 -04:00
zahra nikbakht
7f230554ca MVVM: support view extensions for injecting MVVM-specific data to widgets.
#patrick.boutot
#rb Patrick.Boutot

[CL 32341457 by zahra nikbakht in ue5-main branch]
2024-03-19 18:05:51 -04:00
patrick boutot
b48842aa7a MVVM: Evalute the bindings automatically when the source is set but the value didn't changed. That is a global option and an option on the viewmodel definition itself.
Change the category of MVVMDeveloperProjectSettings.
Fix bug in customization, the bCreateSetter flag was set but never propagated to the copied object.
#jira UE-209383
#rb editor-ui-systems

[CL 32242163 by patrick boutot in ue5-main branch]
2024-03-14 08:07:46 -04:00
alex thomson
ba8cc99617 MVVM / UEFN: in UEFN, allow MVVM conversion functions to be used.
#rnx
#rb Graham.Lewis, Patrick.Boutot

[CL 32154927 by alex thomson in ue5-main branch]
2024-03-11 10:57:54 -04:00
patrick boutot
97f39a99cb MVVM: Fix GetReturn value that returns an invalid property in the MVVM context. There is only one none const out param or a property mark as the return type. That is to prevent unintended mistakes with argument ordering.
#jira UE-200604
#rb yohann.dossantos

[CL 32152299 by patrick boutot in ue5-main branch]
2024-03-11 08:20:13 -04:00
patrick boutot
259878c511 MVVM: Add an option to auto update the view's viewmodel when it's creation context is the global viewmodel collection. The viewmodel can be added/remove/modified from the global viewmodel collection at anytime and it will update the view.
#jira UE-208792
#rb editor-ui-systems

[CL 31991059 by patrick boutot in ue5-main branch]
2024-03-04 12:09:48 -05: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
0de814afb9 Add option to filter the resolver to only returns the viewmodel desired class.
#jira UE-207188
#rb yohann.dossantos

[CL 31795278 by patrick boutot in ue5-main branch]
2024-02-25 21:26:40 -05:00