Commit Graph

347 Commits

Author SHA1 Message Date
zahra nikbakht
c8c8a94f86 Add accessors for UImage.
#rb patrick.boutot
#jira ue-145352
#preflight 6376944f314f06b6860fe772

[CL 23182587 by zahra nikbakht in ue5-main branch]
2022-11-17 15:29:32 -05:00
yohann dossantos
e3275ca59b Improve Scrollbox slot to support the same settings than the vertical/horizontal/stack box:
- size rule auto and strech.
- max size.
Expose the size rule also in the ScrollBoxSlot for UMG.

tests:
-reverted some workaround in the code and used the new FillSize slot parameter with success.
-tested a lot of sub editors, as the code also impact vertical/horizontal box.
-created new UMG data in QAGame using the new attributes (will submit them soon), and used blueprint graph to change the size settings of a scrollbox slot.

#jira UE-161777
#rb patrick.boutot
#preflight 6360112be86070572fd89aae

[CL 22868510 by yohann dossantos in ue5-main branch]
2022-10-31 14:44:30 -04:00
patrick boutot
43dacdd9e1 UMG: Add stackbox, a panel that behave like a vertical or horizontal box base. The direction can be changed at runtime.
#preflight 631b3a0bd31788ea3a95a7c7

[CL 22023181 by patrick boutot in ue5-main branch]
2022-09-14 23:20:53 -04:00
tyler staples
7e7bf0ea83 Only set SImage MouseDown and DoubleClick event if bound.
This can save a fair amount of memory when there are many widgets.

#rb patrick.boutot, jc.authier

#ROBOMERGE-AUTHOR: tyler.staples
#ROBOMERGE-SOURCE: CL 21162894 via CL 21163447 via CL 21172136 via CL 21174135 via CL 21180049
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21192210 by tyler staples in ue5-main branch]
2022-07-20 18:26:27 -04:00
zach bethel
34623f0321 Replaced thread-local MemStack with ConcurrentLinearAllocator across the renderer.
- Removed scene render mem-mark among others. MemStack usage is now restricted to local scopes with known marks.
 - Render resources with destructors are allocated using the FSceneRenderingBulkObjectAllocator on FSceneRenderer, which is deleted when the scene render is.

#preflight 62b266e20d4d6228de97babe
#rb mihnea.balta, yuriy.odonnell

[CL 20907647 by zach bethel in ue5-main branch]
2022-06-30 19:55:24 -04:00
Patrick Boutot
26189bda15 DrawElements
Slate: Transform DrawElements from Vector2D to Vector2f. Use FDeprecateVector2D to create a deprecation path for function that returns a FVector2D.
#jira UE-137340
#rb sebastian.nordgren
#preflight 627572e0dd374c4235ce3174, 62791043822bdc69f007e4de

[CL 20102076 by Patrick Boutot in ue5-main branch]
2022-05-09 09:54:59 -04:00
nicholas howe
189a088784 Fix a bug where a widget disappears for a frame when it changes from volatile to non-volatile, by adding the NeedsRepaint update flag in SWidget::UpdateFastPathVolatility when the widget is not volatile.
#jira UE-147232
#rb patrick.boutot
#preflight 623def3d176814cb3ae208e3

#ROBOMERGE-AUTHOR: nicholas.howe
#ROBOMERGE-SOURCE: CL 19516552 via CL 19517665 via CL 19517712 via CL 19517718
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19519487 by nicholas howe in ue5-main branch]
2022-03-25 18:28:53 -04:00
chris gagnon
cb6fa7eca5 Made it so that yo can't interacte with the main frame until you choose a project.
The window is only closable if a project is open.

The goal here is to avoid situations where a user start modifying the empty level while not in a project.

#rb Matt.Kuhlenschmidt
#preflight https://horde.devtools.epicgames.com/job/622abbcfdf3960e506b8df9#b

#ROBOMERGE-AUTHOR: chris.gagnon
#ROBOMERGE-SOURCE: CL 19355372 via CL 19357276 via CL 19360244 via CL 19362489 via CL 19362585
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19365028 by chris gagnon in ue5-main branch]
2022-03-11 19:37:06 -05:00
daren cheng
9f856ec8fa Fix additional menu jitters by saving rounded window sizes & restoring ceil usage to prevent unnecessary scroll bars.
#jira UE-143648
#preflight 621eb26aca28c556343f9beb
#rb Matt.Kuhlenschmidt, Vincent.Gauthier
#lockdown JeanMichel.Dignard

#ROBOMERGE-AUTHOR: daren.cheng
#ROBOMERGE-SOURCE: CL 19228321 in //UE5/Release-5.0/... via CL 19229151
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19231621 by daren cheng in ue5-main branch]
2022-03-02 17:32:18 -05:00
vincent gauthier
e3e2521af9 Fix to flickering on ComboBox menu when the combobox size changes.
#jira UE-117054, UE-124618, UE-119499
#rb daren.cheng
#preflight 620e9736c91bcd0017a72157

#ROBOMERGE-AUTHOR: vincent.gauthier
#ROBOMERGE-SOURCE: CL 19082150 in //UE5/Release-5.0/... via CL 19097051
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19140709 by vincent gauthier in ue5-main branch]
2022-02-24 23:26:51 -05:00
daren cheng
401c7e0f5e Fix menu's randomly jitter based on aspect ratio and screen resolution
#jira UE-138215
#rb Vincent.Gauthier
#preflight 620c1ef7615db7478d40aacd
#lockdown JeanMichel.Dignard

#ROBOMERGE-AUTHOR: daren.cheng
#ROBOMERGE-SOURCE: CL 19080912 in //UE5/Release-5.0/... via CL 19095632
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19140283 by daren cheng in ue5-main branch]
2022-02-24 23:07:12 -05:00
Patrick Boutot
93e8a1f1b0 Slate: Add a CrashHandler for Slate code.
#rb johan.berg, patrick.laflamme
#preflight 62054589b84973a2bb5f8699

[CL 18938316 by Patrick Boutot in ue5-main branch]
2022-02-10 12:19:47 -05:00
patrick boutot
80c2208955 Slate: Try to fix random crash that corrupt the memory in SlatePrepass.
#rb vincent.gauthier
#preflight 6202d4807e40979d33b88959

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 18913709 via CL 18913713 via CL 18913717 via CL 18918971 via CL 18920421
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18920677 by patrick boutot in ue5-main branch]
2022-02-09 12:49:16 -05:00
patrick boutot
9d38d6eea0 Slate: Update the LayerId in invalidation when the widget painted more elements than the previous paint. Disable by default. You can enable it with the cvar `Slate.InvalidationList.EnableReindexLayerId. This occurs when a child-widget was collapsed and is now visible. The sibling of the widget may have the same LayerId as the child-widget. That would affect how the elements are rendered.
#jira UE-136046, UE-106162
#rb vincent.gauthier
#preglight 61f94bb6a6632a34f372935a

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 18810476 via CL 18810478 via CL 18810490 via CL 18821442 via CL 18822953
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18825126 by patrick boutot in ue5-main branch]
2022-02-02 08:23:10 -05:00
andrew davidson
8e95b10069 Fix FVector2D variant casts - Runtime
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f8729a5a026d2d19bb9ca6
#preflight 61f87a025a026d2d19be76ed

#ROBOMERGE-OWNER: andrew.davidson
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18802361 in //UE5/Release-5.0/... via CL 18802891 via CL 18821557
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821641 by andrew davidson in ue5-main branch]
2022-02-02 01:47:07 -05:00
marc audy
6553e6cd0a Remove as much C++ deprecation as possible up to 4.17 (along with a few scattered removals from beyond)
#preflight 61eefc77ba69a4fdb220bf23

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18713191 by marc audy in ue5-main branch]
2022-01-24 15:07:48 -05:00
devin doucette
c1403125de StringBuilder: Deprecated Append(Char) in favor of AppendChar(Char)
Having only one Append overload with a single argument makes for clearer error messages. Otherwise, a failure to match Append(CharRangeType) leads to an error that ArgType cannot be converted to CharType.

#rb Zousar.Shaker
#preflight 61d72f3f6511bc498e54c250

#ROBOMERGE-OWNER: devin.doucette
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18533638 in //UE5/Release-5.0/... via CL 18534325 via CL 18534364
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18534540 by devin doucette in ue5-main branch]
2022-01-06 14:34:59 -05:00
devin doucette
25eb043633 StringBuilder: Deprecated Append(Char) in favor of AppendChar(Char)
Having only one Append overload with a single argument makes for clearer error messages. Otherwise, a failure to match Append(CharRangeType) leads to an error that ArgType cannot be converted to CharType.

#rb Zousar.Shaker
#preflight 61d72f3f6511bc498e54c250

#ROBOMERGE-OWNER: devin.doucette
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18533638 in //UE5/Release-5.0/... via CL 18534325
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18534364 by devin doucette in ue5-release-engine-test branch]
2022-01-06 14:27:35 -05:00
patrick boutot
7184eca3af Slate: Add test to see if widgets have a valid LayerId.
#rb vincent.gauthier
#preflight 61d6ebac932a02483cd2e7d3

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 18532890 via CL 18532895 via CL 18532903 via CL 18533472 via CL 18533989 via CL 18534183
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18534324 by patrick boutot in ue5-main branch]
2022-01-06 14:26:05 -05:00
patrick boutot
95c9927feb Slate: Fix the Overlay ZOrder and ConstraintConvas ZOrder in invalidation. The children's order needs to match the order they are painted in for the GlobalInvalidation to work.
#preflight 61d6f371d17842e547c6cc98

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 18531659 via CL 18531664 via CL 18531673 via CL 18532146 via CL 18533862 via CL 18534070
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18534227 by patrick boutot in ue5-main branch]
2022-01-06 14:22:10 -05:00
patrick boutot
8cd8502185 Slate: Add test to see if widgets have a valid LayerId.
#rb vincent.gauthier
#preflight 61d6ebac932a02483cd2e7d3

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 18532890 via CL 18532895 via CL 18532903 via CL 18533472 via CL 18533989
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18534183 by patrick boutot in ue5-release-engine-test branch]
2022-01-06 14:19:18 -05:00
patrick boutot
a01a04d893 Slate: Fix the Overlay ZOrder and ConstraintConvas ZOrder in invalidation. The children's order needs to match the order they are painted in for the GlobalInvalidation to work.
#preflight 61d6f371d17842e547c6cc98

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 18531659 via CL 18531664 via CL 18531673 via CL 18532146 via CL 18533862
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18534070 by patrick boutot in ue5-release-engine-test branch]
2022-01-06 14:14:44 -05:00
Leon Huang
109e2cd26d Introduced screen reader navigation policies. This allows the screen reader to navigate around UI elements on the screen separate from regular Slate navigation.
- Introduced IScreenReaderNavigationPolicy. This is an interface class that helps the screen reader navigate to the appropriate target accessible widget.
- Introduced FScreenReaderDefaultNavigationPolicy. This is a policy that all FScreenReaderUsers have by default. It helps the screen reader user find target accessible widgets that are enabled and can be focused on.
- Introduced focus navigation functions to FScreenReaderUser. This is the means clients can control and shift accessible focus for FScreenReaderUsers.
- IAccessibleWidget can now retrieve the logical next and previous widget in the accessible widget hierarchy. This functionality is similar to that of mobile screen readers like Voiceover and Android Talkback which allow users to navigate around the UI hierarchy with left and right swipes.
- IAccessibleWidget can now search for a target widget from a source widget based on a search criteria. This is useful for searching for widgets by characteristics (such as enabled state, widget type etc).
- Fixed a small bug in accessible focus where an accessible widget with application focus cannot receive accessible focus again and have its contents announced to the end user.
#rb: Prajwal.Manjunath
#jira: UE-130926
#preflight: 61baf981440d71c977b3089a

[CL 18477319 by Leon Huang in ue5-main branch]
2021-12-16 13:57:14 -05:00
Leon Huang
cbb0f379be Generic Accessible Interfaces refactor to support multiple users and focuses.
- Moved FAccessibleEventArgs out of FGenericAccessibleMessageHandler to avoid the need to include GenericAccessibleInterfaces.h in header files where all
they really need is a forward declaration of the struct.
- Removed instances of FGenericAccessibleMessageHandler::FAccessibleEventArgs to FAccessibleEventArgs.

- Updated API for IAccessibleWidget and IAccessibleWindow that deal with getting and setting focus to also take a user index parameter. This facilitates multiple accessible users for the same application.
-Updated platform files that leverage the old IAccessibleWidget and IAccessibleWindow focus API

- Introduced FGenericAccessibleUser and FGenericAccessibleUserRegistry to GenericAccessibleInterfaces.h. An FGenericAccessibleUser is meant to be analogous to FSlateUser that keeps track of hardware users' focus. An FGenericAccessibleUserRegistry is a registry of FGenericAccessibleUsers. These interfaces are meant to insulate FGenericAccessibleMessageHandler from storing and tracking
focus etc when that should be an implementation detail by other modules.
- Refactored how FSlateCoreAccessibleWidgets set focus in the application. Accessible focus is now unified to a single code path that starts from FSlateAccessibleMessageHandler. Requests to shift accessible focus should be done by raising a Slate accessible event or through IAccessibleWidget::SetUserFocus()
- Introduced finer grain querying of focus capabilities for an IAccessibleWidget. Users can now check if an AccessibleWidget supports regular focus (keyboard/gamepad), if it supports accessible focus and if the widget can currently accept regular or accessible focus.
-Updated platforms to use the new FGenericAccessibleUser and FGenericAccessibleUserRegistry ApI to update and retrieve user focus.

#preflight: 61af2481813adc3fbb2ca7d5

[CL 18396441 by Leon Huang in ue5-main branch]
2021-12-07 12:50:45 -05:00
robb surridge
0d146fd165 Allow links in interactive tooltips to be clickable when the tooltip is spawned from modal windows and menu items.
#jira 112412, 135236
#rb vincent.gauthier

#ROBOMERGE-AUTHOR: robb.surridge
#ROBOMERGE-SOURCE: CL 18311798 in //UE5/Release-5.0/... via CL 18311835
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18311868 by robb surridge in ue5-release-engine-test branch]
2021-11-29 12:20:56 -05:00