184 Commits

Author SHA1 Message Date
Dario Mazzanti
d9a46a142a [Remote Control] Enums not properly supported in RCP
C++ and BP enum properties are handled differently, with the former not properly working with RC Controllers.

#jira UE-189659
#rb Jeremie.Roy

[CL 26608918 by Dario Mazzanti in 5.3 branch]
2023-07-26 11:37:11 -04:00
Dario Mazzanti
5cead17245 [Remote Control] Controllers List Items: add column extensibility
By registering to the new IRemoteControlUIModule delegates:
- OnAddControllerExtensionColumn
- OnGenerateControllerExtensionsWidgets

it is possible to add a custom column to the controllers list, and customize its widget, e.g. to perform custom actions on the controller

#jira UE-190624
#rb Jeremie.Roy
#p4v-cherrypick 26515173

[CL 26603892 by Dario Mazzanti in 5.3 branch]
2023-07-26 08:51:53 -04:00
Dario Mazzanti
098c1ebeff [Remote Control] Prevent unsupported types to be available for controller creation when performing drag and drop
Note: not all enums are supported. For now, this CL will disable drag and drop for all enums. Created jira UE-189659 to address that.

#jira UE-189658
#rb Jeremie.Roy

[CL 26585416 by Dario Mazzanti in 5.3 branch]
2023-07-25 15:38:19 -04:00
dario mazzanti
c44c2be605 [Remote Control] Add UI Module method to retrieve a custom controller widget from outside the RC Module
#jira UE-188914
#rb Jeremie.Roy

[CL 26058780 by dario mazzanti in 5.3 branch]
2023-06-16 13:03:06 -04:00
Dario Mazzanti
eeb3c74890 [Remote Control] Crash in Virtual Production template project
#jira UE-188465
#rb Jeremie.Roy

[CL 25977598 by Dario Mazzanti in ue5-main branch]
2023-06-14 10:14:57 -04:00
jeremie roy
0e985865d5 Fix duplicated LOCTEXT macro keys in RemoteControlUI causing CIS error
#jira UE-188450
#rb simon.therriault
#fyi Dario.Mazzanti

[CL 25927514 by jeremie roy in ue5-main branch]
2023-06-12 09:41:45 -04:00
Dario Mazzanti
4c98dcb432 [Remote Control] Expose Sub Properties
(on behalf of Andrea Botti)

#jira none
#rb Jeremie.Roy

[CL 25892646 by Dario Mazzanti in ue5-main branch]
2023-06-09 10:24:17 -04:00
Dario Mazzanti
9dd0bf95f1 [Remote Control] Remote Control Logic - Adds Object controllers and Custom Texture controller
Adds support for some Object controllers:
- Static Mesh
- Material Interface
- Texture (as a custom controller)

Adds support for "custom" controllers, which can be considered as a specialized version of existing controller types
- Custom Texture controller is a specialized string controller loading a texture from a file path or from an asset, through a dedicated widget.

Known issues: transaction are not handled properly. It was difficult to differentiate between what's the expected RC handling of controllers and exposed properties, and the behavior resulting from undoing actions for these new controllers.

Further development of the Texture controller might include the creation of a dedicated struct e.g. FTextureSelector

#jira UE-184894
#rb Jeremie.Roy

[CL 25874085 by Dario Mazzanti in ue5-main branch]
2023-06-08 12:17:02 -04:00
Dario Mazzanti
63ad85c122 [Remote Control] Rebinding Remote Control Property Does not change owner name of multiple properties
Adds an override to Refresh in SRCPanelExposedEntity, and call SRCPanelExposedEntity::Refresh from child classes SRCPanelExposedField::Refresh() and SRCPanelExposedActpr::Refresh().
This allows the Entity internal cached data to be updated after the Rebind.

Upvoted ver.5
Version 6 is merging changes coming from latest.

#jira UE-182526
#rb Jeremie:Roy
#preflight 64622b4df760fe87e9ee418d

[CL 25472287 by Dario Mazzanti in ue5-main branch]
2023-05-15 09:15:58 -04:00
marc audy
20303348c4 Remove (the never should have been exposed) direct access to the private PropertyNode via the PropertyHandle
[CL 25458606 by marc audy in ue5-main branch]
2023-05-12 16:01:47 -04:00
aditya ravichandran
31830290ab Asset Editors: Deprecate OnClose and RequestClose in favor of similar functions that take in a close reason
Fix a crash in some asset editors when you force deleted an asset with pending changes and hit "cancel" on the save dialog

#jira UE-107248
#preflight 64517c880e33f2d51d6e3adb

[CL 25321878 by aditya ravichandran in ue5-main branch]
2023-05-03 14:45:26 -04:00
Paul Vincent
8a916fa3fe 1. Remote Control Preset property valid status not updated after being rebound
#jira UE-169045
#rb Simon.Therriault Jeremie.Roy
#preflight 64358135fa5b95890a42746c

2. Brighten up Vertical Line Dividers in Column Headers for Improved Visibility

#jira UE-162953
#rb Simon.Therriault Jeremie.Roy
#preflight 64358135fa5b95890a42746c

[CL 24992862 by Paul Vincent in ue5-main branch]
2023-04-11 12:14:34 -04:00
Dario Mazzanti
a66403128d [Remote Control] - Adding Field Ids and collapsed controllers list mode
- Adding Field Ids:
	- Add Field Id to URCVirtualPropertyBase
	- Add Field Id based getters to URCVirtualPropertyContainer and to URemoteControlPreset
		e.g. TArray<URCVirtualPropertyBase*> GetControllersByFieldId(const FName InFieldId)
	- Add RefreshUI() method to URemoteControlPreset, so that it's possible to refresh the UI when adding/removing controllers from code
		(this also incidentally allows to refresh the UI just once, e.g. when multiple Controllers are added or removed as a single action

- Updating Controllers List UI / adding "collapsed" mode
	- Add Field Id column
	- Add Value Type column (useful when controlling multiple controllers from a single one in "collapsed" mode)
	- Add "collapsed" mode button (allowing to just show one controller per Field Id)
	- Add FRCTypeTranslator class and FRCTypeHandler classes to facilitate the conversion of values from one Controller type to another, used in "collapsed" mode
	- Add basic spec unit for FRCTypeTranslator, for testing conversions.
	- Add OnRemoteControlPresetOpened delegate to IRemoteControlUIModule, which can be used when entities dealing with a Preset need to refresh themselves or the preset once a Preset is open. For example, a Control Object may change its Field Id when the Preset is not open, so it will need to know when the Preset is available for it to be edited.

#jira UE-172152
#rb jeremie.roy
#preflight 642df8f23670071d831b3d4c

[CL 24939493 by Dario Mazzanti in ue5-main branch]
2023-04-05 19:56:01 -04:00
jeremie roy
6a45ed8e53 CIS fix for remote control related error
#preflight 641b7744ec01de1664527b55
#jira UE-181068
#lockdown alejandro.arango
#rb simon.therriault
[FYI] paul.vincent

[CL 24756562 by jeremie roy in ue5-main branch]
2023-03-22 19:49:34 -04:00
paul vincent
f83a1981e4 Remote Control does not inherit material defaults
#jira UE-144137
#rb Alejandro.Arango Simon.Therriault Jeremie.Roy
#preflight 641b19cdee0aed1347aa2638

[CL 24756378 by paul vincent in ue5-main branch]
2023-03-22 19:42:26 -04:00
Paul Vincent
52a90af2cc Remote Control - Right clicking exposed properties header column shows empty entries
#jira UE-168915
#rb Simon.Therriault Jeremie.Roy
#preflight 64192bec3f3d31c94ad1e522

[CL 24728504 by Paul Vincent in ue5-main branch]
2023-03-21 00:14:49 -04:00
Patrick Boutot
0c164affd0 Slate: Add ObservableArray pattern to ListView, TitleView and TreeView.The TreeView implementation only supports the new pattern for the root items. It is where we would have the most gain in performance when it is changed.
The observable array automatically notify the view when an item is added/removed from the array.
#jira UE-132673
#review https://p4-swarm.epicgames.net/reviews/23853491
#preflight 64087eaaaa00423335a0891f

[CL 24594683 by Patrick Boutot in ue5-main branch]
2023-03-10 13:11:54 -05:00
jeremie roy
79c15f5ef5 Fix network address customization CIS
#rb simon.therriault
#lockdown alejandro.arango
#preflight 6407704d5515f4f57b467170
[FYI] paul.vincent

[CL 24544007 by jeremie roy in ue5-main branch]
2023-03-07 13:20:23 -05:00
paul vincent
f64e723d72 Remote Control Websocket server should not bind to 0.0.0.0 by default
#jira UE-175332
#rb Alejandro.Arango Simon.Therriault Jeremie.Roy
#preflight https://horde.devtools.epicgames.com/job/6406aaf58832f48a4deedc89

[CL 24542026 by paul vincent in ue5-main branch]
2023-03-07 12:02:27 -05:00
paul vincent
7f0281939c 1. Crashes related to missing exposed property
#jira UE-175365
#rb Simon.Therriault Jeremie.Roy

2. Creating Controller with an Unbound Entity Crashes Editor

#jira UE-173762
#rb Simon.Therriault Jeremie.Roy

#preflight 63ee53aeb5262f41ae3379b8

[CL 24261237 by paul vincent in ue5-main branch]
2023-02-16 12:44:16 -05:00
paul vincent
3b6764ffbb 1. RCP Bind Logic is a step behind in transactions
#jira UE-168787
#rb Jeremie.Roy
#preflight 63e5df2a98775169f8dc5609

2. 'Reset to Default' setting point light intensity at 5,000 in Web App

#jira UE-173362
#rb Jeremie.Roy

[CL 24136962 by paul vincent in ue5-main branch]
2023-02-11 12:37:45 -05:00
george rolfe
83903f7c23 RC error output callback
#jira UE-175568
#rb simon.therriault
#preflight 63c8d9c52a6acaf162601344

[CL 23924033 by george rolfe in ue5-main branch]
2023-01-31 01:28:00 -05:00
Paul Vincent
12c8e1f7aa 1. RCP -Allowing String controller to be multiline when controller is binding Textbox
#author Andrea.Botti
#jira UE-172320
#rb Simon.Therriault Jeremie.Roy
#preflight 63ca581f894b640314817969

2. Remote Control Preset WebSocket updates are sometimes incorrect for nested bitfields

#author Andrea.Botti
#jira UE-169031
#rb Simon.Therriault Jeremie.Roy
#preflight 63ca581f894b640314817969

[CL 23787339 by Paul Vincent in ue5-main branch]
2023-01-20 04:11:09 -05:00
Juan Portillo
5bb6c1543e Remote Control:
- Fix issue with Reordering Controller Items not correctly updating all Controller Display Indices when reordering an item downwards

#jira UE-173768
#rb Simon.Therriault
#preflight 63c873fb02024f93d8f73911

[CL 23766911 by Juan Portillo in ue5-main branch]
2023-01-18 18:12:28 -05:00
George Rolfe
71a9cde1f9 RC Controllers - use field name when drag/dropped as controller
#jira UE-172944
#rb paul.vincent simon.therriault
#preflight 63c730e00b358b97d1c629b9

[CL 23749365 by George Rolfe in ue5-main branch]
2023-01-17 19:28:33 -05:00