From 6fa50a3c2c4bcc6c4a7d1ea51ba724536893a00c Mon Sep 17 00:00:00 2001 From: Stephen Whittle Date: Fri, 5 Aug 2022 17:03:37 +1000 Subject: [PATCH] 2.20.2048 * Implemented UModioSubsystem::SubmitModChangesAsync allowing you to edit mod name, description, etc * Implemented UModioSubsystem::PrioritizeTransferForMod allowing you to request a transfer begin immediately, bumping the current transfer back to the queue * Expose `FModioCreateModParams` and `FModioCreateModFileParams` to Blueprint * Minor UI updates * UE4.27 compatibility improvements * Improve support for non-unity builds * Update NativeSDK --- .../ModioSearchResultsViewWidget.uasset | Bin 38336 -> 44216 bytes Doc/documentation.html | 125 +++++++++++++----- Source/MSDFSupport/MSDFSupport.build.cs | 4 +- Source/MSDFSupport/Public/MSDFAssetData.h | 2 +- Source/MSDFSupport/Public/SVGToSDF.h | 18 +-- Source/Modio/Modio.Build.cs | 8 +- .../Internal/Convert/CreateModParams.h | 7 +- .../Private/Internal/Convert/EditModParams.h | 34 +++++ .../Libraries/ModioCreateModLibrary.cpp | 54 ++++++++ .../Private/Libraries/ModioEditModLibrary.cpp | 43 ++++++ Source/Modio/Private/Modio.cpp | 68 +++++++++- Source/Modio/Private/ModioModule.cpp | 25 +++- Source/Modio/Private/ModioModule.h | 2 + Source/Modio/Private/ModioSubsystem.cpp | 45 ++++++- .../Public/Libraries/ModioCreateModLibrary.h | 51 +++++++ .../Public/Libraries/ModioEditModLibrary.h | 43 ++++++ Source/Modio/Public/ModioSDK.h | 1 - Source/Modio/Public/ModioSubsystem.h | 52 ++++++++ Source/Modio/Public/Types/ModioCommonTypes.h | 1 + .../Modio/Public/Types/ModioEditModParams.h | 32 +++++ Source/ModioUI/Private/ModioUISubsystem.cpp | 2 +- .../UI/BaseWidgets/ModioModNameWidget.h | 11 +- .../UI/Dialogs/ModioDialogController.cpp | 56 +++++--- .../IModioUIModManagementEventReceiver.cpp | 2 + .../IModioUISubscriptionsChangedReceiver.cpp | 2 + .../SearchResults/ModioSearchResultsView.cpp | 35 ++++- .../ModioUI/Public/Core/ModioFilterParamsUI.h | 2 +- .../Public/Core/ModioModCollectionEntryUI.h | 4 +- Source/ModioUI/Public/Core/ModioModInfoUI.h | 2 +- .../ModioUI/Public/Core/ModioTagOptionsUI.h | 6 +- Source/ModioUI/Public/ModioUISubsystem.h | 40 +++--- .../ModioUI/Public/Settings/ModioUISettings.h | 22 +-- .../ModioUI/Public/UI/BaseWidgets/FxWidget.h | 12 +- .../Public/UI/BaseWidgets/ModioButton.h | 6 +- .../Public/UI/BaseWidgets/ModioCheckBox.h | 4 +- .../Public/UI/BaseWidgets/ModioCircle.h | 12 +- .../UI/BaseWidgets/ModioCircularProgressBar.h | 18 +-- .../UI/BaseWidgets/ModioCodeInputWidget.h | 8 +- .../Public/UI/BaseWidgets/ModioComboBox.h | 2 +- .../UI/BaseWidgets/ModioComboBoxString.h | 8 +- .../ModioDefaultPopupMenuContent.h | 6 +- .../UI/BaseWidgets/ModioDrawerController.h | 8 +- .../UI/BaseWidgets/ModioEditableTextBox.h | 4 +- .../Public/UI/BaseWidgets/ModioImage.h | 6 +- .../UI/BaseWidgets/ModioInputBindingImage.h | 8 +- .../Public/UI/BaseWidgets/ModioListView.h | 4 +- .../UI/BaseWidgets/ModioLoadingSpinner.h | 4 +- .../Public/UI/BaseWidgets/ModioLogoWidget.h | 2 +- .../ModioMultiLineEditableTextBox.h | 4 +- .../UI/BaseWidgets/ModioPopupComboBox.h | 22 +-- .../Public/UI/BaseWidgets/ModioPopupMenu.h | 12 +- .../Public/UI/BaseWidgets/ModioProgressBar.h | 4 +- .../ModioReportButtonGroupWidget.h | 2 +- .../UI/BaseWidgets/ModioRichTextBlock.h | 4 +- .../UI/BaseWidgets/ModioRoundedBorder.h | 4 +- .../Public/UI/BaseWidgets/ModioRoundedImage.h | 4 +- .../Public/UI/BaseWidgets/ModioScrollBox.h | 4 +- .../Public/UI/BaseWidgets/ModioTextBlock.h | 2 +- .../Public/UI/BaseWidgets/ModioTileView.h | 8 +- .../UI/BaseWidgets/ModioUIAsyncLoader.h | 2 +- .../BaseWidgets/ModioUIAsyncLoadingOverlay.h | 8 +- .../ModioUserWidgetNamedSlotBase.h | 2 +- .../UI/BaseWidgets/ModioWidgetSwitcher.h | 2 +- .../BaseWidgets/Slate/SModioCustomComboBox.h | 1 + .../Slots/ModioDrawerControllerSlot.h | 10 +- .../UI/Commands/ModioCommonUICommands.h | 14 +- .../Public/UI/Commands/ModioUIMenuEntry.h | 2 +- .../ModioAuthenticationMethodSelector.h | 2 +- .../Public/UI/CommonComponents/ModioDrawer.h | 4 +- .../CommonComponents/ModioDrawerContentBase.h | 12 +- .../CommonComponents/ModioErrorRetryWidget.h | 6 +- .../CommonComponents/ModioImageGalleryBase.h | 14 +- .../CommonComponents/ModioListViewInteger.h | 6 +- .../UI/CommonComponents/ModioListViewString.h | 6 +- .../Public/UI/CommonComponents/ModioMenu.h | 26 ++-- .../Public/UI/CommonComponents/ModioMenuBar.h | 6 +- .../ModioModManagementWidgetBase.h | 10 +- .../ModioModPropertyInspectorBase.h | 8 +- .../Public/UI/CommonComponents/ModioModTile.h | 4 +- .../UI/CommonComponents/ModioModTileBase.h | 22 +-- .../UI/CommonComponents/ModioRichTextButton.h | 10 +- .../UI/CommonComponents/ModioSelectableTag.h | 2 +- .../CommonComponents/ModioSubscriptionBadge.h | 14 +- .../Public/UI/CommonComponents/ModioTabBar.h | 14 +- .../UI/CommonComponents/ModioTabButton.h | 2 +- .../UI/CommonComponents/ModioTabController.h | 16 +-- .../Public/UI/CommonComponents/ModioTagList.h | 12 +- .../CommonComponents/ModioTagListWidgetBase.h | 10 +- .../ModioTagSelectorWidgetBase.h | 8 +- .../UI/CommonComponents/ModioTagWidgetBase.h | 12 +- .../CommonComponents/ModioUserProfileButton.h | 12 +- .../UI/CommonComponents/ModioWidgetCarousel.h | 6 +- .../Public/UI/Dialogs/ModioDialogBase.h | 2 +- .../UI/Dialogs/ModioDialogBaseInternal.h | 5 +- .../Public/UI/Dialogs/ModioDialogController.h | 22 +-- .../Public/UI/Dialogs/ModioDialogInfo.h | 40 +++--- .../UI/Dialogs/ModioMoreOptionsDialog.h | 2 +- .../Public/UI/Dialogs/ModioRemoveModDialog.h | 8 +- .../UI/Dialogs/ModioSearchOptionsDialog.h | 8 +- .../DownloadQueue/ModioDownloadQueueDrawer.h | 14 +- .../DownloadQueue/ModioDownloadQueueEntry.h | 14 +- .../ModioDownloadQueueOpProgress.h | 12 +- .../RefineSearch/ModioRefineSearchDrawer.h | 8 +- .../IModioUIMediaDownloadCompletedReceiver.h | 1 + .../IModioUIModManagementEventReceiver.h | 1 + .../IModioUISubscriptionsChangedReceiver.h | 1 + .../IModioUIUserChangedReceiver.h | 1 + .../Input/ModioNavigationConfigFactoryBase.h | 10 +- .../Interfaces/IModioMenuBackgroundProvider.h | 2 +- .../UI/Interfaces/IModioModInfoUIDetails.h | 4 +- .../Interfaces/IModioUIAsyncHandlerWidget.h | 2 +- .../Interfaces/IModioUIAsyncOperationWidget.h | 6 +- .../UI/Interfaces/IModioUIAsyncRetryWidget.h | 2 +- .../IModioUIAuthenticationDataProvider.h | 12 +- .../UI/Interfaces/IModioUIBusyStateWidget.h | 4 +- .../UI/Interfaces/IModioUIClickableWidget.h | 4 +- .../UI/Interfaces/IModioUIDataSourceWidget.h | 2 +- .../Interfaces/IModioUIDialogButtonWidget.h | 4 +- .../Interfaces/IModioUIDownloadQueueWidget.h | 4 +- .../Interfaces/IModioUIErrorDisplayWidget.h | 9 +- .../UI/Interfaces/IModioUIImageDisplay.h | 2 +- .../IModioUIInputHintGlyphProvider.h | 2 +- .../UI/Interfaces/IModioUIModDetailsDisplay.h | 6 +- .../UI/Interfaces/IModioUIModEnableWidget.h | 1 + .../UI/Interfaces/IModioUINotification.h | 30 ++--- .../IModioUINotificationController.h | 7 +- .../IModioUIPopupMenuContentWidget.h | 4 +- .../Interfaces/IModioUIRefineSearchWidget.h | 8 +- .../UI/Interfaces/IModioUIStringInputWidget.h | 6 +- .../UI/Interfaces/IModioUITextValidator.h | 30 ++--- .../Interfaces/IModioUIUserStringListEntry.h | 2 +- .../ModioNotificationController.h | 4 +- .../ModioNotificationControllerSlot.h | 10 +- .../ModioNotificationWidgetBase.h | 16 +-- .../Public/UI/Styles/ModioButtonStyle.h | 10 +- .../Public/UI/Styles/ModioCheckBoxStyle.h | 12 +- .../Public/UI/Styles/ModioCodeInputStyle.h | 12 +- .../Public/UI/Styles/ModioComboBoxStyle.h | 8 +- .../UI/Styles/ModioCustomComboBoxStyle.h | 10 +- .../Public/UI/Styles/ModioDialogStyle.h | 12 +- .../UI/Styles/ModioDownloadQueueEntryStyle.h | 8 +- .../Public/UI/Styles/ModioDrawerWidgetStyle.h | 8 +- .../Public/UI/Styles/ModioDynamicImageStyle.h | 6 +- .../UI/Styles/ModioEditableTextBoxStyle.h | 7 +- .../Public/UI/Styles/ModioInputMappingGlyph.h | 12 +- .../ModioMultiLineEditableTextBoxStyle.h | 4 +- .../UI/Styles/ModioNamedGlyphMaterialParams.h | 2 +- .../Public/UI/Styles/ModioNotificationStyle.h | 20 +-- .../Public/UI/Styles/ModioProgressBarStyle.h | 2 +- .../Public/UI/Styles/ModioRichTextStyle.h | 6 +- .../ModioRoundedRectangleMaterialParams.h | 24 ++-- .../UI/Styles/ModioSpecifiedMaterialParams.h | 2 +- .../UI/Styles/ModioSubscriptionBadgeStyle.h | 10 +- .../Public/UI/Styles/ModioTableRowStyle.h | 14 +- .../Public/UI/Styles/ModioTagWidgetStyle.h | 12 +- .../UI/Styles/ModioTextBlockStyleOverride.h | 4 +- .../UI/Styles/ModioTextWidgetStyleContainer.h | 2 +- .../Public/UI/Styles/ModioUIBrushRef.h | 2 +- .../Public/UI/Styles/ModioUIColorRef.h | 2 +- .../Public/UI/Styles/ModioUIStyleRef.h | 2 +- .../Public/UI/Styles/ModioUIStyleSet.h | 20 +-- .../UI/Styles/ModioUIWidgetStyleContainer.h | 4 +- .../Public/UI/Styles/ModioWidgetBorderStyle.h | 10 +- .../CategoryBrowser/ModioFeaturedCategory.h | 14 +- .../ModioFeaturedCategoryParams.h | 12 +- .../Views/CategoryBrowser/ModioFeaturedMod.h | 4 +- .../Views/CategoryBrowser/ModioFeaturedView.h | 6 +- .../Collection/ModioCollectionTileStatus.h | 12 +- .../UI/Views/Collection/ModioCollectionView.h | 18 +-- .../Views/Collection/ModioModCollectionTile.h | 8 +- .../ModDetails/ModioAsyncOpWrapperWidget.h | 2 +- .../Views/ModDetails/ModioModDetailsImage.h | 6 +- .../ModDetails/ModioModDetailsImageGallery.h | 8 +- .../ModDetails/ModioModDetailsOpProgress.h | 12 +- .../ModioModDetailsPropertyInspector.h | 2 +- .../UI/Views/ModDetails/ModioModDetailsView.h | 38 +++--- .../ModioUI/Public/UI/Views/ModioMenuView.h | 4 +- .../SearchResults/ModioSearchResultsView.h | 27 ++-- .../AssetTypeActions_ModioDialogInfo.cpp | 1 + Source/ThirdParty/NativeSDK | 2 +- Source/uring/uring.build.cs | 2 +- 181 files changed, 1293 insertions(+), 730 deletions(-) create mode 100644 Source/Modio/Private/Internal/Convert/EditModParams.h create mode 100644 Source/Modio/Private/Libraries/ModioCreateModLibrary.cpp create mode 100644 Source/Modio/Private/Libraries/ModioEditModLibrary.cpp create mode 100644 Source/Modio/Public/Libraries/ModioCreateModLibrary.h create mode 100644 Source/Modio/Public/Libraries/ModioEditModLibrary.h create mode 100644 Source/Modio/Public/Types/ModioEditModParams.h diff --git a/Content/UI/Browser/Views/SearchResults/ModioSearchResultsViewWidget.uasset b/Content/UI/Browser/Views/SearchResults/ModioSearchResultsViewWidget.uasset index 17229ab3f1cce6805ff67d91035707a229059e87..19825e0a0a05cdcec8cdd359bb7b1a4017ec1cc1 100644 GIT binary patch literal 44216 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 diff --git a/Doc/documentation.html b/Doc/documentation.html index 7d6deb8d..d3d1fade 100644 --- a/Doc/documentation.html +++ b/Doc/documentation.html @@ -1351,6 +1351,7 @@

mod.io UE4 Plugin Documentation

  • EModioGallerySize
  • EModioAvatarSize
  • EModioLogoSize
  • +
  • EModioModfilePlatform
  • EModioPortal
  • EModioEnvironment
  • EModioErrorCondition
  • @@ -11346,11 +11347,71 @@

    Values


    +

    EModioModfilePlatform

    +
    +

    Enum representing the platform(s) that a modfile is enabled for

    +
    +

    Values

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Windows

    Mac

    Linux

    Android

    iOS

    XboxOne

    XboxSeriesX

    PS4

    PS5

    Switch

    Oculus

    +
    +
    +

    EModioPortal

    Enum representing the store or service your game is being distributed through

    -

    Values

    +

    Values

    @@ -11406,7 +11467,7 @@

    EModioEnvironment

    Enum representing what environment your game is deployed in

    -

    Values

    +

    Values

    @@ -11427,7 +11488,7 @@

    Values

    EModioErrorCondition

    -

    Values

    +

    Values

    @@ -11482,6 +11543,10 @@

    Values

    + + + +

    UserAlreadyAuthenticatedError

    When this condition is true, the error code indicates that the user is already authenticated.

    SystemError

    When this condition is true, the error code indicates that a low-level system error occurred outside of mod.io SDK control.


    @@ -11491,7 +11556,7 @@

    EModioSortDirecti

    Enum indicating which direction sorting should be applied

    -

    Values

    +

    Values

    @@ -11515,7 +11580,7 @@

    EModioSortFieldTy

    Enum indicating which field should be used to sort the results

    -

    Values

    +

    Values

    @@ -11556,7 +11621,7 @@

    Values

    EModioImageState

    -

    Values

    +

    Values

    @@ -11588,7 +11653,7 @@

    EModioModState

    Enum representing the current state of a mod

    -

    Values

    +

    Values

    @@ -11625,7 +11690,7 @@

    Values

    EModioRating

    -

    Values

    +

    Values

    @@ -11650,7 +11715,7 @@

    Values

    EModioReportType

    -

    Values

    +

    Values

    @@ -11695,7 +11760,7 @@

    Values

    EFileSizeUnit

    -

    Values

    +

    Values

    @@ -11728,7 +11793,7 @@

    Values

    EModioUIInputMode

    -

    Values

    +

    Values

    @@ -11765,7 +11830,7 @@

    Values

    EModioUIAsyncOperationWidgetState

    -

    Values

    +

    Values

    @@ -11790,7 +11855,7 @@

    Values

    EModioUIDirection

    -

    Values

    +

    Values

    @@ -11819,7 +11884,7 @@

    Values

    EModioUIMediaDownloadEventType

    -

    Values

    +

    Values

    @@ -11844,7 +11909,7 @@

    Values

    EModioUIModInfoEventType

    -

    Values

    +

    Values

    @@ -11865,7 +11930,7 @@

    Values

    EModioTextValidationRule

    -

    Values

    +

    Values

    @@ -11906,7 +11971,7 @@

    Values

    EModioDialogReply

    -

    Values

    +

    Values

    @@ -11931,7 +11996,7 @@

    Values

    EModioDialogOperationCall

    -

    Values

    +

    Values

    @@ -11952,7 +12017,7 @@

    Values

    EModioDialogAsyncCall

    -

    Values

    +

    Values

    @@ -11993,7 +12058,7 @@

    Values

    EModioDialogButtonCommand

    -

    Values

    +

    Values

    @@ -12030,7 +12095,7 @@

    Values

    EModioDrawerControllerSlotEdge

    -

    Values

    +

    Values

    @@ -12059,7 +12124,7 @@

    Values

    EModioInputValidationType

    -

    Values

    +

    Values

    @@ -12084,7 +12149,7 @@

    Values

    EModioMenuDrawer

    -

    Values

    +

    Values

    @@ -12105,7 +12170,7 @@

    Values

    EModioMenuScreen

    -

    Values

    +

    Values

    @@ -12134,7 +12199,7 @@

    Values

    EModioModInfoPropertyType

    -

    Values

    +

    Values

    @@ -12171,7 +12236,7 @@

    Values

    EModioNotificationControllerSlotEdge

    -

    Values

    +

    Values

    @@ -12200,7 +12265,7 @@

    Values

    EModioPopupPlacement

    -

    Values

    +

    Values

    @@ -12221,7 +12286,7 @@

    Values

    EModioScrollBoxBarAlignment

    -

    Values

    +

    Values

    @@ -12254,7 +12319,7 @@

    Values

    EModioWidgetCarouselSizeOverrideType

    -

    Values

    +

    Values

    @@ -12281,7 +12346,7 @@

    Values

    diff --git a/Source/MSDFSupport/MSDFSupport.build.cs b/Source/MSDFSupport/MSDFSupport.build.cs index eda66e2e..74478aba 100644 --- a/Source/MSDFSupport/MSDFSupport.build.cs +++ b/Source/MSDFSupport/MSDFSupport.build.cs @@ -64,7 +64,7 @@ public void AddCommonGeneratedSource(string GeneratedSourcePath) } public void CopyCommonGeneratedSource(string GeneratedSourcePath) { - if (File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/msdfgen/.git"))) + if (File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/msdfgen/.git")) || Directory.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/msdfgen/.git"))) { //Clean the generated source directory so that we dont have any stale files in it if (Directory.Exists(GeneratedSourcePath)) @@ -101,7 +101,7 @@ public void CopyCommonGeneratedSource(string GeneratedSourcePath) } public void CopyCommonGeneratedHeaders(string GeneratedHeaderPath) { - if (File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/msdfgen/.git"))) + if (File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/msdfgen/.git")) || Directory.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/msdfgen/.git"))) { //Clean the generated header directory so that we dont have any stale files in it if (Directory.Exists(GeneratedHeaderPath)) diff --git a/Source/MSDFSupport/Public/MSDFAssetData.h b/Source/MSDFSupport/Public/MSDFAssetData.h index 19552897..a6485640 100644 --- a/Source/MSDFSupport/Public/MSDFAssetData.h +++ b/Source/MSDFSupport/Public/MSDFAssetData.h @@ -24,6 +24,6 @@ class MSDFSUPPORT_API UMSDFAssetData : public UAssetUserData { GENERATED_BODY() public: - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Params") FSVGConversionParams ImportParameters; }; diff --git a/Source/MSDFSupport/Public/SVGToSDF.h b/Source/MSDFSupport/Public/SVGToSDF.h index f7f8ec77..1cb77ba9 100644 --- a/Source/MSDFSupport/Public/SVGToSDF.h +++ b/Source/MSDFSupport/Public/SVGToSDF.h @@ -20,25 +20,27 @@ struct MSDFSUPPORT_API FSVGConversionParams { GENERATED_BODY() - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "SVGConversionParams") int32 SVGPathIndex; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (AllowPreserveRatio)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (AllowPreserveRatio), Category = "SVGConversionParams") FVector2D OutputDimensions = FVector2D(32, 32); - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "SVGConversionParams") bool bAutoFrame = true; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "AutoFrame")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "AutoFrame"), Category = "SVGConversionParams") int32 ExtraMargin = 2; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "!bAutoFrame"), meta = (AllowPreserveRatio)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "!bAutoFrame"), meta = (AllowPreserveRatio), + Category = "SVGConversionParams") FVector2D Scale = FVector2D(1, 1); - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "!bAutoFrame")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "!bAutoFrame"), + Category = "SVGConversionParams") FVector2D Translation; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "SVGConversionParams") int32 FieldRangeInPixels = 8; // For future use @@ -51,7 +53,7 @@ class MSDFSUPPORT_API USVGToSDFFunctionLibrary : public UBlueprintFunctionLibrar { GENERATED_BODY() public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="SVGToSDFFunctionLibrary") static bool ConvertSVGToMSDFData(const FString& FilePath, const FSVGConversionParams& Params, TArray& Output); }; \ No newline at end of file diff --git a/Source/Modio/Modio.Build.cs b/Source/Modio/Modio.Build.cs index 42e186a0..b28b25cd 100644 --- a/Source/Modio/Modio.Build.cs +++ b/Source/Modio/Modio.Build.cs @@ -9,6 +9,8 @@ */ // Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +using System; using System.IO; using System.Collections.Generic; using UnrealBuildTool; @@ -122,7 +124,7 @@ private ModioPlatformConfigFile.PlatformConfig LoadNativePlatformConfig() private void CopyCommonGeneratedHeaders(string GeneratedHeaderPath) { // Only process generated headers if we are using the NativeSDK as a git submodule - if (File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/.git"))) + if (Directory.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/.git")) || File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/.git"))) { //Clean the generated source directory so that we dont have any stale files in it if (Directory.Exists(GeneratedHeaderPath)) @@ -153,7 +155,7 @@ private void CopyCommonGeneratedHeaders(string GeneratedHeaderPath) /// The root directory containing the platform-specific source directories private void CopyPlatformGeneratedSource(string GeneratedSourcePath) { - if (File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/.git"))) + if (Directory.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/.git")) || File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/.git"))) { foreach (var PlatformDirectory in Directory.EnumerateDirectories(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/platform"))) { @@ -184,7 +186,7 @@ private void CopyPlatformGeneratedSource(string GeneratedSourcePath) private void CopyCommonGeneratedSource(string GeneratedSourcePath) { string CommonGeneratedSourcePath = Path.Combine(GeneratedSourcePath, "core"); - if (File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/.git"))) + if (Directory.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/.git")) || File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/NativeSDK/.git"))) { //Clean the generated source directory so that we dont have any stale files in it if (Directory.Exists(CommonGeneratedSourcePath)) diff --git a/Source/Modio/Private/Internal/Convert/CreateModParams.h b/Source/Modio/Private/Internal/Convert/CreateModParams.h index 1475941e..9b9349af 100644 --- a/Source/Modio/Private/Internal/Convert/CreateModParams.h +++ b/Source/Modio/Private/Internal/Convert/CreateModParams.h @@ -9,8 +9,8 @@ */ #pragma once -#include "Internal/Convert/Optional.h" #include "Internal/Convert/Numerics.h" +#include "Internal/Convert/Optional.h" #include "Internal/ModioConvert.h" #include "ModioSDK.h" #include "Types/ModioCreateModParams.h" @@ -26,8 +26,9 @@ FORCEINLINE Modio::CreateModParams ToModio(const FModioCreateModParams& In) Out.Description = ToModioOptional(In.Description); Out.HomepageURL = ToModioOptional(In.HomepageURL); Out.Stock = ToModioOptional(In.QuantityAvailable); - Out.MaturityRating = In.MaturityFlags.IsSet() ? static_cast(In.MaturityFlags.GetValue()): Modio::Optional{}; + Out.MaturityRating = In.MaturityFlags.IsSet() ? static_cast(In.MaturityFlags.GetValue()) + : Modio::Optional {}; Out.MetadataBlob = ToModioOptional(In.MetadataBlob); Out.Tags = ToModioOptional>(In.Tags); - return Out; + return Out; } \ No newline at end of file diff --git a/Source/Modio/Private/Internal/Convert/EditModParams.h b/Source/Modio/Private/Internal/Convert/EditModParams.h new file mode 100644 index 00000000..6d09c884 --- /dev/null +++ b/Source/Modio/Private/Internal/Convert/EditModParams.h @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 mod.io Pty Ltd. + * + * This file is part of the mod.io UE4 Plugin. + * + * Distributed under the MIT License. (See accompanying file LICENSE or + * view online at ) + * + */ + +#pragma once + +#include "Internal/Convert/Numerics.h" +#include "Internal/Convert/Optional.h" +#include "Internal/ModioConvert.h" +#include "ModioSDK.h" +#include "Types/ModioEditModParams.h" + +FORCEINLINE Modio::EditModParams ToModio(const FModioEditModParams& In) +{ + Modio::EditModParams Out; + + Out.Name = ToModioOptional(In.Name); + Out.Summary = ToModioOptional(In.Summary); + Out.NamePath = ToModioOptional(In.NamePath); + Out.bVisible = ToModioOptional(In.bVisible); + Out.Description = ToModioOptional(In.Description); + Out.HomepageURL = ToModioOptional(In.HomepageURL); + Out.MaturityRating = In.MaturityFlags.IsSet() ? static_cast(In.MaturityFlags.GetValue()) + : Modio::Optional {}; + Out.MetadataBlob = ToModioOptional(In.MetadataBlob); + + return Out; +} \ No newline at end of file diff --git a/Source/Modio/Private/Libraries/ModioCreateModLibrary.cpp b/Source/Modio/Private/Libraries/ModioCreateModLibrary.cpp new file mode 100644 index 00000000..f52ce864 --- /dev/null +++ b/Source/Modio/Private/Libraries/ModioCreateModLibrary.cpp @@ -0,0 +1,54 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#include "Libraries/ModioCreateModLibrary.h" + +void UModioCreateModLibrary::SetInitialVisibility(FModioCreateModParams& In, bool InitialVisibility) +{ + In.bVisible = InitialVisibility; +} + +void UModioCreateModLibrary::SetDescription(FModioCreateModParams& In, FString Description) +{ + In.Description = Description; +} + +void UModioCreateModLibrary::SetHomepageURL(FModioCreateModParams& In, FString HomepageURL) +{ + In.HomepageURL = HomepageURL; +} + +void UModioCreateModLibrary::SetMetadataBlob(FModioCreateModParams& In, FString MetadataBlob) +{ + In.MetadataBlob = MetadataBlob; +} + +void UModioCreateModLibrary::SetModFileMetadataBlob(FModioCreateModFileParams& In, FString MetadataBlob) +{ + In.MetadataBlob = MetadataBlob; +} + +void UModioCreateModLibrary::SetModfilePlatforms(FModioCreateModFileParams& In, + TArray& Platforms) +{ + In.ModfilePlatforms = Platforms; +} + +void UModioCreateModLibrary::SetTags(FModioCreateModParams& In, TArray& Tags) +{ + In.Tags = Tags; +} + +void UModioCreateModLibrary::SetVersionString(FModioCreateModFileParams& In, FString Version) +{ + In.VersionString = Version; +} + +void UModioCreateModLibrary::SetChangelogString(FModioCreateModFileParams& In, FString Changelog) +{ + In.Changelog = Changelog; +} + +void UModioCreateModLibrary::SetMarkAsActiveRelease(FModioCreateModFileParams& In, bool bMarkAsActiveRelease) +{ + In.bSetAsActiveRelease = bMarkAsActiveRelease; +} diff --git a/Source/Modio/Private/Libraries/ModioEditModLibrary.cpp b/Source/Modio/Private/Libraries/ModioEditModLibrary.cpp new file mode 100644 index 00000000..ef7d0066 --- /dev/null +++ b/Source/Modio/Private/Libraries/ModioEditModLibrary.cpp @@ -0,0 +1,43 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#include "Libraries/ModioEditModLibrary.h" + +void UModioEditModLibrary::SetName(FModioEditModParams& In, FString Name) +{ + In.Name = Name; +} + +void UModioEditModLibrary::SetSummary(FModioEditModParams& In, FString Summary) +{ + In.Summary = Summary; +} + +void UModioEditModLibrary::SetNamePath(FModioEditModParams& In, FString NamePath) +{ + In.NamePath = NamePath; +} + +void UModioEditModLibrary::SetVisibility(FModioEditModParams& In, bool Visibility) +{ + In.bVisible = Visibility; +} + +void UModioEditModLibrary::SetDescription(FModioEditModParams& In, FString Description) +{ + In.Description = Description; +} + +void UModioEditModLibrary::SetHomepageURL(FModioEditModParams& In, FString HomepageURL) +{ + In.HomepageURL = HomepageURL; +} + +void UModioEditModLibrary::SetMaturityFlags(FModioEditModParams& In, EModioMaturityFlags MaturityFlags) +{ + In.MaturityFlags = MaturityFlags; +} + +void UModioEditModLibrary::SetMetadataBlob(FModioEditModParams& In, FString MetadataBlob) +{ + In.MetadataBlob = MetadataBlob; +} diff --git a/Source/Modio/Private/Modio.cpp b/Source/Modio/Private/Modio.cpp index f4815473..23736d77 100644 --- a/Source/Modio/Private/Modio.cpp +++ b/Source/Modio/Private/Modio.cpp @@ -1,13 +1,69 @@ -/* +/* * Copyright (C) 2021 mod.io Pty Ltd. - * + * * This file is part of the mod.io UE4 Plugin. - * - * Distributed under the MIT License. (See accompanying file LICENSE or + * + * Distributed under the MIT License. (See accompanying file LICENSE or * view online at ) - * + * */ #include "Modio.h" +#include "HAL/PlatformMisc.h" +#include "Math/Color.h" +#include "Stats/Stats.h" +#include "Containers/Array.h" -DEFINE_LOG_CATEGORY(LogModio) \ No newline at end of file +DEFINE_LOG_CATEGORY(LogModio) + +DECLARE_STATS_GROUP(TEXT("Modio"), STATGROUP_Modio, STATCAT_Advanced); + +#ifdef MODIO_UNREAL_PROFILING_SUPPORT + +extern "C" +{ + static TArray& ProfilingScopes() + { + static TArray ScopeStorage; + return ScopeStorage; + } + static TStatId& GetOrCreateStat(FName StatName) { + static TMap StatIDs; + if (TStatId* FoundID = StatIDs.Find(StatName)) { + return *FoundID; + } + else + { + StatIDs.Add(StatName,FDynamicStats::CreateStatId(StatName)); + return StatIDs[StatName]; + } + } + PRAGMA_DISABLE_OPTIMIZATION + void modio_profile_scope_start(const char* Name, void** Data) + { + if (FThreadStats::IsCollectingData()) + { + FThreadStats::AddMessage(GetOrCreateStat(FName(Name)).GetName(), EStatOperation::CycleScopeStart); + } + FCpuProfilerTrace::OutputBeginEvent(FCpuProfilerTrace::OutputEventType(Name)); + } + void modio_profile_scope_end(const char* Name, void* Data) + { + if (FThreadStats::IsCollectingData()) + { + FThreadStats::AddMessage(GetOrCreateStat(FName(Name)).GetName(), EStatOperation::CycleScopeEnd); + } + FCpuProfilerTrace::OutputEndEvent(); + } + void modio_profile_push(const char* Name) + { + //FCpuProfilerTrace::OutputBeginEvent(FCpuProfilerTrace::OutputEventType(Name)); + } + void modio_profile_pop() + { + //FCpuProfilerTrace::OutputEndEvent(); + } + PRAGMA_ENABLE_OPTIMIZATION +} + +#endif diff --git a/Source/Modio/Private/ModioModule.cpp b/Source/Modio/Private/ModioModule.cpp index 953802e4..ba31fbd7 100644 --- a/Source/Modio/Private/ModioModule.cpp +++ b/Source/Modio/Private/ModioModule.cpp @@ -34,15 +34,28 @@ void FModioModule::StartupModule() { FileManager.DeleteFile(*ModioLogFile); } + ModioLog = + TUniquePtr(IFileManager::Get().CreateFileWriter(*ModioLogFile, EFileWrite::FILEWRITE_Append)); Modio::SetLogCallback([&](Modio::LogLevel Level, std::string Message) { - UE_LOG(LogModio, Log, TEXT("%s"), UTF8_TO_TCHAR(Message.c_str())); + TRACE_CPUPROFILER_EVENT_SCOPE(ModioLogCallback); - // Append message to ModioLogFile. - // FFileHelper::SaveStringToFile() will create a new file if it does not yet exist - FFileHelper::SaveStringToFile(UTF8_TO_TCHAR(Message.c_str()), *ModioLogFile, - FFileHelper::EEncodingOptions::AutoDetect, &IFileManager::Get(), - EFileWrite::FILEWRITE_Append); + { + TRACE_CPUPROFILER_EVENT_SCOPE(ModioLogConsole); + UE_LOG(LogModio, Log, TEXT("%s"), UTF8_TO_TCHAR(Message.c_str())); + } + + { + TRACE_CPUPROFILER_EVENT_SCOPE(ModioLogToFile); + + if (ModioLog) + { + { + TRACE_CPUPROFILER_EVENT_SCOPE(ModioLogSerialize); + ModioLog->Serialize(const_cast(Message.c_str()), Message.size()); + } + } + } }); RegisterSettings(); diff --git a/Source/Modio/Private/ModioModule.h b/Source/Modio/Private/ModioModule.h index 7cd4c7ab..f1239f77 100644 --- a/Source/Modio/Private/ModioModule.h +++ b/Source/Modio/Private/ModioModule.h @@ -14,6 +14,7 @@ #include "Misc/FileHelper.h" #include "Misc/Paths.h" #include "Modules/ModuleManager.h" +#include "Templates/UniquePtr.h" class FModioModule : public IModuleInterface { @@ -24,6 +25,7 @@ class FModioModule : public IModuleInterface private: FString ModioLogFile = FPaths::ProjectLogDir() / TEXT("Modio.log"); + TUniquePtr ModioLog; void RegisterSettings(); void UnregisterSettings(); }; diff --git a/Source/Modio/Private/ModioSubsystem.cpp b/Source/Modio/Private/ModioSubsystem.cpp index 9e3f1a05..b8f0028c 100644 --- a/Source/Modio/Private/ModioSubsystem.cpp +++ b/Source/Modio/Private/ModioSubsystem.cpp @@ -13,6 +13,7 @@ #include "Internal/Convert/AuthParams.h" #include "Internal/Convert/CreateModFileParams.h" #include "Internal/Convert/CreateModParams.h" +#include "Internal/Convert/EditModParams.h" #include "Internal/Convert/ErrorCode.h" #include "Internal/Convert/FilterParams.h" #include "Internal/Convert/InitializeOptions.h" @@ -32,6 +33,7 @@ #include "Internal/Convert/User.h" #include "Internal/ModioConvert.h" #include "ModioSettings.h" +#include "ProfilingDebugging/CpuProfilerTrace.h" #include template @@ -79,6 +81,8 @@ void UModioSubsystem::InitializeAsync(const FModioInitializeOptions& Options, FO #endif Modio::InitializeAsync(ToModio(Options), [this, OnInitComplete](Modio::ErrorCode ec) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); + InvalidateUserSubscriptionCache(); OnInitComplete.ExecuteIfBound(ToUnreal(ec)); @@ -96,6 +100,7 @@ void UModioSubsystem::ListAllModsAsync(const FModioFilterParams& Filter, FOnList { Modio::ListAllModsAsync(ToModio(Filter), [Callback](Modio::ErrorCode ec, Modio::Optional Result) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); Callback.ExecuteIfBound(ec, ToUnrealOptional(Result)); }); } @@ -103,6 +108,7 @@ void UModioSubsystem::ListAllModsAsync(const FModioFilterParams& Filter, FOnList void UModioSubsystem::SubscribeToModAsync(FModioModID ModToSubscribeTo, FOnErrorOnlyDelegateFast OnSubscribeComplete) { Modio::SubscribeToModAsync(ToModio(ModToSubscribeTo), [this, OnSubscribeComplete](Modio::ErrorCode ec) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); InvalidateUserSubscriptionCache(); OnSubscribeComplete.ExecuteIfBound(ToUnreal(ec)); @@ -113,6 +119,7 @@ void UModioSubsystem::UnsubscribeFromModAsync(FModioModID ModToUnsubscribeFrom, FOnErrorOnlyDelegateFast OnUnsubscribeComplete) { Modio::UnsubscribeFromModAsync(ToModio(ModToUnsubscribeFrom), [this, OnUnsubscribeComplete](Modio::ErrorCode ec) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); InvalidateUserSubscriptionCache(); OnUnsubscribeComplete.ExecuteIfBound(ToUnreal(ec)); @@ -122,6 +129,7 @@ void UModioSubsystem::UnsubscribeFromModAsync(FModioModID ModToUnsubscribeFrom, void UModioSubsystem::FetchExternalUpdatesAsync(FOnErrorOnlyDelegateFast OnFetchDone) { Modio::FetchExternalUpdatesAsync([this, OnFetchDone](Modio::ErrorCode ec) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); InvalidateUserSubscriptionCache(); OnFetchDone.ExecuteIfBound(ToUnreal(ec)); }); @@ -254,6 +262,7 @@ FModioOptionalUser UModioSubsystem::K2_QueryUserProfile() void UModioSubsystem::GetModInfoAsync(FModioModID ModId, FOnGetModInfoDelegateFast Callback) { Modio::GetModInfoAsync(ToModio(ModId), [Callback](Modio::ErrorCode ec, Modio::Optional ModInfo) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); Callback.ExecuteIfBound(ec, ToUnrealOptional(ModInfo)); }); } @@ -270,6 +279,8 @@ void UModioSubsystem::GetModMediaAsync(FModioModID ModId, EModioAvatarSize Avata { Modio::GetModMediaAsync(ToModio(ModId), ToModio(AvatarSize), [Callback](Modio::ErrorCode ec, Modio::Optional Path) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); + // Manually calling ToUnreal on the path and assigning to the member of FModioImage // because we already have a Modio::filesystem::path -> FString overload of ToUnreal // TODO: @modio-ue4 Potentially refactor ToUnreal(Modio::filesystem::path) as a template @@ -292,6 +303,8 @@ void UModioSubsystem::GetModMediaAsync(FModioModID ModId, EModioGallerySize Gall { Modio::GetModMediaAsync(ToModio(ModId), ToModio(GallerySize), Index, [Callback](Modio::ErrorCode ec, Modio::Optional Path) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); + // Manually calling ToUnreal on the path and assigning to the member of FModioImage // because we already have a Modio::filesystem::path -> FString overload of ToUnreal // TODO: @modio-ue4 Potentially refactor ToUnreal(Modio::filesystem::path) as a template @@ -313,6 +326,8 @@ void UModioSubsystem::GetModMediaAsync(FModioModID ModId, EModioLogoSize LogoSiz { Modio::GetModMediaAsync(ToModio(ModId), ToModio(LogoSize), [Callback](Modio::ErrorCode ec, Modio::Optional Path) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); + // Manually calling ToUnreal on the path and assigning to the member of FModioImage // because we already have a Modio::filesystem::path -> FString overload of ToUnreal // TODO: @modio-ue4 Potentially refactor ToUnreal(Modio::filesystem::path) as a template @@ -370,6 +385,8 @@ void UModioSubsystem::GetModTagOptionsAsync(FOnGetModTagOptionsDelegateFast Call // and capture that by value, so we are guaranteed lifetime Modio::GetModTagOptionsAsync( [this, Callback](Modio::ErrorCode ec, Modio::Optional ModTagOptions) { + TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Callback")); + CachedModTags = ToUnrealOptional(ModTagOptions); Callback.ExecuteIfBound(ec, ToUnrealOptional(ModTagOptions)); }); @@ -608,6 +625,15 @@ void UModioSubsystem::SubmitNewModFileForMod(FModioModID Mod, FModioCreateModFil Modio::SubmitNewModFileForMod(ToModio(Mod), ToModio(Params)); } +void UModioSubsystem::SubmitModChangesAsync(FModioModID Mod, FModioEditModParams Params, + FOnGetModInfoDelegateFast Callback) +{ + Modio::SubmitModChangesAsync(ToModio(Mod), ToModio(Params), + [Callback](Modio::ErrorCode ec, Modio::Optional ModInfo) { + Callback.ExecuteIfBound(ToUnreal(ec), ToUnrealOptional(ModInfo)); + }); +} + void UModioSubsystem::K2_SubmitNewModFileForMod(FModioModID Mod, FModioCreateModFileParams Params) { SubmitNewModFileForMod(Mod, Params); @@ -646,8 +672,23 @@ void UModioSubsystem::VerifyUserAuthenticationAsync(FOnErrorOnlyDelegateFast Cal void UModioSubsystem::K2_VerifyUserAuthenticationAsync(FOnErrorOnlyDelegate Callback) { - VerifyUserAuthenticationAsync(FOnErrorOnlyDelegateFast::CreateLambda([Callback](FModioErrorCode ec){ - Callback.ExecuteIfBound(ec);})); + VerifyUserAuthenticationAsync( + FOnErrorOnlyDelegateFast::CreateLambda([Callback](FModioErrorCode ec) { Callback.ExecuteIfBound(ec); })); +} + +FModioErrorCode UModioSubsystem::PrioritizeTransferForMod(FModioModID ModToPrioritize) +{ + return ToUnreal(Modio::PrioritizeTransferForMod(ToModio(ModToPrioritize))); +} + +void UModioSubsystem::K2_SubmitModChangesAsync(FModioModID Mod, FModioEditModParams Params, + FOnGetModInfoDelegate Callback) +{ + SubmitModChangesAsync( + Mod, Params, + FOnGetModInfoDelegateFast::CreateLambda([Callback](FModioErrorCode ec, TOptional MaybeModInfo) { + Callback.ExecuteIfBound(ec, FModioOptionalModInfo {MaybeModInfo}); + })); } /// File scope implementations diff --git a/Source/Modio/Public/Libraries/ModioCreateModLibrary.h b/Source/Modio/Public/Libraries/ModioCreateModLibrary.h new file mode 100644 index 00000000..923ae518 --- /dev/null +++ b/Source/Modio/Public/Libraries/ModioCreateModLibrary.h @@ -0,0 +1,51 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "Types/ModioCommonTypes.h" +#include "Types/ModioCreateModFileParams.h" +#include "Types/ModioCreateModParams.h" + +#include "ModioCreateModLibrary.generated.h" + +/** + * + */ +UCLASS() +class MODIO_API UModioCreateModLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_BODY() + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod Params") + void SetInitialVisibility(UPARAM(ref) FModioCreateModParams& In, bool InitialVisibility); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod Params") + void SetDescription(UPARAM(ref) FModioCreateModParams& In, FString Description); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod Params") + void SetHomepageURL(UPARAM(ref) FModioCreateModParams& In, FString HomepageURL); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod Params") + void SetMetadataBlob(UPARAM(ref) FModioCreateModParams& In, FString MetadataBlob); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod Params") + void SetTags(UPARAM(ref) FModioCreateModParams& In, UPARAM(ref) TArray& Tags); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod File Params") + void SetVersionString(UPARAM(ref) FModioCreateModFileParams& In, FString Version); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod File Params") + void SetChangelogString(UPARAM(ref) FModioCreateModFileParams& In, FString Changelog); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod File Params") + void SetMarkAsActiveRelease(UPARAM(ref) FModioCreateModFileParams& In, bool bMarkAsActiveRelease); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod File Params") + void SetModFileMetadataBlob(UPARAM(ref) FModioCreateModFileParams& In, FString MetadataBlob); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Create Mod File Params") + void SetModfilePlatforms(UPARAM(ref) FModioCreateModFileParams& In, + UPARAM(ref) TArray& Platforms); +}; diff --git a/Source/Modio/Public/Libraries/ModioEditModLibrary.h b/Source/Modio/Public/Libraries/ModioEditModLibrary.h new file mode 100644 index 00000000..7fbcd455 --- /dev/null +++ b/Source/Modio/Public/Libraries/ModioEditModLibrary.h @@ -0,0 +1,43 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "Types/ModioCommonTypes.h" +#include "Types/ModioEditModParams.h" + +#include "ModioEditModLibrary.generated.h" + +/** + * + */ +UCLASS() +class MODIO_API UModioEditModLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_BODY() + + UFUNCTION(BlueprintCallable, Category = "mod.io|Edit Mod Params") + void SetName(UPARAM(ref) FModioEditModParams& In, FString Name); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Edit Mod Params") + void SetSummary(UPARAM(ref) FModioEditModParams& In, FString Summary); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Edit Mod Params") + void SetNamePath(UPARAM(ref) FModioEditModParams& In, FString NamePath); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Edit Mod Params") + void SetVisibility(UPARAM(ref) FModioEditModParams& In, bool Visibility); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Edit Mod Params") + void SetDescription(UPARAM(ref) FModioEditModParams& In, FString Description); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Edit Mod Params") + void SetHomepageURL(UPARAM(ref) FModioEditModParams& In, FString HomepageURL); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Edit Mod Params") + void SetMaturityFlags(UPARAM(ref) FModioEditModParams& In, EModioMaturityFlags MaturityFlags); + + UFUNCTION(BlueprintCallable, Category = "mod.io|Edit Mod Params") + void SetMetadataBlob(UPARAM(ref) FModioEditModParams& In, FString MetadataBlob); +}; diff --git a/Source/Modio/Public/ModioSDK.h b/Source/Modio/Public/ModioSDK.h index 2ee5613f..59784d16 100644 --- a/Source/Modio/Public/ModioSDK.h +++ b/Source/Modio/Public/ModioSDK.h @@ -12,7 +12,6 @@ #define MODIO_PLATFORM_UNREAL 1 - /* #pragma warning(push) diff --git a/Source/Modio/Public/ModioSubsystem.h b/Source/Modio/Public/ModioSubsystem.h index 3eb9d485..4b8f3a5b 100644 --- a/Source/Modio/Public/ModioSubsystem.h +++ b/Source/Modio/Public/ModioSubsystem.h @@ -16,6 +16,7 @@ #include "Types/ModioCommonTypes.h" #include "Types/ModioCreateModFileParams.h" #include "Types/ModioCreateModParams.h" +#include "Types/ModioEditModParams.h" #include "Types/ModioErrorCode.h" #include "Types/ModioFilterParams.h" #include "Types/ModioImageWrapper.h" @@ -199,6 +200,19 @@ class UModioSubsystem : public UEngineSubsystem UFUNCTION(BlueprintCallable, Category = "mod.io|Mod Management") MODIO_API bool IsModManagementBusy(); + /** + * @brief Cancels or suspends the current mod update, installation, or upload, and begins processing a pending + * operation for the specified mod ID + * @param ModToPrioritize The ID for the mod to prioritize + * @return Error code indicating the status of the prioritization request. Will be empty if either the + * prioritization was successful, or the mod was already being processed + * @requires initialized-sdk + * @requires authenticated-user + * @error GenericError::BadParameter|No pending transfer for the specified mod to prioritize + */ + UFUNCTION(BlueprintCallable, Category = "mod.io|Mod Management") + MODIO_API FModioErrorCode PrioritizeTransferForMod(FModioModID ModToPrioritize); + /** * @brief Provides progress information for a mod installation or update operation if one is currently in progress. * @return Optional ModProgressInfo object containing information regarding the progress of the installation @@ -380,6 +394,25 @@ class UModioSubsystem : public UEngineSubsystem * @error UserDataError::InvalidUser|No authenticated user */ MODIO_API void SubmitNewModFileForMod(FModioModID Mod, FModioCreateModFileParams Params); + + /** + * @brief Edits the parameters of a mod, by updating any fields set in the Params object to match the passed-in + * values. Fields left empty on the Params object will not be updated. + * @param Mod The ID of the mod you wish to edit + * @params Params Descriptor containing the fields that should be altered. + * @param Callback The callback invoked when the changes have been submitted, containing an optional updated ModInfo + * object if the edits were performed successfully + * @requires initialized-sdk + * @requires authenticated-user + * @requires no-rate-limiting + * @errorcategory NetworkError|Couldn't connect to mod.io servers + * @error GenericError::SDKNotInitialized|SDK not initialized + * @errorcategory InvalidArgsError|Some fields in Params did not pass validation + * @error UserDataError::InvalidUser|No authenticated user + */ + MODIO_API void SubmitModChangesAsync(FModioModID Mod, FModioEditModParams Params, + FOnGetModInfoDelegateFast Callback); + /** * @brief Begins email authentication for the current session by requesting a one-time code be sent to the * specified email address if it is associated with a Mod.io account @@ -908,6 +941,25 @@ class UModioSubsystem : public UEngineSubsystem UFUNCTION(BlueprintCallable, DisplayName = "SubmitNewModFileForMod", Category = "mod.io|Mods|Submission") MODIO_API void K2_SubmitNewModFileForMod(FModioModID Mod, FModioCreateModFileParams Params); + /** + * @brief Edits the parameters of a mod, by updating any fields set in the Params object to match the passed-in + * values. Fields left empty on the Params object will not be updated. + * @param Mod The ID of the mod you wish to edit + * @params Params Descriptor containing the fields that should be altered. + * @param Callback The callback invoked when the changes have been submitted, containing an optional updated ModInfo + * object if the edits were performed successfully + * @requires initialized-sdk + * @requires authenticated-user + * @requires no-rate-limiting + * @errorcategory NetworkError|Couldn't connect to mod.io servers + * @error GenericError::SDKNotInitialized|SDK not initialized + * @errorcategory InvalidArgsError|Some fields in Params did not pass validation + * @error UserDataError::InvalidUser|No authenticated user + */ + UFUNCTION(BlueprintCallable, DisplayName = "SubmitModChangesAsync", Category = "mod.io|Mods|Editing") + MODIO_API void K2_SubmitModChangesAsync(FModioModID Mod, FModioEditModParams Params, + FOnGetModInfoDelegate Callback); + /** * @brief Sends a content report to mod.io. When using this function, please inform your users that if they provide * their contact name or details in the Report parameter, that those may be shared with the person responsible for diff --git a/Source/Modio/Public/Types/ModioCommonTypes.h b/Source/Modio/Public/Types/ModioCommonTypes.h index d4f46716..7d8b5d76 100644 --- a/Source/Modio/Public/Types/ModioCommonTypes.h +++ b/Source/Modio/Public/Types/ModioCommonTypes.h @@ -49,6 +49,7 @@ enum class EModioPortal : uint8 }; /** @brief Enum representing the platform(s) that a modfile is enabled for */ +UENUM(BlueprintType) enum class EModioModfilePlatform : uint8 { Windows, diff --git a/Source/Modio/Public/Types/ModioEditModParams.h b/Source/Modio/Public/Types/ModioEditModParams.h new file mode 100644 index 00000000..51d7c88f --- /dev/null +++ b/Source/Modio/Public/Types/ModioEditModParams.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 mod.io Pty Ltd. + * + * This file is part of the mod.io UE4 Plugin. + * + * Distributed under the MIT License. (See accompanying file LICENSE or + * view online at ) + * + */ + +#pragma once +#include "Types/ModioModInfo.h" +#include "Misc/Optional.h" + +#include "ModioEditModParams.generated.h" + +USTRUCT(BlueprintType) +struct FModioEditModParams +{ + GENERATED_BODY() + +public: + + TOptional Name; + TOptional Summary; + TOptional NamePath; + TOptional bVisible; + TOptional Description; + TOptional HomepageURL; + TOptional MaturityFlags; + TOptional MetadataBlob; +}; \ No newline at end of file diff --git a/Source/ModioUI/Private/ModioUISubsystem.cpp b/Source/ModioUI/Private/ModioUISubsystem.cpp index ccd4d50a..6b8d7e46 100644 --- a/Source/ModioUI/Private/ModioUISubsystem.cpp +++ b/Source/ModioUI/Private/ModioUISubsystem.cpp @@ -118,7 +118,7 @@ void UModioUISubsystem::Initialize(FSubsystemCollectionBase& Collection) } } } - + GetDefaultStyleSet(); } diff --git a/Source/ModioUI/Private/UI/BaseWidgets/ModioModNameWidget.h b/Source/ModioUI/Private/UI/BaseWidgets/ModioModNameWidget.h index 8f30029a..d48f1ba9 100644 --- a/Source/ModioUI/Private/UI/BaseWidgets/ModioModNameWidget.h +++ b/Source/ModioUI/Private/UI/BaseWidgets/ModioModNameWidget.h @@ -2,8 +2,8 @@ #pragma once -#include "CoreMinimal.h" #include "Components/Widget.h" +#include "CoreMinimal.h" #include "UI/Interfaces/IModioUIDataSourceWidget.h" #include "UI/Styles/ModioUIStyleRef.h" @@ -16,19 +16,20 @@ class MODIOUI_API UModioModNameWidget : public UWidget, public IModioUIDataSourc private: UPROPERTY() - UObject *DataSource; - + UObject* DataSource; + protected: virtual void NativeSetDataSource(UObject* InDataSource) override { DataSource = InDataSource; } - + TSharedPtr MyText; virtual void SynchronizeProperties() override; virtual TSharedRef RebuildWidget() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "DefaultDialogStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "DefaultDialogStyle"), + Category = "ModioModNameWidget") FModioUIStyleRef Style = FModioUIStyleRef {"DefaultDialogStyle"}; }; diff --git a/Source/ModioUI/Private/UI/Dialogs/ModioDialogController.cpp b/Source/ModioUI/Private/UI/Dialogs/ModioDialogController.cpp index 7cbb7249..7ca41fcb 100644 --- a/Source/ModioUI/Private/UI/Dialogs/ModioDialogController.cpp +++ b/Source/ModioUI/Private/UI/Dialogs/ModioDialogController.cpp @@ -1,6 +1,7 @@ // Fill out your copyright notice in the Description page of Project Settings. #include "UI/Dialogs/ModioDialogController.h" +#include "Libraries/ModioErrorConditionLibrary.h" #include "ModioUISubsystem.h" #include "UI/Dialogs/ModioDialogBaseInternal.h" #include "UI/Interfaces/IModioUITextValidator.h" @@ -67,7 +68,25 @@ void UModioDialogController::HandleEmailRequestSent(FModioErrorCode ec, UModioDi { if (ActualDialog->InputWidget->Implements()) { - FText Error = FText::FromString(ec.GetErrorMessage()); + // Initialize error message in case below ifs fail + FText Error = FText::FromString("An unknown error occurred"); + + if (UModioErrorConditionLibrary::ErrorCodeMatches(ec, EModioErrorCondition::InvalidArgsError)) + { + if (UModioSubsystem* Subsystem = GEngine->GetEngineSubsystem()) + { + TArray LastValidationError = Subsystem->GetLastValidationError(); + if (LastValidationError.Num()) + { + // todo: @modio-ui support localization + Error = FText::FromString(LastValidationError[0].ValidationFailureDescription); + } + } + } + else + { + Error = FText::FromString(ec.GetErrorMessage()); + } IModioUITextValidator::Execute_SetValidationError(ActualDialog->InputWidget, Error); } } @@ -77,11 +96,10 @@ void UModioDialogController::HandleEmailRequestSent(FModioErrorCode ec, UModioDi if (UModioSubsystem* Subsystem = GEngine->GetEngineSubsystem()) { Subsystem->FetchExternalUpdatesAsync( - FOnErrorOnlyDelegateFast::CreateUObject(this, &UModioDialogController::OnFetchExternalCompleted)); - + FOnErrorOnlyDelegateFast::CreateUObject(this, &UModioDialogController::OnFetchExternalCompleted)); + PushDialog(DestinationOnSuccess); } - } } @@ -98,10 +116,14 @@ void UModioDialogController::SendEmailCodeRequest(FString EmailAddress, UModioDi void UModioDialogController::SubmitEmailAuthCode(FString Code, UModioDialogInfo* DestinationOnSuccess) { - // Proxy the request through the UI subsystem instead of hitting the UI subsystem directly so it broadcasts events to the UI as well as notifying us - if (UModioUISubsystem* Subsystem = GEngine->GetEngineSubsystem()) + // Proxy the request through the UI subsystem instead of hitting the UI subsystem directly so it broadcasts events + // to the UI as well as notifying us + if (UModioUISubsystem* Subsystem = GEngine->GetEngineSubsystem()) { - Subsystem->RequestEmailAuthentication(FModioEmailAuthCode(Code), FOnErrorOnlyDelegateFast::CreateUObject(this, &UModioDialogController::HandleEmailRequestSent, DestinationOnSuccess)); + Subsystem->RequestEmailAuthentication( + FModioEmailAuthCode(Code), + FOnErrorOnlyDelegateFast::CreateUObject(this, &UModioDialogController::HandleEmailRequestSent, + DestinationOnSuccess)); } } @@ -184,7 +206,6 @@ void UModioDialogController::ShowModReportDialog(UObject* DialogDataSource) } } - void UModioDialogController::ShowEmailAuthenticationDialog() { if (!EmailAuthenticationDialog.IsNull()) @@ -201,7 +222,6 @@ void UModioDialogController::ShowLogoutDialog() } } - void UModioDialogController::BeginExternalAuthentication(EModioAuthenticationProvider Provider) { // Ask the subsystem to begin auth, start listening for it to complete ourselves. Will need a delegate on the @@ -238,12 +258,12 @@ void UModioDialogController::ShowLoadingDialog() ActualDialog->ShowLoadingSpinner(); } - void UModioDialogController::RequestUnsubscribe(const FModioModID& ModId, UModioDialogInfo* DestinationOnSuccess) { if (UModioUISubsystem* Subsystem = GEngine->GetEngineSubsystem()) { - Subsystem->RequestRemoveSubscriptionForModID(ModId, FOnErrorOnlyDelegateFast::CreateUObject(this, &UModioDialogController::HandleUnsubscribeError)); + Subsystem->RequestRemoveSubscriptionForModID( + ModId, FOnErrorOnlyDelegateFast::CreateUObject(this, &UModioDialogController::HandleUnsubscribeError)); } } @@ -251,7 +271,8 @@ void UModioDialogController::ReportContentAsync(const FModioReportParams& Report { if (UModioSubsystem* Subsystem = GEngine->GetEngineSubsystem()) { - Subsystem->ReportContentAsync(ReportData, FOnErrorOnlyDelegateFast::CreateUObject(this, &UModioDialogController::HandleReportContent, Destination)); + Subsystem->ReportContentAsync(ReportData, FOnErrorOnlyDelegateFast::CreateUObject( + this, &UModioDialogController::HandleReportContent, Destination)); } } @@ -260,14 +281,13 @@ void UModioDialogController::HandleReportContent(FModioErrorCode ec, UModioDialo if (!ec) { PushDialog(ModioDialogInfo); - } else + } + else { ShowErrorDialog(ec); } } - - void UModioDialogController::HandleUnsubscribe(FModioModID ec, bool IsSubscribe) { PopDialog(); @@ -293,8 +313,9 @@ void UModioDialogController::LogOutCallback(FModioErrorCode ec) { if (ec) { - ShowErrorDialog(ec); - } else + ShowErrorDialog(ec); + } + else { PopDialog(); } @@ -307,4 +328,3 @@ void UModioDialogController::ShowReportEmailDialog(UObject* DialogDataSource) PushDialog(ReportEmailDialog.LoadSynchronous(), DialogDataSource); } } - diff --git a/Source/ModioUI/Private/UI/EventHandlers/IModioUIModManagementEventReceiver.cpp b/Source/ModioUI/Private/UI/EventHandlers/IModioUIModManagementEventReceiver.cpp index 318d9f7b..8d790f82 100644 --- a/Source/ModioUI/Private/UI/EventHandlers/IModioUIModManagementEventReceiver.cpp +++ b/Source/ModioUI/Private/UI/EventHandlers/IModioUIModManagementEventReceiver.cpp @@ -1,8 +1,10 @@ #include "UI/EventHandlers/IModioUIModManagementEventReceiver.h" +#include "ProfilingDebugging/CpuProfilerTrace.h" void IModioUIModManagementEventReceiver::ModManagementEventHandler(FModioModManagementEvent Event) { bRoutedModManagementEvent = false; + TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*(Cast(this)->GetFName().ToString().Append("_ManagementEventHandler"))); NativeOnModManagementEvent(Event); checkf(bRoutedModManagementEvent, TEXT("Please call IModioUIModManagementEventReceiver::NativeOnModManagementEvent in your derived " diff --git a/Source/ModioUI/Private/UI/EventHandlers/IModioUISubscriptionsChangedReceiver.cpp b/Source/ModioUI/Private/UI/EventHandlers/IModioUISubscriptionsChangedReceiver.cpp index 73c6d5e7..9303d23f 100644 --- a/Source/ModioUI/Private/UI/EventHandlers/IModioUISubscriptionsChangedReceiver.cpp +++ b/Source/ModioUI/Private/UI/EventHandlers/IModioUISubscriptionsChangedReceiver.cpp @@ -1,10 +1,12 @@ #include "UI/EventHandlers/IModioUISubscriptionsChangedReceiver.h" +#include "ProfilingDebugging/CpuProfilerTrace.h" #include "Engine/Engine.h" #include "ModioUISubsystem.h" void IModioUISubscriptionsChangedReceiver::SubscriptionsChangedHandler(FModioModID ModID, bool bNewSubscriptionState) { bRoutedSubscriptionsChanged = false; + TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*(Cast(this)->GetFName().ToString().Append("_SubscriptionsChangedHandler"))); NativeOnSubscriptionsChanged(ModID, bNewSubscriptionState); checkf(bRoutedSubscriptionsChanged, TEXT("Please call IModioUISubscriptionsChangedReceiver::NativeOnSubscriptionsChanged in your derived " diff --git a/Source/ModioUI/Private/UI/Views/SearchResults/ModioSearchResultsView.cpp b/Source/ModioUI/Private/UI/Views/SearchResults/ModioSearchResultsView.cpp index 170a994a..5027218a 100644 --- a/Source/ModioUI/Private/UI/Views/SearchResults/ModioSearchResultsView.cpp +++ b/Source/ModioUI/Private/UI/Views/SearchResults/ModioSearchResultsView.cpp @@ -179,11 +179,26 @@ void UModioSearchResultsView::NativeOnListAllModsRequestCompleted(FString Reques }); ResultsTileView->SetListItems(SearchResults); ResultsTileView->RequestRefresh(); - IModioUIAsyncOperationWidget::Execute_NotifyOperationState(this, EModioUIAsyncOperationWidgetState::Success); + + if (NoResultsDialog) + { + if (SearchResults.Num() > 0) + { + NoResultsDialog->SetVisibility(ESlateVisibility::Collapsed); + } + else + { + NoResultsDialog->SetVisibility(ESlateVisibility::Visible); + } + } + + IModioUIAsyncOperationWidget::Execute_NotifyOperationState(this, + EModioUIAsyncOperationWidgetState::Success); } else { - IModioUIAsyncOperationWidget::Execute_NotifyOperationState(this, EModioUIAsyncOperationWidgetState::Error); + IModioUIAsyncOperationWidget::Execute_NotifyOperationState(this, + EModioUIAsyncOperationWidgetState::Error); // Show some kind of error? } } @@ -222,20 +237,30 @@ void UModioSearchResultsView::NativeOnSetDataSource() { if (UModioUISubsystem* Subsystem = GEngine->GetEngineSubsystem()) { + // Hide NoResultsDialog for new search + if (NoResultsDialog) + { + NoResultsDialog->SetVisibility(ESlateVisibility::Collapsed); + } Subsystem->RequestListAllMods(Params->Underlying, Params->Underlying.ToString()); - IModioUIAsyncOperationWidget::Execute_NotifyOperationState(this, EModioUIAsyncOperationWidgetState::InProgress); + IModioUIAsyncOperationWidget::Execute_NotifyOperationState( + this, EModioUIAsyncOperationWidgetState::InProgress); } } } } - -void UModioSearchResultsView::NativeRequestOperationRetry() +void UModioSearchResultsView::NativeRequestOperationRetry() { if (UModioFilterParamsUI* Params = Cast(DataSource)) { if (UModioUISubsystem* Subsystem = GEngine->GetEngineSubsystem()) { + // Hide NoResultsDialog for new search + if (NoResultsDialog) + { + NoResultsDialog->SetVisibility(ESlateVisibility::Collapsed); + } Subsystem->RequestListAllMods(Params->Underlying, Params->Underlying.ToString()); IModioUIAsyncOperationWidget::Execute_NotifyOperationState(this, EModioUIAsyncOperationWidgetState::InProgress); diff --git a/Source/ModioUI/Public/Core/ModioFilterParamsUI.h b/Source/ModioUI/Public/Core/ModioFilterParamsUI.h index 381625b6..e83fde51 100644 --- a/Source/ModioUI/Public/Core/ModioFilterParamsUI.h +++ b/Source/ModioUI/Public/Core/ModioFilterParamsUI.h @@ -17,6 +17,6 @@ class MODIOUI_API UModioFilterParamsUI : public UObject GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModioFilterParamsUI") FModioFilterParams Underlying; }; diff --git a/Source/ModioUI/Public/Core/ModioModCollectionEntryUI.h b/Source/ModioUI/Public/Core/ModioModCollectionEntryUI.h index 0444b145..6e286e08 100644 --- a/Source/ModioUI/Public/Core/ModioModCollectionEntryUI.h +++ b/Source/ModioUI/Public/Core/ModioModCollectionEntryUI.h @@ -17,11 +17,11 @@ class MODIOUI_API UModioModCollectionEntryUI : public UObject, public IModioModI GENERATED_BODY() public: - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, Category="ModioModCollectionEntryUI") FModioModCollectionEntry Underlying; /// @brief Is this entry in the current user's subscriptions? - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, Category="ModioModCollectionEntryUI") bool bCachedSubscriptionStatus = false; virtual FModioModInfo GetFullModInfo_Implementation() override diff --git a/Source/ModioUI/Public/Core/ModioModInfoUI.h b/Source/ModioUI/Public/Core/ModioModInfoUI.h index 59d9a35d..09261621 100644 --- a/Source/ModioUI/Public/Core/ModioModInfoUI.h +++ b/Source/ModioUI/Public/Core/ModioModInfoUI.h @@ -27,6 +27,6 @@ class MODIOUI_API UModioModInfoUI : public UObject, public IModioModInfoUIDetail return Underlying.ModId; } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="ModioModInfoUI") FModioModInfo Underlying; }; diff --git a/Source/ModioUI/Public/Core/ModioTagOptionsUI.h b/Source/ModioUI/Public/Core/ModioTagOptionsUI.h index 8f2609e1..3ea8d079 100644 --- a/Source/ModioUI/Public/Core/ModioTagOptionsUI.h +++ b/Source/ModioUI/Public/Core/ModioTagOptionsUI.h @@ -16,7 +16,7 @@ class MODIOUI_API UModioTagInfoUI : public UObject GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="ModioTagInfoUI") FModioModTagInfo Underlying; TArray> SelectedTagValues; @@ -33,10 +33,10 @@ class MODIOUI_API UModioTagOptionsUI : public UObject TArray CachedUITagInfos; public: - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="ModioTagOptionsUI") FModioModTagOptions Underlying; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTagOptionsUI") TArray GetTagCategoriesForUI() { if (CachedUITagInfos.Num() != Underlying.GetRawList().Num()) diff --git a/Source/ModioUI/Public/ModioUISubsystem.h b/Source/ModioUI/Public/ModioUISubsystem.h index e3b9241a..e29209d9 100644 --- a/Source/ModioUI/Public/ModioUISubsystem.h +++ b/Source/ModioUI/Public/ModioUISubsystem.h @@ -174,10 +174,10 @@ UCLASS() class MODIOUI_API UModioUISubsystem : public UEngineSubsystem void ShowLogoutDialog(); void ShowModReportDialog(UObject* DialogDataSource); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioUISubsystem") void RequestSubscriptionForModID(FModioModID ID); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void RequestRemoveSubscriptionForModID(FModioModID ID); void RequestRemoveSubscriptionForModID(FModioModID ID, FOnErrorOnlyDelegateFast DedicatedCallback); @@ -198,69 +198,69 @@ UCLASS() class MODIOUI_API UModioUISubsystem : public UEngineSubsystem // Perhaps this should also carry the error code and a TOptional for the newly changed state? FOnModSubscriptionStatusChanged OnSubscriptionStatusChanged; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void RequestUserAvatar(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void RequestEmailAuthentication(FModioEmailAuthCode Code); /// @brief Special native-only overload for when we want direct notification of success or failure but still want to /// broadcast UI events void RequestEmailAuthentication(FModioEmailAuthCode Code, FOnErrorOnlyDelegateFast DedicatedCallback); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void RequestExternalAuthentication(FModioAuthenticationParams Params, EModioAuthenticationProvider Provider); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void RequestGalleryImageDownloadForModID(FModioModID ID, int32 Index, EModioGallerySize ImageSize = EModioGallerySize::Original); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void RequestLogoDownloadForModID(FModioModID ID, EModioLogoSize LogoSize = EModioLogoSize::Thumb320); TOptional GetTagOptionsList(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") float GetCurrentDPIScaleValue(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void RequestModInfoForModIDs(TArray IDs); // Uses RequestIdentifier so requesters can tell if a set of results or an error belongs to them - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void RequestListAllMods(FModioFilterParams Params, FString RequestIdentifier); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") FText FormatText(FText Input); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") class UModioUIStyleSet* GetDefaultStyleSet(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") UMaterialInterface* GetInputGlyphMaterialForInputType(FKey VirtualInput, EModioUIInputMode InputType); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") TArray GetAllNamedStyleNames(); void SetControllerOverrideType(EModioUIInputMode NewOverride); - UFUNCTION(BlueprintCallable, Category = "mod.io|UI") + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") UModioMenu* ShowModBrowserUIForPlayer(TSubclassOf MenuClass, APlayerController* Controller, FOnModBrowserClosed BrowserClosedDelegate); /// @brief Sends a command to the browser UI in the form of a virtual keypress - UFUNCTION(BlueprintCallable, Category = "mod.io|UI") + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void SendCommandToBrowserUI(FKey CommandKey, int32 UserIndex = 0); - UFUNCTION(BlueprintCallable, Category = "mod.io|UI") + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void ShowDetailsForMod(FModioModID ID); - UFUNCTION(BlueprintCallable, Category = "mod.io|UI") + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") bool DisplaySearchResults(FModioFilterParams SearchParameters); - UFUNCTION(BlueprintCallable, Category = "mod.io|UI") + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void DisplayNotification(UPARAM(ref) TScriptInterface& Notification); - UFUNCTION(BlueprintCallable, Category = "mod.io|UI") + UFUNCTION(BlueprintCallable, Category = "ModioUISubsystem") void DisplayErrorNotification(const FModioNotificationParams& Params); void ExecuteOnModBrowserClosedDelegate(); diff --git a/Source/ModioUI/Public/Settings/ModioUISettings.h b/Source/ModioUI/Public/Settings/ModioUISettings.h index 3cde923f..fa8f2d43 100644 --- a/Source/ModioUI/Public/Settings/ModioUISettings.h +++ b/Source/ModioUI/Public/Settings/ModioUISettings.h @@ -22,11 +22,12 @@ struct MODIOUI_API FModioInputMapping FModioInputMapping() = default; FModioInputMapping(FKey VirtualKey) : VirtualKey(VirtualKey) {} - UPROPERTY(BlueprintReadOnly, VisibleAnywhere, meta = (EditCondition = "true==false")) + UPROPERTY(BlueprintReadOnly, VisibleAnywhere, meta = (EditCondition = "true==false"), + Category = "ModioInputMapping") FKey VirtualKey; /// @brief Array of FNames corresponding to project input axes or actions that are mapped to this virtual key - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioInputMapping") TArray MappedProjectInputs; }; @@ -41,29 +42,32 @@ class MODIOUI_API UModioUISettings : public UObject, public IModioInputMappingAc UModioUISettings(const FObjectInitializer& Initializer); /// @brief Map your project's input axes and actions to mod.io UI 'virtual keys' here - UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, EditFixedSize) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, EditFixedSize, Category = "ModioUISettings") TArray ModioToProjectInputMappings; /// @brief The default style set to use for all mod.io UI widgets - UPROPERTY(BlueprintReadOnly, EditAnywhere, Config) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, Category = "ModioUISettings") TSoftObjectPtr DefaultStyleSet; /// @brief Optional factory class to instantiate a FNavigationConfig to use for handling navigation instead of /// ModioToProjectInputMappings. Due to limitations with FSlateApplication, this FNavigationConfig will only support /// a single user - UPROPERTY(BlueprintReadOnly, EditAnywhere, Config) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, Category = "ModioUISettings") TSoftObjectPtr NavigationConfigOverride; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, meta = (MustImplement = "ModioUIAuthenticationDataProvider")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, meta = (MustImplement = "ModioUIAuthenticationDataProvider"), + Category = "ModioUISettings") TSubclassOf AuthenticationDataProvider; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, meta = (MustImplement = "ModioUIInputHintGlyphProvider")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, meta = (MustImplement = "ModioUIInputHintGlyphProvider"), + Category = "ModioUISettings") TSubclassOf InputHintGlyphProvider; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, meta = (MustImplement = "ModioMenuBackgroundProvider")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, meta = (MustImplement = "ModioMenuBackgroundProvider"), + Category = "ModioUISettings") TSubclassOf BackgroundImageProvider; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Config) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Config, Category = "ModioUISettings") TSoftObjectPtr BrowserCategoryConfiguration; #if WITH_EDITOR diff --git a/Source/ModioUI/Public/UI/BaseWidgets/FxWidget.h b/Source/ModioUI/Public/UI/BaseWidgets/FxWidget.h index ec1b8d7f..0a6f2cbd 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/FxWidget.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/FxWidget.h @@ -80,22 +80,22 @@ class MODIOUI_API UFxWidget : public UWidget return MyContentWidget; }; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") float RenderScale; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FVector2D RenderScaleOrigin; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") float LayoutScale; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FVector2D VisualOffset; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") bool bIgnoreClipping; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") TSubclassOf ContentClass; UPROPERTY(EditAnywhere, Category = "Events") diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioButton.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioButton.h index 4b1cd4e2..2cb5f71a 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioButton.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioButton.h @@ -30,7 +30,7 @@ class MODIOUI_API UModioButton : public UButton UPROPERTY(BlueprintAssignable, Category = "Data Binding") FOnSetLabel OnSetLabel; - UPROPERTY(BlueprintReadOnly,EditAnywhere, meta=(StyleClass="ModioButtonStyle", DesignerRebuild)) + UPROPERTY(BlueprintReadOnly,EditAnywhere, meta=(StyleClass="ModioButtonStyle", DesignerRebuild), Category="Appearance") FModioUIStyleRef ButtonStyle = FModioUIStyleRef {"DefaultButtonStyle"}; UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Appearance", @@ -52,9 +52,9 @@ class MODIOUI_API UModioButton : public UButton // this should be a container of styles, and we store one of those globally - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioButton") void SetLabel(FText NewLabel); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioButton") void SetButtonStyle(FModioUIStyleRef ButtonStyleRef, bool bApplyStyle = false); }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioCheckBox.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioCheckBox.h index 69ba68e0..3e3a8868 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioCheckBox.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioCheckBox.h @@ -26,10 +26,10 @@ class MODIOUI_API UModioCheckBox : public UCheckBox virtual TSharedRef RebuildWidget() override; virtual void ReleaseSlateResources(bool bReleaseChildren) override; /// Will be used to generate a text label if not overridden by adding a child widget to this checkbox - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText LabelText; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioCheckBoxStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioCheckBoxStyle"), Category="Widgets") FModioUIStyleRef CheckBoxStyle; public: diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioCircle.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioCircle.h index 415b71bd..bc4e46eb 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioCircle.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioCircle.h @@ -20,23 +20,23 @@ class MODIOUI_API UModioCircle : public UWidget TSharedRef RebuildWidget() override; TSharedPtr MyCircle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 10, ClampMax = 1000)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 10, ClampMax = 1000), Category="Widgets") float Resolution = 60; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 0.0, ClampMax = 360.0)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 0.0, ClampMax = 360.0), Category="Widgets") float StartAngleInDegrees = 0; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 0.0, ClampMax = 360.0)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 0.0, ClampMax = 360.0), Category="Widgets") float ArcInDegrees = 360; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 1)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 1), Category="Widgets") float Radius = 1; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 1)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 1), Category="Widgets") float Thickness = 1; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FSlateColor ColorAndOpacity = FLinearColor::White; public: diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioCircularProgressBar.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioCircularProgressBar.h index 3714242f..9a3c667c 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioCircularProgressBar.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioCircularProgressBar.h @@ -20,31 +20,31 @@ class MODIOUI_API UModioCircularProgressBar : public UWidget TSharedRef RebuildWidget() override; TSharedPtr MyProgressBar; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 0)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 0), Category="Widgets") int32 BackgroundThickness = 1; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 1)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 1), Category="Widgets") int32 ForegroundThickness = 1; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 1)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 1), Category="Widgets") float Radius = 10; - UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (ClampMin = 0, ClampMax = 360)) + UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (ClampMin = 0, ClampMax = 360), Category="Widgets") int32 StartAngleInDegrees = 0; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 0, ClampMax = 1)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ClampMin = 0, ClampMax = 1), Category="Widgets") float Progress = 0; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FLinearColor BackgroundColor = FLinearColor::Black; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FLinearColor ForegroundColor = FLinearColor::White; - UPROPERTY(EditAnywhere, meta = (IsBindableEvent = "true")) + UPROPERTY(EditAnywhere, meta = (IsBindableEvent = "true"), Category="Widgets") FGetFloat OnGetProgress; - UFUNCTION(BlueprintNativeEvent) + UFUNCTION(BlueprintNativeEvent, Category="Widgets") float GetProgress() const ; public: diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioCodeInputWidget.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioCodeInputWidget.h index 9f9ee692..d4b20e62 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioCodeInputWidget.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioCodeInputWidget.h @@ -24,17 +24,17 @@ class MODIOUI_API UModioCodeInputWidget : public UWidget, public IModioUIStringI virtual FEventReply NativeValidateCodeInputCharacter(FString Character); virtual FString NativeGatherInput() override; - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioCodeInputWidget") FEventReply ValidateCodeInputCharacter(const FString& Character); FEventReply ValidateCodeInputCharacter_Implementation(const FString& Character); virtual void SynchronizeProperties() override; virtual TSharedRef RebuildWidget() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") int32 NumberOfCharacters = 5; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioCodeInputStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioCodeInputStyle"), Category="Widgets") FModioUIStyleRef Style = FModioUIStyleRef {"DefaultCodeInputStyle"}; virtual void NativeGetTextValidationRules(TArray& Rules) @@ -55,7 +55,7 @@ class MODIOUI_API UModioCodeInputWidget : public UWidget, public IModioUIStringI meta = (EditCondition = "bValidateInput", EditConditionHides)) bool bDisplayValidationErrors = false; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widgets") FModioUIStyleRef TextStyle = FModioUIStyleRef {"DefaultRichTextStyle"}; TSharedPtr MyVerticalBox; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioComboBox.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioComboBox.h index e8800053..19c9c9e7 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioComboBox.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioComboBox.h @@ -19,6 +19,6 @@ class MODIOUI_API UModioComboBox : public UComboBox virtual void SynchronizeProperties() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TEnumAsByte MenuPlacement; }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioComboBoxString.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioComboBoxString.h index b05065e4..e844f0b2 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioComboBoxString.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioComboBoxString.h @@ -22,16 +22,16 @@ class MODIOUI_API UModioComboBoxString : public UComboBoxString virtual void SynchronizeProperties() override; virtual void ReleaseSlateResources(bool bReleaseChildren) override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TEnumAsByte Placement = MenuPlacement_ComboBox; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") bool bCreateNewWindow = false; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") bool bWrapMenuContent = false; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") TSoftObjectPtr ContentWrapMaterial; UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Border Effect") diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioDefaultPopupMenuContent.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioDefaultPopupMenuContent.h index 4a491682..979421fb 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioDefaultPopupMenuContent.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioDefaultPopupMenuContent.h @@ -42,13 +42,13 @@ class MODIOUI_API UModioDefaultPopupMenuContent : public UWidget, public IModioU return &TextStyle; } - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FModioUIStyleRef TextStyle = FModioUIStyleRef {"DefaultRichTextStyle"}; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FModioUIStyleRef BorderStyle = FModioUIStyleRef {"DefaultPopupBorderStyle"}; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FModioUIMaterialRef RetainerMaterial = FModioUIMaterialRef {"RoundedRectangle"}; #if WITH_EDITORONLY_DATA diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioDrawerController.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioDrawerController.h index a73a0519..aae07254 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioDrawerController.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioDrawerController.h @@ -25,14 +25,14 @@ class MODIOUI_API UModioDrawerController : public UModioOverlay virtual void UpdateVisibility(); public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioDrawerController") bool ToggleDrawerExpanded(int32 SlotIndex, bool bCloseOtherDrawers = true); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioDrawerController") void SetDrawerExpanded(int32 SlotIndex, bool bExpandedState, bool bCloseOtherDrawers = true); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioDrawerController") bool IsAnyDrawerExpanded() const; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioDrawerController") void CollapseAllDrawers(); }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioEditableTextBox.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioEditableTextBox.h index addb87d8..2b327321 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioEditableTextBox.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioEditableTextBox.h @@ -64,10 +64,10 @@ class MODIOUI_API UModioEditableTextBox : public UEditableTextBox, public IModio meta = (EditCondition = "bValidateInput", EditConditionHides)) bool bDisplayValidationErrors = false; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioEditableTextBoxStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioEditableTextBoxStyle"), Category="Widgets") FModioUIStyleRef TextBoxStyle = FModioUIStyleRef {"DefaultEditableTextBoxStyle"}; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widgets") FModioUIStyleRef TextStyle = FModioUIStyleRef {"DefaultRichTextStyle"}; TSharedPtr MyVerticalBox; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioImage.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioImage.h index bd486d96..258c28b5 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioImage.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioImage.h @@ -33,14 +33,14 @@ class MODIOUI_API UModioImage : public UImage virtual void SetBrushFromMaterial(UMaterialInterface* Material) override; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioImage") virtual void DisplayImageWithMaterial(UTexture2DDynamic* Texture, UMaterialInterface* Material, FName ImageParameterName); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioImage") virtual void LoadImageFromFileAsync(FModioImageWrapper ImageLoader); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioImage") void LoadImageFromFileWithMaterialAsync(FModioImageWrapper ImageLoader, UMaterialInterface* Material, FName ImageParameterName); }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioInputBindingImage.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioInputBindingImage.h index cc83dc5d..6ee32c4a 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioInputBindingImage.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioInputBindingImage.h @@ -32,7 +32,7 @@ class MODIOUI_API UModioInputBindingImage : public UModioImage, void UpdateBrushImage(EModioUIInputMode InputDevice); - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FKey KeyToShow; EModioUIInputMode LastDeviceType = EModioUIInputMode::Unknown; @@ -41,13 +41,13 @@ class MODIOUI_API UModioInputBindingImage : public UModioImage, public: #if WITH_EDITORONLY_DATA - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") EModioUIInputMode PreviewMode; #endif - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioInputBindingImage") void SetKeyToShow(FKey NewKey); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioInputBindingImage") FGetVisibilityForInputModeDelegate& GetInputModeVisibilityDelegate(); }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioListView.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioListView.h index 78158ac5..b7453e85 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioListView.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioListView.h @@ -15,10 +15,10 @@ class MODIOUI_API UModioListView : public UListView GENERATED_BODY() protected: #if WITH_EDITORONLY_DATA - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") bool bSimulateSelection = false; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") int32 SimulatedSelectionIndex = 0; #endif diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioLoadingSpinner.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioLoadingSpinner.h index 826199bf..06ec21e6 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioLoadingSpinner.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioLoadingSpinner.h @@ -21,10 +21,10 @@ class MODIOUI_API UModioLoadingSpinner : public UWidget TSharedPtr MySizeBox; TSharedPtr MyImage; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FModioUIMaterialRef LoadingImage = FModioUIMaterialRef {"Loading"}; - UPROPERTY(BlueprintReadOnly,EditAnywhere) + UPROPERTY(BlueprintReadOnly,EditAnywhere, Category="Widgets") FVector2D ImageBrushSize = FVector2D(32,32); UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Stretching") diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioLogoWidget.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioLogoWidget.h index 20980c8c..f91c1dc4 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioLogoWidget.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioLogoWidget.h @@ -27,6 +27,6 @@ class MODIOUI_API UModioLogoWidget : public UWidget virtual void SynchronizeProperties() override; virtual TSharedRef RebuildWidget() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widgets") FModioUIStyleRef StyleRef = {FName("DefaultLogoTextStyle") }; }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioMultiLineEditableTextBox.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioMultiLineEditableTextBox.h index a59aa3f7..1261ce09 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioMultiLineEditableTextBox.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioMultiLineEditableTextBox.h @@ -50,13 +50,13 @@ class MODIOUI_API UModioMultiLineEditableTextBox : public UMultiLineEditableText meta = (EditCondition = "bValidateInput", EditConditionHides)) bool bDisplayValidationErrors = false; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widgets") FModioUIStyleRef ErrorTextStyle = FModioUIStyleRef {"DefaultRichTextStyle"}; TSharedPtr MyVerticalBox; TSharedPtr MyErrorTextBlock; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioMultiLineEditableTextBoxStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioMultiLineEditableTextBoxStyle"), Category="Widgets") FModioUIStyleRef TextBoxStyle = FModioUIStyleRef {"DefaultMultiLineEditableTextBoxStyle"}; }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioPopupComboBox.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioPopupComboBox.h index 4fe511c9..70aac2a4 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioPopupComboBox.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioPopupComboBox.h @@ -50,36 +50,36 @@ class MODIOUI_API UModioPopupComboBox : public UWidget virtual TSharedRef RebuildWidget() override; TSharedPtr>> MyComboBox; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText Description; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText LabelFormatText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText ValueFormatText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") bool bUseRoundedCorners = true; //Possibly this can just reference ComboBoxStyle - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FModioUIStyleRef RoundedCornerStyle = FModioUIStyleRef {"DefaultComboBoxBorderStyle"}; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FModioUIStyleRef ComboBoxStyle = FModioUIStyleRef {"DefaultComboBoxStyle"}; //TODO: @modio-ue4 move into the ComboBoxStyle - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FModioUIStyleRef TextStyle = FModioUIStyleRef {"DefaultRichTextStyle"}; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FMargin ContentPadding = FMargin(20.0f, 8); - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") bool bPreviewOpen = false; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TArray OptionValues; TArray> BoundValues; @@ -89,7 +89,7 @@ class MODIOUI_API UModioPopupComboBox : public UWidget FOnSelectionChanged OnSelectionChanged; FOnSelectionChangedWithDelegate OnSelectionChangedWithDelegate; - UPROPERTY(BlueprintReadOnly,EditAnywhere) + UPROPERTY(BlueprintReadOnly,EditAnywhere, Category="Widgets") EModioPopupPlacement PopupPlacement = EModioPopupPlacement::AlignTopLeft; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioPopupMenu.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioPopupMenu.h index ab5e2d64..f9f4f71b 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioPopupMenu.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioPopupMenu.h @@ -30,27 +30,27 @@ class MODIOUI_API UModioPopupMenu : public UMenuAnchor void OnContentClose(); - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText ButtonLabel; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TEnumAsByte ButtonLabelJustification = ETextJustify::Center; UPROPERTY(Transient) class UModioRichTextButton* MenuButton; public: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioButtonStyle", DesignerRebuild)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioButtonStyle", DesignerRebuild), Category="Widgets") FModioUIStyleRef ButtonStyle = FModioUIStyleRef {"DefaultButtonStyle"}; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioPopupMenu") void SetMenuEntries(FModioUIMenuCommandList Entries); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (MustImplement = "ModioUIPopupMenuContentWidget")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (MustImplement = "ModioUIPopupMenuContentWidget"), Category="Widgets") TSubclassOf MenuContentWidgetClass; #if WITH_EDITORONLY_DATA - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") bool bPreviewOpened = false; #endif }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioProgressBar.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioProgressBar.h index 3bd19e3f..4eb5f473 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioProgressBar.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioProgressBar.h @@ -16,13 +16,13 @@ class MODIOUI_API UModioProgressBar : public UProgressBar { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioProgressBarStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioProgressBarStyle"), Category="Widget") FModioUIStyleRef StyleRef; virtual void SynchronizeProperties() override; virtual void PreSave(const class ITargetPlatform* TargetPlatform) override; public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioProgressBar") void SetStyleRef(FModioUIStyleRef NewStyle); }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioReportButtonGroupWidget.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioReportButtonGroupWidget.h index c0f2523b..aa12145d 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioReportButtonGroupWidget.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioReportButtonGroupWidget.h @@ -36,7 +36,7 @@ class MODIOUI_API UModioReportButtonGroupWidget : public UWidget, public IModioU DialogController = Controller; } - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "DefaultDialogButtonStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "DefaultDialogButtonStyle"), Category="Widgets") FModioUIStyleRef ButtonStyle {"DefaultDialogButtonStyle"}; TArray> Buttons; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioRichTextBlock.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioRichTextBlock.h index a948969f..90290a22 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioRichTextBlock.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioRichTextBlock.h @@ -34,10 +34,10 @@ class MODIOUI_API UModioRichTextBlock : public URichTextBlock FOnGetRichTextStyle OnGetStyle; // TODO: Override RebuildWidget to pass a pointer to this in - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widgets") FModioUIStyleRef TextStyle = FModioUIStyleRef {"DefaultRichTextStyle"}; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (GetOptions = "GetStyleNames")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (GetOptions = "GetStyleNames"), Category="Widgets") FName DefaultStyleName = FName("default"); diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioRoundedBorder.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioRoundedBorder.h index a40fd218..187040f6 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioRoundedBorder.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioRoundedBorder.h @@ -19,10 +19,10 @@ class MODIOUI_API UModioRoundedBorder : public UModioRetainerBox public: // TODO: make this a config var, then it can be overridden in the instances - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") TSoftObjectPtr RetainerMaterial; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRoundedBorderStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRoundedBorderStyle"), Category="Widgets") FModioUIStyleRef BorderStyle; /* diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioRoundedImage.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioRoundedImage.h index 4ca838b3..ea68d68e 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioRoundedImage.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioRoundedImage.h @@ -18,13 +18,13 @@ class MODIOUI_API UModioRoundedImage : public UModioImage protected: virtual void SynchronizeProperties() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FModioUIMaterialRef MaterialToUse; UPROPERTY(Transient) UMaterialInterface* CachedReferencedMaterial; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FName TextureParameterName = "WidgetTexture"; virtual void LoadImageFromFileAsync(FModioImageWrapper ImageLoader) override; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioScrollBox.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioScrollBox.h index 8dc6eb4a..aeadf41c 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioScrollBox.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioScrollBox.h @@ -33,9 +33,9 @@ class MODIOUI_API UModioScrollBox : public UScrollBox virtual void ReleaseSlateResources(bool bReleaseChildren) override; virtual void SynchronizeProperties() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") EModioScrollBoxBarAlignment ScrollBarAlignment = EModioScrollBoxBarAlignment::Default; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") float AdditionalPadding = 0; }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioTextBlock.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioTextBlock.h index c038dcd8..9d859039 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioTextBlock.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioTextBlock.h @@ -16,7 +16,7 @@ class MODIOUI_API UModioTextBlock : public UTextBlock { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Appearance") FModioUIStyleRef StyleRef = {FName("DefaultTextStyle") }; UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Appearance") diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioTileView.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioTileView.h index eca5e4b0..885e53b5 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioTileView.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioTileView.h @@ -22,10 +22,10 @@ class MODIOUI_API UModioTileView : public UTileView TSharedPtr> MyDerivedTileView; - UPROPERTY(BlueprintReadOnly,EditAnywhere) + UPROPERTY(BlueprintReadOnly,EditAnywhere, Category="Widgets") bool AllowPartialItems = false; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") bool CenterPanelItems; virtual void OnItemHoveredChanged(UObject* Item, bool bNewSelectionState); @@ -39,10 +39,10 @@ class MODIOUI_API UModioTileView : public UTileView UUserWidget& OnGenerateEntryWidgetInternal(UObject* Item, TSubclassOf DesiredEntryClass, const TSharedRef& OwnerTable) override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") bool bZoomSelectedEntryWidget = false; - UPROPERTY(EditAnywhere, BlueprintReadOnly) + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Widgets") ESlateVisibility ScrollbarVisibility; public: diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioUIAsyncLoader.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioUIAsyncLoader.h index f3ac6f97..468186da 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioUIAsyncLoader.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioUIAsyncLoader.h @@ -19,7 +19,7 @@ class MODIOUI_API UModioUIAsyncLoader : public UWidget, public IModioUIAsyncHand GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") EModioUIAsyncOperationWidgetState CurrentState = EModioUIAsyncOperationWidgetState::InProgress; TSharedPtr MyBox; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioUIAsyncLoadingOverlay.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioUIAsyncLoadingOverlay.h index 3928c665..4dbace4b 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioUIAsyncLoadingOverlay.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioUIAsyncLoadingOverlay.h @@ -38,15 +38,15 @@ class UModioUIAsyncLoadingOverlay : public UModioUserWidgetBase void ApplyStyling(); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioDialogStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioDialogStyle"), Category="Widgets") FModioUIStyleRef DialogStyle = {FName("DefaultDialogStyle")}; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* CancelButton; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* LoadingText; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UImage* BackgroundImage; }; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioUserWidgetNamedSlotBase.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioUserWidgetNamedSlotBase.h index 1e62fb9c..c762826c 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioUserWidgetNamedSlotBase.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioUserWidgetNamedSlotBase.h @@ -20,7 +20,7 @@ class MODIOUI_API UModioUserWidgetNamedSlotBase : public UModioUserWidgetBase UPROPERTY() TMap NamedWidgets; - UPROPERTY(BlueprintReadOnly,EditAnywhere) + UPROPERTY(BlueprintReadOnly,EditAnywhere, Category="Widgets") TArray DesignerSpecifiedSlotNames; // UNamedSlotInterface Begin diff --git a/Source/ModioUI/Public/UI/BaseWidgets/ModioWidgetSwitcher.h b/Source/ModioUI/Public/UI/BaseWidgets/ModioWidgetSwitcher.h index caa21911..d52b5abb 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/ModioWidgetSwitcher.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/ModioWidgetSwitcher.h @@ -15,7 +15,7 @@ class MODIOUI_API UModioWidgetSwitcher : public UWidgetSwitcher { GENERATED_BODY() - UPROPERTY(BlueprintAssignable, EditAnywhere) + UPROPERTY(BlueprintAssignable, EditAnywhere, Category="Widgets") FOnIndexChanged OnActiveWidgetChanged; TArray ActiveWidgetIndexStack; diff --git a/Source/ModioUI/Public/UI/BaseWidgets/Slate/SModioCustomComboBox.h b/Source/ModioUI/Public/UI/BaseWidgets/Slate/SModioCustomComboBox.h index 20ae66ec..a9032b0a 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/Slate/SModioCustomComboBox.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/Slate/SModioCustomComboBox.h @@ -1,6 +1,7 @@ #pragma once #include "Rendering/DrawElements.h" +#include "Brushes/SlateColorBrush.h" #include "Slate/SRetainerWidget.h" #include "Types/SlateEnums.h" #include "UI/Styles/ModioUIColorRef.h" diff --git a/Source/ModioUI/Public/UI/BaseWidgets/Slots/ModioDrawerControllerSlot.h b/Source/ModioUI/Public/UI/BaseWidgets/Slots/ModioDrawerControllerSlot.h index f2ec4abf..ab031cc8 100644 --- a/Source/ModioUI/Public/UI/BaseWidgets/Slots/ModioDrawerControllerSlot.h +++ b/Source/ModioUI/Public/UI/BaseWidgets/Slots/ModioDrawerControllerSlot.h @@ -25,16 +25,16 @@ class MODIOUI_API UModioDrawerControllerSlot : public UOverlaySlot TSharedPtr CurrentAnimationTimer; virtual void SynchronizeProperties() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") EModioDrawerControllerSlotEdge Edge; /** The alignment of the object horizontally. */ - UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (EditCondition = "Edge==EModioDrawerControllerSlotEdge::Top||Edge==EModioDrawerControllerSlotEdge::Bottom", EditConditionHides)) + UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (EditCondition = "Edge==EModioDrawerControllerSlotEdge::Top||Edge==EModioDrawerControllerSlotEdge::Bottom", EditConditionHides), Category="Widgets") TEnumAsByte DrawerHorizontalAlignment; /** The alignment of the object vertically. */ UPROPERTY(EditAnywhere, BlueprintReadOnly, - meta=(EditCondition = "Edge==EModioDrawerControllerSlotEdge::Left||Edge==EModioDrawerControllerSlotEdge::Right", EditConditionHides)) + meta=(EditCondition = "Edge==EModioDrawerControllerSlotEdge::Left||Edge==EModioDrawerControllerSlotEdge::Right", EditConditionHides), Category="Widgets") TEnumAsByte DrawerVerticalAlignment; #if WITH_EDITOR @@ -43,10 +43,10 @@ class MODIOUI_API UModioDrawerControllerSlot : public UOverlaySlot #endif /// @brief Changing this in the editor allows you to preview the animation transition - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") bool bExpanded = false; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta=(ClampMin=0.01)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta=(ClampMin=0.01), Category="Widgets") float AnimationTime = 0.1f; UPROPERTY() diff --git a/Source/ModioUI/Public/UI/Commands/ModioCommonUICommands.h b/Source/ModioUI/Public/UI/Commands/ModioCommonUICommands.h index 451a1cbd..0f8c7428 100644 --- a/Source/ModioUI/Public/UI/Commands/ModioCommonUICommands.h +++ b/Source/ModioUI/Public/UI/Commands/ModioCommonUICommands.h @@ -39,19 +39,19 @@ class MODIOUI_API UModioUICommandInfoLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioCommonUICommands") static struct FModioUIMenuEntry PreviousPageCommand(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioCommonUICommands") static FModioUIMenuEntry NextPageCommand(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioCommonUICommands") static FModioUIMenuEntry MoreOptionsCommand(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioCommonUICommands") static FModioUIMenuEntry ConfirmCommand(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioCommonUICommands") static FModioUIMenuEntry RefineSearchCommand(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioCommonUICommands") static FModioUIMenuEntry BackCommand(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioCommonUICommands") static FModioUIMenuEntry DownloadQueueCommand(); }; diff --git a/Source/ModioUI/Public/UI/Commands/ModioUIMenuEntry.h b/Source/ModioUI/Public/UI/Commands/ModioUIMenuEntry.h index 5c90d217..207e68e7 100644 --- a/Source/ModioUI/Public/UI/Commands/ModioUIMenuEntry.h +++ b/Source/ModioUI/Public/UI/Commands/ModioUIMenuEntry.h @@ -16,7 +16,7 @@ struct MODIOUI_API FModioUIMenuEntry { GENERATED_BODY() - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FText MenuEntryLabel; bool operator==(const FModioUIMenuEntry& Other) const diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioAuthenticationMethodSelector.h b/Source/ModioUI/Public/UI/CommonComponents/ModioAuthenticationMethodSelector.h index 93831fc6..5d03e20f 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioAuthenticationMethodSelector.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioAuthenticationMethodSelector.h @@ -28,7 +28,7 @@ class UModioAuthenticationMethodSelector : public UModioWidgetBase, public IModi TWeakObjectPtr DialogController; TSharedPtr ButtonBox; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* CancelButton; virtual void NativeSetDialogController(class UModioDialogController* Controller) override diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioDrawer.h b/Source/ModioUI/Public/UI/CommonComponents/ModioDrawer.h index 3f8542bf..0041f9a4 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioDrawer.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioDrawer.h @@ -41,7 +41,7 @@ class MODIOUI_API UModioDrawer : public UWidget, public INamedSlotInterface UPROPERTY() TMap NamedWidgets; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioDrawerWidgetStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioDrawerWidgetStyle"), Category="Widgets") FModioUIStyleRef DrawerStyle; UPROPERTY() @@ -89,7 +89,7 @@ class MODIOUI_API UModioDrawer : public UWidget, public INamedSlotInterface UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Footer Slot", meta = (DisplayName = "Vertical Alignment")) TEnumAsByte FooterVerticalAlignment; - UPROPERTY(EditAnywhere, BlueprintReadOnly) + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Fill Rules") int MinWidth; // TODO: expose direction for animation? diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioDrawerContentBase.h b/Source/ModioUI/Public/UI/CommonComponents/ModioDrawerContentBase.h index 3c7f10da..1a3208fe 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioDrawerContentBase.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioDrawerContentBase.h @@ -36,22 +36,22 @@ class MODIOUI_API UModioDrawerContentBase : public UModioUserWidgetBase virtual TSharedRef NativeGetContentWidget(); virtual TSharedRef NativeGetOptionalContentWidget(); - UFUNCTION(BlueprintImplementableEvent) + UFUNCTION(BlueprintImplementableEvent, Category="ModioDrawerContentBase") UWidget* GetHeaderWidget(); - UFUNCTION(BlueprintImplementableEvent) + UFUNCTION(BlueprintImplementableEvent, Category="ModioDrawerContentBase") UWidget* GetContentWidget(); - UFUNCTION(BlueprintImplementableEvent) + UFUNCTION(BlueprintImplementableEvent, Category="ModioDrawerContentBase") UWidget* GetOptionalContentWidget(); - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") UNamedSlot* HeaderSlot; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") UNamedSlot* ContentSlot; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") UNamedSlot* OptionalContentSlot; public: diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioErrorRetryWidget.h b/Source/ModioUI/Public/UI/CommonComponents/ModioErrorRetryWidget.h index a903587d..52efe053 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioErrorRetryWidget.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioErrorRetryWidget.h @@ -28,13 +28,13 @@ class MODIOUI_API UModioErrorRetryWidget : public UModioUserWidgetBase, public I virtual void SynchronizeProperties() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* RetryButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ErrorText; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere,Category="Widgets") FString ErrorTextValue; public: diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioImageGalleryBase.h b/Source/ModioUI/Public/UI/CommonComponents/ModioImageGalleryBase.h index 0ce4b658..66f7c865 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioImageGalleryBase.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioImageGalleryBase.h @@ -40,28 +40,28 @@ class MODIOUI_API UModioImageGalleryBase : public UWidget virtual UWidget* GenerateContentWidget(); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (IsBindableEvent = "True")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (IsBindableEvent = "True"), Category="Widgets") FOnDisplayImage OnDisplayImage; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (IsBindableEvent = "True")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (IsBindableEvent = "True"), Category="Widgets") FGetWidget OnConstructWidget; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (IsBindableEvent = "True")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (IsBindableEvent = "True"), Category="Widgets") FGetInt32 OnGetItemCount; /// @brief Widget class to wrap as the images in this gallery. Bind OnConstructWidget if you want to do something /// else - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (MustImplement = ModioUIImageDisplay)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (MustImplement = ModioUIImageDisplay), Category="Widgets") TSubclassOf ImageWidgetClass; int32 CurrentImageIndex = 0; public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioImageGalleryBase") void DisplayGalleryImageAtIndex(EModioUIDirection Direction, int32 DirectIndex = -1); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioImageGalleryBase") void ResetGallery(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioImageGalleryBase") void RefreshCurrentImage(); virtual FOnDisplayImage& GetImageDisplayDelegate() diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioListViewInteger.h b/Source/ModioUI/Public/UI/CommonComponents/ModioListViewInteger.h index a602e143..b67ea93e 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioListViewInteger.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioListViewInteger.h @@ -27,13 +27,13 @@ class MODIOUI_API UModioListViewInteger : public UListViewBase, public ITypedUMG UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = ListView) ESlateVisibility ScrollbarVisibility; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ClampMin = 0)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ClampMin = 0), Category="ListView") float EntrySpacing = 0.f; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="ListView") bool bOverrideItemSize; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (EditCondition = bOverrideItemSize)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (EditCondition = bOverrideItemSize), Category="ListView") FVector2D ItemSize; void ResetSelectionStateOnDisplayedWidgets(); diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioListViewString.h b/Source/ModioUI/Public/UI/CommonComponents/ModioListViewString.h index 08c6fee6..96c024ea 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioListViewString.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioListViewString.h @@ -27,13 +27,13 @@ class MODIOUI_API UModioListViewString : public UListViewBase, public ITypedUMGL UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = ListView) ESlateVisibility ScrollbarVisibility; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ClampMin = 0)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ClampMin = 0), Category="ListView") float EntrySpacing = 0.f; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="ListView") bool bOverrideItemSize; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (EditCondition = bOverrideItemSize)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (EditCondition = bOverrideItemSize), Category="ListView") FVector2D ItemSize; #if WITH_EDITOR diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioMenu.h b/Source/ModioUI/Public/UI/CommonComponents/ModioMenu.h index 7cc5ded3..4fc5a829 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioMenu.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioMenu.h @@ -100,43 +100,43 @@ class MODIOUI_API UModioMenu : public UModioUserWidgetBase UFUNCTION(BlueprintImplementableEvent) void OnViewChanged(int64 ViewIndex); - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UNativeWidgetHost* MenuTitleContent; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioWidgetSwitcher* ViewController; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioMenuBar* MenuBar; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioImage* Background; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioDrawerController* DrawerController; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioDialogController* DialogController; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget, MustImplement = "ModioUINotificationController")) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget, MustImplement = "ModioUINotificationController")) UWidget* NotificationController; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf FeaturedView; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf CollectionView; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf SearchResultsView; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf ModDetailsView; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf DownloadProgressDrawer; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf RefineSearchDrawer; public: diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioMenuBar.h b/Source/ModioUI/Public/UI/CommonComponents/ModioMenuBar.h index 01a3d003..c8a3788a 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioMenuBar.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioMenuBar.h @@ -26,13 +26,13 @@ class MODIOUI_API UModioMenuBar : public UModioUserWidgetBase UFUNCTION() virtual void OnSearchClicked(); - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* SearchButton; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* BackButton; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioUserProfileButton* UserProfileButton; public: diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioModManagementWidgetBase.h b/Source/ModioUI/Public/UI/CommonComponents/ModioModManagementWidgetBase.h index 840d0de6..3eb61247 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioModManagementWidgetBase.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioModManagementWidgetBase.h @@ -38,15 +38,15 @@ class MODIOUI_API UModioModManagementWidgetBase : public UModioUserWidgetBase, UPROPERTY(Transient) FModioModProgressInfo PreviewProgressInfo; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, meta = (ClampMin = 0)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, meta = (ClampMin = 0), Category="Widgets") int64 TotalDownloadSize = 1; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, meta = (ClampMin = 0)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, meta = (ClampMin = 0), Category="Widgets") int64 TotalExtractedSize = 1; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, meta = (ClampMin = 0)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, meta = (ClampMin = 0), Category="Widgets") int64 CurrentDownloadSize = 0; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, meta = (ClampMin = 0)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, meta = (ClampMin = 0), Category="Widgets") int64 CurrentExtractedSize = 0; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, Category="Widgets") FModioModID PreviewModID; #endif diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioModPropertyInspectorBase.h b/Source/ModioUI/Public/UI/CommonComponents/ModioModPropertyInspectorBase.h index d95b16b2..e4011f9a 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioModPropertyInspectorBase.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioModPropertyInspectorBase.h @@ -24,10 +24,10 @@ struct MODIOUI_API FModioModInfoPropertyDescriptor { GENERATED_BODY() - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="ModioModInfoPropertyDescriptor") FText Label; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="ModioModInfoPropertyDescriptor") EModioModInfoPropertyType Property; }; @@ -43,12 +43,12 @@ class MODIOUI_API UModioModPropertyInspectorBase : public UModioUserWidgetBase virtual void NativeOnSetDataSource() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="ModioModPropertyInspectorBase") TArray PropertiesToDisplay; bool bRoutedUpdatePropertyDisplay = false; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioModPropertyInspectorBase") void UpdatePropertyDisplay(); virtual void NativeOnUpdatePropertyDisplay(); diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioModTile.h b/Source/ModioUI/Public/UI/CommonComponents/ModioModTile.h index 9c258606..1cd62384 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioModTile.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioModTile.h @@ -55,7 +55,7 @@ class MODIOUI_API UModioModTile : public UModioModTileBase UFUNCTION() void NativeReportClicked(); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioPopupMenu* MoreOptionsMenu; UFUNCTION() @@ -66,7 +66,7 @@ class MODIOUI_API UModioModTile : public UModioModTileBase virtual void BuildCommandList(TSharedRef CommandList) override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioImage* TileActiveFrame; virtual void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioModTileBase.h b/Source/ModioUI/Public/UI/CommonComponents/ModioModTileBase.h index 8ec76eae..df1eddc2 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioModTileBase.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioModTileBase.h @@ -40,7 +40,7 @@ class MODIOUI_API UModioModTileBase : public UModioUserWidgetBase, TWeakObjectPtr WeakExpandedWidget; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, Category="Widgets") bool bCurrentExpandedState = false; virtual void NativeConstruct() override; @@ -65,30 +65,30 @@ class MODIOUI_API UModioModTileBase : public UModioUserWidgetBase, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FModioUIMaterialRef LoadingMaterial = FModioUIMaterialRef {"Loading"}; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FModioUIMaterialRef ErrorMaterial = FModioUIMaterialRef {"ImageError"}; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) UModioImage* Thumbnail; + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioImage* Thumbnail; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioUserWidgetBase* SubscriptionIndicator; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ModName; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetAnim), Transient) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetAnim), Transient) UWidgetAnimation* FocusTransition; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioRoundedBorder* TileBorder; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioImage* TileFrame; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* SubscribeButton; UFUNCTION(BlueprintImplementableEvent) @@ -118,7 +118,7 @@ class MODIOUI_API UModioModTileBase : public UModioUserWidgetBase, FOnModTileSubscribeClicked OnSubscribeClicked; public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioModTileBase") void SetExpandedState(bool bExpanded); UFUNCTION() diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioRichTextButton.h b/Source/ModioUI/Public/UI/CommonComponents/ModioRichTextButton.h index 0c10572b..d2e74840 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioRichTextButton.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioRichTextButton.h @@ -30,24 +30,24 @@ class MODIOUI_API UModioRichTextButton : public UModioButton, public IModioUIInp virtual void SynchronizeProperties() override; virtual TSharedRef RebuildWidget() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") UModioRichTextBlock* ButtonContent; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") UModioInputBindingImage* InputHintImage; TOptional KeyForInputHint; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText ButtonLabel; UFUNCTION() TArray GetStyleNames() const; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (GetOptions = "GetStyleNames")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (GetOptions = "GetStyleNames"), Category="Widgets") FName DefaultStyleName = FName("default"); - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TEnumAsByte Justification; virtual void NativeDisplayHintForInput(FKey VirtualKey) override; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioSelectableTag.h b/Source/ModioUI/Public/UI/CommonComponents/ModioSelectableTag.h index 1da5b0ac..d6074484 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioSelectableTag.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioSelectableTag.h @@ -34,6 +34,6 @@ class MODIOUI_API UModioSelectableTag : public UModioUserWidgetBase, } }; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioCheckBox* TagSelectedCheckbox; }; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioSubscriptionBadge.h b/Source/ModioUI/Public/UI/CommonComponents/ModioSubscriptionBadge.h index 74449436..390a28d0 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioSubscriptionBadge.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioSubscriptionBadge.h @@ -32,26 +32,26 @@ class MODIOUI_API UModioSubscriptionBadge : public UModioModManagementWidgetBase TSharedPtr WrappedContent = nullptr; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioProgressBar* ProgressBar; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* Label; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioSubscriptionBadgeStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioSubscriptionBadgeStyle"),Category="Widgets") FModioUIStyleRef BadgeStyle; // These could possibly be moved into the global style - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets") FText PendingLabelText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets") FText DownloadingLabelText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets") FText ExtractingLabelText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets") FText SubscribedLabelText; void UpdateProgress(const struct FModioModProgressInfo& ProgressInfo) override; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioTabBar.h b/Source/ModioUI/Public/UI/CommonComponents/ModioTabBar.h index 279d4afb..6cb70a4a 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioTabBar.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioTabBar.h @@ -33,28 +33,28 @@ class MODIOUI_API UModioTabBar : public UWidget TArray> BoundValues; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TArray TabNames; TSharedPtr>> MyListView; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FTableRowStyle TEMP_TableRowStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioButtonStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioButtonStyle"), Category="Widgets") FModioUIStyleRef TabButtonStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioButtonStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioButtonStyle"), Category="Widgets") FModioUIStyleRef InactiveTabButtonStyle; /// @brief Style for the tab which is selected but not hovered/focused - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FSlateBrush SelectedButtonBrush; UPROPERTY(EditAnywhere, meta = (ReadOnlyKeys, EditCondition = "1==0", EditConditionHides, ShowOnlyInnerProperties, - EditFixedSize, EditFixedOrder, NoResetToDefault)) + EditFixedSize, EditFixedOrder, NoResetToDefault), Category="Widgets") TMap SerializedColors; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FVector2D ItemSize; virtual void PostLoad() override; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioTabButton.h b/Source/ModioUI/Public/UI/CommonComponents/ModioTabButton.h index 18b2562c..1a71bd1c 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioTabButton.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioTabButton.h @@ -18,7 +18,7 @@ class MODIOUI_API UModioTabButton : public UModioUserWidgetBase, public IUserObj GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (Bindwidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioButton* ClickableRegion; virtual void NativeOnListItemObjectSet(UObject* ListItemObject) override; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioTabController.h b/Source/ModioUI/Public/UI/CommonComponents/ModioTabController.h index 73caefd7..a66728a5 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioTabController.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioTabController.h @@ -23,13 +23,13 @@ class MODIOUI_API UModioTabController : public UModioUserWidgetBase protected: bool bRoutedOnCurrentTabChanged = false; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioInputBindingImage* NavigatePreviousHint; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioTileView* TabButtons; - UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly,Category="Widgets", meta = (BindWidget)) UModioInputBindingImage* NavigateNextHint; virtual void NativeOnCurrentTabChanged(int64 TabIndex, UObject* AssociatedItem); @@ -45,18 +45,18 @@ class MODIOUI_API UModioTabController : public UModioUserWidgetBase ESlateVisibility GetInputHintVisibility(EModioUIInputMode InputMode); public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTabController") void SetTabItems(TArray NewItems); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTabController") void SetCurrentTab(int64 TabIndex); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTabController") void NextTab(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTabController") void PrevTab(); - UPROPERTY(BlueprintAssignable) + UPROPERTY(BlueprintAssignable, Category="ModioTabController") FOnCurrentTabChanged OnCurrentTabChanged; }; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioTagList.h b/Source/ModioUI/Public/UI/CommonComponents/ModioTagList.h index 0bf04195..5b2b2184 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioTagList.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioTagList.h @@ -24,25 +24,25 @@ class MODIOUI_API UModioTagList : public UModioWrapBox FString GetTagGroupNameForTagValue(FString TagValue); #if WITH_EDITORONLY_DATA - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") int32 NumberOfPreviewTags = 1; #endif - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") int32 NumberOfTagsToShow = 1; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TArray Tags; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText ExcessTagCountText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf TagWidgetClass; TOptional TagOptions; public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="Widgets") void SetTags(TArray NewTags); }; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioTagListWidgetBase.h b/Source/ModioUI/Public/UI/CommonComponents/ModioTagListWidgetBase.h index 1aa50be8..2bf7ab66 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioTagListWidgetBase.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioTagListWidgetBase.h @@ -19,21 +19,21 @@ class MODIOUI_API UModioTagListWidgetBase : public UModioUserWidgetBase virtual void NativeOnSetDataSource() override; virtual void NativePreConstruct() override; virtual void NativeTick(const FGeometry& MyGeometry, float InDeltaTime) override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioListView* TagSelectorList; int32 CurrentlyDisplayedTagCategoryIndex = 0; int32 TagCategoryCount = 0; public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTagWidgetBase") TArray GetSelectedTags(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTagWidgetBase") void ClearSelectedTags(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTagWidgetBase") void DisplayNextTagCategory(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTagWidgetBase") void DisplayPrevTagCategory(); }; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioTagSelectorWidgetBase.h b/Source/ModioUI/Public/UI/CommonComponents/ModioTagSelectorWidgetBase.h index 864e20b6..d078af8f 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioTagSelectorWidgetBase.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioTagSelectorWidgetBase.h @@ -26,17 +26,17 @@ class UModioTagSelectorWidgetBase : public UModioUserWidgetBase, public IUserObj void Refresh(); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* TagCategoryLabel; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioListViewString* CategoryTagList; void NativeOnListItemObjectSet(UObject* ListItemObject) override; public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTagSelectorWidgetBase") TArray GetSelectedTags(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioTagSelectorWidgetBase") void ClearSelectedTags(); }; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioTagWidgetBase.h b/Source/ModioUI/Public/UI/CommonComponents/ModioTagWidgetBase.h index 8873ad99..684d3c7f 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioTagWidgetBase.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioTagWidgetBase.h @@ -24,22 +24,22 @@ class MODIOUI_API UModioTagWidgetBase : public UModioUserWidgetBase UFUNCTION() const struct FModioRichTextStyle& GetTagTextStyle(); - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FText TagTextFormat; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FString TagCategory; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FString TagValue; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* TagText; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioImage* TagBackground; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioTagWidgetStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioTagWidgetStyle"), Category="Widgets") FModioUIStyleRef TagStyle = FModioUIStyleRef {"DefaultTagWidgetStyle"}; public: diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioUserProfileButton.h b/Source/ModioUI/Public/UI/CommonComponents/ModioUserProfileButton.h index 601cc6ca..082aa04e 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioUserProfileButton.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioUserProfileButton.h @@ -34,26 +34,26 @@ class MODIOUI_API UModioUserProfileButton : public UModioModManagementWidgetBase virtual void UpdateProgress(const struct FModioModProgressInfo& ProgressInfo) override; TOptional CurrentUser; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioCircularProgressBar* DownloadProgressIndicator; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioButton* ProfileButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioImage* ProfileImage; // To stop the material being GC'd while in use UPROPERTY(Transient) UMaterialInterface* GCMaterial; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSoftObjectPtr UserBrushMaterial; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSoftObjectPtr NoUserBrushMaterial; - UPROPERTY(EditAnywhere) + UPROPERTY(EditAnywhere, Category="Widgets") FName ProfileTextureParameterName = "WidgetTexture"; void NativeDestruct() override; diff --git a/Source/ModioUI/Public/UI/CommonComponents/ModioWidgetCarousel.h b/Source/ModioUI/Public/UI/CommonComponents/ModioWidgetCarousel.h index b518e936..ec31bb8e 100644 --- a/Source/ModioUI/Public/UI/CommonComponents/ModioWidgetCarousel.h +++ b/Source/ModioUI/Public/UI/CommonComponents/ModioWidgetCarousel.h @@ -125,16 +125,16 @@ class MODIOUI_API UModioWidgetCarousel : public UWidget } public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioWidgetCarousel") void SetItems(TArray Items); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioWidgetCarousel") void ScrollLeft() { MyCarousel->ScrollLeft(); } - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioWidgetCarousel") void ScrollRight() { MyCarousel->ScrollRight(); diff --git a/Source/ModioUI/Public/UI/Dialogs/ModioDialogBase.h b/Source/ModioUI/Public/UI/Dialogs/ModioDialogBase.h index 169de063..b65eff45 100644 --- a/Source/ModioUI/Public/UI/Dialogs/ModioDialogBase.h +++ b/Source/ModioUI/Public/UI/Dialogs/ModioDialogBase.h @@ -19,6 +19,6 @@ class MODIOUI_API UModioDialogBase : public UModioUserWidgetBase public: bool Initialize() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FModioUIStyleRef DialogStyle = {FName("DefaultDialogStyle")}; }; diff --git a/Source/ModioUI/Public/UI/Dialogs/ModioDialogBaseInternal.h b/Source/ModioUI/Public/UI/Dialogs/ModioDialogBaseInternal.h index 904cf713..69fea208 100644 --- a/Source/ModioUI/Public/UI/Dialogs/ModioDialogBaseInternal.h +++ b/Source/ModioUI/Public/UI/Dialogs/ModioDialogBaseInternal.h @@ -39,6 +39,7 @@ class MODIOUI_API UModioDialogBaseInternal : public UWidget, public IModioUIInpu TSharedPtr DialogTextBlock; TSharedPtr>> DialogButtons; + UPROPERTY() UWidget* LoadingSpinner; UPROPERTY() @@ -48,9 +49,9 @@ class MODIOUI_API UModioDialogBaseInternal : public UWidget, public IModioUIInpu virtual void BuildCommandList(TSharedRef InCommandList) override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioDialogStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioDialogStyle"), Category="Widgets") FModioUIStyleRef DialogStyle = {FName("DefaultDialogStyle")}; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FMargin ButtonSpacing; UPROPERTY() diff --git a/Source/ModioUI/Public/UI/Dialogs/ModioDialogController.h b/Source/ModioUI/Public/UI/Dialogs/ModioDialogController.h index 4b951ebf..7fd6a93b 100644 --- a/Source/ModioUI/Public/UI/Dialogs/ModioDialogController.h +++ b/Source/ModioUI/Public/UI/Dialogs/ModioDialogController.h @@ -42,7 +42,7 @@ class MODIOUI_API UModioDialogController : public UModioWidgetBase /// not transitioning at all; positive, we are transitioning from collapsed ->visible int32 AnimationDirection; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, Category="Widgets") bool bCurrentlyDisplayingDialog = false; UPROPERTY(Transient) @@ -53,7 +53,7 @@ class MODIOUI_API UModioDialogController : public UModioWidgetBase float GetBlurStrength() const; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FInterpCurveFloat BlurCurve; UFUNCTION() @@ -61,32 +61,32 @@ class MODIOUI_API UModioDialogController : public UModioWidgetBase virtual TSharedRef RebuildWidget() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSoftObjectPtr AuthenticationChoiceDialog; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSoftObjectPtr UnsubscribeConfirmationDialog; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSoftObjectPtr EmailAuthenticationDialog; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSoftObjectPtr ReportContentDialog; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSoftObjectPtr ReportEmailDialog; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSoftObjectPtr UninstallConfirmationDialog; /// @brief Needs to implement error display interface I guess - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf ErrorDisplayWidget; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSoftObjectPtr LogoutConfirmationDialog; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf LoadingOverlay; friend class UModioDialogBaseInternal; diff --git a/Source/ModioUI/Public/UI/Dialogs/ModioDialogInfo.h b/Source/ModioUI/Public/UI/Dialogs/ModioDialogInfo.h index db728fc7..82a8f590 100644 --- a/Source/ModioUI/Public/UI/Dialogs/ModioDialogInfo.h +++ b/Source/ModioUI/Public/UI/Dialogs/ModioDialogInfo.h @@ -54,25 +54,25 @@ struct MODIOUI_API FModioDialogButtonInfo { GENERATED_BODY() - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FText ButtonLabel; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") EModioDialogButtonCommand ButtonCommand; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "ButtonCommand==EModioDialogButtonCommand::AsyncCallThenPushDialog", - EditConditionHides)) + EditConditionHides), Category="Widgets") EModioDialogAsyncCall AsyncCallType; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "ButtonCommand==EModioDialogButtonCommand::PushDialogWithOperation", - EditConditionHides)) + EditConditionHides), Category="Widgets") EModioDialogOperationCall OperationCallType; // clang-format off UPROPERTY(BlueprintReadWrite, EditAnywhere, - meta = (EditCondition = "ButtonCommand==EModioDialogButtonCommand::PushDialog||ButtonCommand==EModioDialogButtonCommand::AsyncCallThenPushDialog||ButtonCommand==EModioDialogButtonCommand::PushDialogWithOperation",EditConditionHides)) + meta = (EditCondition = "ButtonCommand==EModioDialogButtonCommand::PushDialog||ButtonCommand==EModioDialogButtonCommand::AsyncCallThenPushDialog||ButtonCommand==EModioDialogButtonCommand::PushDialogWithOperation",EditConditionHides), Category="Widgets") UModioDialogInfo* Destination; // clang-format on }; @@ -85,49 +85,49 @@ class MODIOUI_API UModioDialogInfo : public UObject { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (MultiLine = true)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (MultiLine = true), Category="Widgets") FText TitleText; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") TSubclassOf SubHeaderWidget; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "SubHeaderWidget!=nullptr", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "SubHeaderWidget!=nullptr", EditConditionHides), Category="Widgets") TEnumAsByte SubHeaderWidgetHAlign; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "SubHeaderWidget!=nullptr", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "SubHeaderWidget!=nullptr", EditConditionHides), Category="Widgets") TEnumAsByte SubHeaderWidgetVAlign; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (MultiLine = true)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (MultiLine = true), Category="Widgets") FText DialogText; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (MustImplement = ModioUIStringInputWidget)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (MustImplement = ModioUIStringInputWidget), Category="Widgets") TSubclassOf InputWidget; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides), Category="Widgets") TEnumAsByte InputWidgetHAlign; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides), Category="Widgets") TEnumAsByte InputWidgetVAlign; - UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides)) + UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides), Category="Widgets") TEnumAsByte InputWidgetScalingType = EStretchDirection::Both; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides), Category="Widgets") float InputWidgetHeightOverride; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "InputWidget!=nullptr", EditConditionHides), Category="Widgets") FText InputWidgetHintText; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") TSubclassOf ButtonAreaWidget; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "ButtonAreaWidget!=nullptr", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "ButtonAreaWidget!=nullptr", EditConditionHides), Category="Widgets") TEnumAsByte ButtonAreaWidgetHAlign; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "ButtonAreaWidget!=nullptr", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "ButtonAreaWidget!=nullptr", EditConditionHides), Category="Widgets") TEnumAsByte ButtonAreaWidgetVAlign; UPROPERTY(BlueprintReadWrite, EditAnywhere, - meta = (EditCondition = "ButtonAreaWidget==nullptr", EditConditionHides)) + meta = (EditCondition = "ButtonAreaWidget==nullptr", EditConditionHides), Category="Widgets") TArray Buttons; }; diff --git a/Source/ModioUI/Public/UI/Dialogs/ModioMoreOptionsDialog.h b/Source/ModioUI/Public/UI/Dialogs/ModioMoreOptionsDialog.h index b95df5ac..abf6ea3e 100644 --- a/Source/ModioUI/Public/UI/Dialogs/ModioMoreOptionsDialog.h +++ b/Source/ModioUI/Public/UI/Dialogs/ModioMoreOptionsDialog.h @@ -17,6 +17,6 @@ class MODIOUI_API UModioMoreOptionsDialog : public UModioDialogBase GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioTileView* OptionsList; }; diff --git a/Source/ModioUI/Public/UI/Dialogs/ModioRemoveModDialog.h b/Source/ModioUI/Public/UI/Dialogs/ModioRemoveModDialog.h index 2def2eb7..194cc7f0 100644 --- a/Source/ModioUI/Public/UI/Dialogs/ModioRemoveModDialog.h +++ b/Source/ModioUI/Public/UI/Dialogs/ModioRemoveModDialog.h @@ -17,15 +17,15 @@ class MODIOUI_API UModioRemoveModDialog : public UModioDialogBase { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioTextBlock* ModName; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioTextBlock* PromptMessage; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioButton* BackButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioButton* ConfirmButton; }; diff --git a/Source/ModioUI/Public/UI/Dialogs/ModioSearchOptionsDialog.h b/Source/ModioUI/Public/UI/Dialogs/ModioSearchOptionsDialog.h index 3d357cbf..dd6fd1e3 100644 --- a/Source/ModioUI/Public/UI/Dialogs/ModioSearchOptionsDialog.h +++ b/Source/ModioUI/Public/UI/Dialogs/ModioSearchOptionsDialog.h @@ -18,15 +18,15 @@ class MODIOUI_API UModioSearchOptionsDialog : public UModioDialogBase { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioTabController* TagCategorySelector; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioListView* TagList; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioButton* ApplyButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioButton* MoreOptionsButton; }; diff --git a/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueDrawer.h b/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueDrawer.h index 856475d2..fe3322bc 100644 --- a/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueDrawer.h +++ b/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueDrawer.h @@ -73,25 +73,25 @@ class MODIOUI_API UModioDownloadQueueDrawer : public UModioUserWidgetBase, TArray PendingDownloads; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioUserProfileButton* ProfileIcon; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* UserLabel; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ActivityText; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* LogOutButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioDownloadQueueOpProgress* CurrentOpProgress; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* UnsubscribeButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioListView* OperationQueue; /// @brief Shows the newly updated user as the profile badge, name etc diff --git a/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueEntry.h b/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueEntry.h index f9ca20ad..6e0420be 100644 --- a/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueEntry.h +++ b/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueEntry.h @@ -37,24 +37,24 @@ class MODIOUI_API UModioDownloadQueueEntry : public UModioUserWidgetBase, const FModioRichTextStyle& GetRichTextStyle(); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioImage* ModThumbnail; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ModNameLabel; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ModSizeLabel; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* UnsubscribeButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ModStatusLabel; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UBorder* EntryBorder; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioDownloadQueueEntryStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioDownloadQueueEntryStyle"), Category="Widgets") FModioUIStyleRef EntryStyle; }; diff --git a/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueOpProgress.h b/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueOpProgress.h index c68433e3..a63f0553 100644 --- a/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueOpProgress.h +++ b/Source/ModioUI/Public/UI/Drawers/DownloadQueue/ModioDownloadQueueOpProgress.h @@ -30,19 +30,19 @@ class MODIOUI_API UModioDownloadQueueOpProgress : public UModioModManagementWidg void SetPercent(float InPercent); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioProgressBar* ProgressBar; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ModNameLabel; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* OperationSpeedText; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* OperationProgressText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText SpeedFormatText; void UpdateProgress(const struct FModioModProgressInfo& ProgressInfo) override; @@ -52,6 +52,6 @@ class MODIOUI_API UModioDownloadQueueOpProgress : public UModioModManagementWidg FOnDownloadOpComplete OnOperationCompleted; public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioDownloadQueueOpProgress") virtual FOnDownloadOpComplete& OperationCompletedDelegate(); }; diff --git a/Source/ModioUI/Public/UI/Drawers/RefineSearch/ModioRefineSearchDrawer.h b/Source/ModioUI/Public/UI/Drawers/RefineSearch/ModioRefineSearchDrawer.h index 12b5caef..abd445bd 100644 --- a/Source/ModioUI/Public/UI/Drawers/RefineSearch/ModioRefineSearchDrawer.h +++ b/Source/ModioUI/Public/UI/Drawers/RefineSearch/ModioRefineSearchDrawer.h @@ -17,16 +17,16 @@ class MODIOUI_API UModioRefineSearchDrawer : public UModioUserWidgetBase, { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioEditableTextBox* SearchInput; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioTagListWidgetBase* TagSelector; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* ApplyButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* ClearButton; UPROPERTY(BlueprintAssignable) diff --git a/Source/ModioUI/Public/UI/EventHandlers/IModioUIMediaDownloadCompletedReceiver.h b/Source/ModioUI/Public/UI/EventHandlers/IModioUIMediaDownloadCompletedReceiver.h index aec23ed5..922fd232 100644 --- a/Source/ModioUI/Public/UI/EventHandlers/IModioUIMediaDownloadCompletedReceiver.h +++ b/Source/ModioUI/Public/UI/EventHandlers/IModioUIMediaDownloadCompletedReceiver.h @@ -5,6 +5,7 @@ #include "Types/ModioErrorCode.h" #include "Types/ModioImageWrapper.h" #include "UObject/Interface.h" +#include "ModioUISubsystem.h" #include "IModioUIMediaDownloadCompletedReceiver.generated.h" diff --git a/Source/ModioUI/Public/UI/EventHandlers/IModioUIModManagementEventReceiver.h b/Source/ModioUI/Public/UI/EventHandlers/IModioUIModManagementEventReceiver.h index a738827f..33faeb6e 100644 --- a/Source/ModioUI/Public/UI/EventHandlers/IModioUIModManagementEventReceiver.h +++ b/Source/ModioUI/Public/UI/EventHandlers/IModioUIModManagementEventReceiver.h @@ -2,6 +2,7 @@ #include "Types/ModioModManagementEvent.h" #include "UObject/Interface.h" +#include "ModioUISubsystem.h" #include "IModioUIModManagementEventReceiver.generated.h" diff --git a/Source/ModioUI/Public/UI/EventHandlers/IModioUISubscriptionsChangedReceiver.h b/Source/ModioUI/Public/UI/EventHandlers/IModioUISubscriptionsChangedReceiver.h index 36dfd365..762b74dc 100644 --- a/Source/ModioUI/Public/UI/EventHandlers/IModioUISubscriptionsChangedReceiver.h +++ b/Source/ModioUI/Public/UI/EventHandlers/IModioUISubscriptionsChangedReceiver.h @@ -2,6 +2,7 @@ #include "UObject/Interface.h" #include "Types/ModioCommonTypes.h" +#include "ModioUISubsystem.h" #include "IModioUISubscriptionsChangedReceiver.generated.h" diff --git a/Source/ModioUI/Public/UI/EventHandlers/IModioUIUserChangedReceiver.h b/Source/ModioUI/Public/UI/EventHandlers/IModioUIUserChangedReceiver.h index 55fc09e6..eba6dba5 100644 --- a/Source/ModioUI/Public/UI/EventHandlers/IModioUIUserChangedReceiver.h +++ b/Source/ModioUI/Public/UI/EventHandlers/IModioUIUserChangedReceiver.h @@ -3,6 +3,7 @@ #include "Types/ModioCommonTypes.h" #include "Types/ModioUser.h" #include "UObject/Interface.h" +#include "ModioUISubsystem.h" #include "IModioUIUserChangedReceiver.generated.h" diff --git a/Source/ModioUI/Public/UI/Input/ModioNavigationConfigFactoryBase.h b/Source/ModioUI/Public/UI/Input/ModioNavigationConfigFactoryBase.h index 771a980e..3040d242 100644 --- a/Source/ModioUI/Public/UI/Input/ModioNavigationConfigFactoryBase.h +++ b/Source/ModioUI/Public/UI/Input/ModioNavigationConfigFactoryBase.h @@ -133,21 +133,21 @@ class MODIOUI_API UModioNavigationConfigFactory : public UModioNavigationConfigF protected: /** Should the Tab key perform next and previous style navigation. */ - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="ModioNavigationConfigFactory") bool bTabNavigation; /** Should we respect keys for navigation. */ - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioNavigationConfigFactory") bool bKeyNavigation; /** Should we respect the analog stick for navigation. */ - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioNavigationConfigFactory") bool bAnalogNavigation; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioNavigationConfigFactory") float AnalogNavigationHorizontalThreshold; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioNavigationConfigFactory") float AnalogNavigationVerticalThreshold; virtual TSharedRef CreateNavigationConfig() override diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioMenuBackgroundProvider.h b/Source/ModioUI/Public/UI/Interfaces/IModioMenuBackgroundProvider.h index 46552e28..99e393ee 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioMenuBackgroundProvider.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioMenuBackgroundProvider.h @@ -23,7 +23,7 @@ class MODIOUI_API IModioMenuBackgroundProvider : public IInterface PURE_VIRTUAL(IModioMenuBackgroundProvider::NativeGetBackgroundMaterial, return {};); - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioMenuBackgroundProvider") UMaterialInterface* GetBackgroundMaterial(); UMaterialInterface* GetBackgroundMaterial_Implementation() diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioModInfoUIDetails.h b/Source/ModioUI/Public/UI/Interfaces/IModioModInfoUIDetails.h index 1cd41a7c..42697a8c 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioModInfoUIDetails.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioModInfoUIDetails.h @@ -20,14 +20,14 @@ class MODIOUI_API IModioModInfoUIDetails : public IInterface GENERATED_BODY() public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent , Category="IModioModInfoUIDetails") FModioModInfo GetFullModInfo(); virtual FModioModInfo GetFullModInfo_Implementation() { return FModioModInfo(); }; - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="IModioModInfoUIDetails") FModioModID GetModID(); virtual FModioModID GetModID_Implementation() { diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncHandlerWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncHandlerWidget.h index ae2e3b66..fc6f2e0f 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncHandlerWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncHandlerWidget.h @@ -21,7 +21,7 @@ class MODIOUI_API IModioUIAsyncHandlerWidget : public IInterface } public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIAsyncHandlerWidgets") void LinkAsyncOperationWidget(const TScriptInterface& Widget); void LinkAsyncOperationWidget_Implementation(const TScriptInterface& Widget) { diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncOperationWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncOperationWidget.h index 4e8a09d8..a255086a 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncOperationWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncOperationWidget.h @@ -37,7 +37,7 @@ class MODIOUI_API IModioUIAsyncOperationWidget : public IInterface virtual void NativeRequestOperationRetry() {} - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIAsyncOperationWidget") void NotifyOperationState(EModioUIAsyncOperationWidgetState NewState); void NotifyOperationState_Implementation(EModioUIAsyncOperationWidgetState NewState) @@ -61,10 +61,10 @@ class MODIOUI_API IModioUIAsyncOperationWidget : public IInterface public: /// @brief Call this to pass in a delegate that will receive operation state change notifications - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIAsyncOperationWidget") void SetOperationStateDelegate(const FOnSetOperationState& Delegate); /// @brief Call this to request that the underlying widget retry the async operation - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIAsyncOperationWidget") void RequestOperationRetry(); }; \ No newline at end of file diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncRetryWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncRetryWidget.h index 42dd05a6..d8e64632 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncRetryWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIAsyncRetryWidget.h @@ -26,6 +26,6 @@ class MODIOUI_API IModioUIAsyncRetryWidget : public IInterface public: /// @brief Call this to pass in a delegate that will receive operation state change notifications - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIAsyncRetryWidget") void SetRetryRequestedDelegate(const FOnRetryRequested& Delegate); }; \ No newline at end of file diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIAuthenticationDataProvider.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIAuthenticationDataProvider.h index af53d1b9..3d4b7eff 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIAuthenticationDataProvider.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIAuthenticationDataProvider.h @@ -17,10 +17,11 @@ struct MODIOUI_API FModioUIAuthenticationProviderInfo UPROPERTY() bool bIsEmailAuthentication = false; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "!bIsEmailAuthentication", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "!bIsEmailAuthentication", EditConditionHides), + Category = "ModioUIAuthenticationProviderInfo") EModioAuthenticationProvider ProviderID; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModioUIAuthenticationProviderInfo") FText ProviderUILabel; }; @@ -49,7 +50,7 @@ class MODIOUI_API IModioUIAuthenticationDataProvider : public IInterface /// @brief Allows the consuming title to inform the UI which types of external authentication the UI should offer to /// the user /// @returns An array of EModioAuthenticationProvider values, one for each external authentication to support - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "ModioUIAuthenticationDataProvider") TArray GetAuthenticationTypes(); TArray GetAuthenticationTypes_Implementation() @@ -58,7 +59,7 @@ class MODIOUI_API IModioUIAuthenticationDataProvider : public IInterface } /// @brief Callback so the consuming application can populate the relevant OAuth token - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "ModioUIAuthenticationDataProvider") FModioAuthenticationParams GetAuthenticationParams(EModioAuthenticationProvider Provider); FModioAuthenticationParams GetAuthenticationParams_Implementation(EModioAuthenticationProvider Provider) @@ -66,12 +67,11 @@ class MODIOUI_API IModioUIAuthenticationDataProvider : public IInterface return NativeGetAuthenticationParams(Provider); } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "ModioUIAuthenticationDataProvider") bool ShouldOfferEmailAuthentication(); bool ShouldOfferEmailAuthentication_Implementation() { return NativeShouldOfferEmailAuthentication(); } - }; \ No newline at end of file diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIBusyStateWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIBusyStateWidget.h index f2d2a012..1e142943 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIBusyStateWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIBusyStateWidget.h @@ -32,10 +32,10 @@ class MODIOUI_API IModioUIBusyStateWidget : public IInterface public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIBusyStateWidget") void DisplayBusyState(); - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIBusyStateWidget") void EndBusyState(bool bErrorOccurred); }; \ No newline at end of file diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIClickableWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIClickableWidget.h index c841ddf7..a34d1b38 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIClickableWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIClickableWidget.h @@ -18,9 +18,9 @@ class MODIOUI_API IModioUIClickableWidget : public IInterface GENERATED_BODY() protected: public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIClickableWidget") void AddClickHandler(UObject* UserObject, FName FunctionName); - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIClickableWidget") void RemoveClickHandler(UObject* UserObject, FName FunctionName); }; \ No newline at end of file diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIDataSourceWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIDataSourceWidget.h index 21fff332..3b67e071 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIDataSourceWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIDataSourceWidget.h @@ -18,7 +18,7 @@ class MODIOUI_API IModioUIDataSourceWidget : public IInterface public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIDataSourceWidget") void SetDataSource(UObject* InDataSource); void SetDataSource_Implementation(UObject* InDataSource); diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIDialogButtonWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIDialogButtonWidget.h index e48b9270..676f643f 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIDialogButtonWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIDialogButtonWidget.h @@ -19,14 +19,14 @@ class MODIOUI_API IModioUIDialogButtonWidget : public IInterface virtual void NativeSetDialogController(class UModioDialogController* Controller) {}; public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIDialogButtonWidget") void SetStyle(const FModioDialogStyle& Style); void SetStyle_Implementation(const FModioDialogStyle& Style); /// @brief Gives the button widget a reference back to the dialog controller so that the buttons can trigger custom /// dialog flows - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIDialogButtonWidget") void SetDialogController(class UModioDialogController* Controller); void SetDialogController_Implementation(class UModioDialogController* Controller); diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIDownloadQueueWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIDownloadQueueWidget.h index 83bb4249..4dcdea26 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIDownloadQueueWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIDownloadQueueWidget.h @@ -18,7 +18,7 @@ class MODIOUI_API IModioUIDownloadQueueWidget : public IInterface virtual void NativeRefreshDownloadQueue() {}; public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIDownloadQueueWidget") void DisplayUserInfo(FModioOptionalUser NewUser); void DisplayUserInfo_Implementation(FModioOptionalUser NewUser) @@ -26,7 +26,7 @@ class MODIOUI_API IModioUIDownloadQueueWidget : public IInterface NativeDisplayUserInfo(NewUser); } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIDownloadQueueWidget") void RefreshDownloadQueue(); void RefreshDownloadQueue_Implementation() diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIErrorDisplayWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIErrorDisplayWidget.h index b8ce9f80..40a40628 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIErrorDisplayWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIErrorDisplayWidget.h @@ -94,14 +94,15 @@ class MODIOUI_API IModioUIErrorDisplayWidget : public IInterface return MakeShared(this); } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) void SetErrorString(const FString& InErrorString); + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIErrorDisplayWidget") + void SetErrorString(const FString& InErrorString); void SetErrorString_Implementation(const FString& InErrorString) { NativeSetErrorString(InErrorString); }; - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIErrorDisplayWidget") void SetErrorText(const FText& InErrorText); void SetErrorText_Implementation(const FText& InErrorText) @@ -109,7 +110,7 @@ class MODIOUI_API IModioUIErrorDisplayWidget : public IInterface NativeSetErrorText(InErrorText); }; - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIErrorDisplayWidget") bool IsErrorSet() const; bool IsErrorSet_Implementation() const @@ -117,7 +118,7 @@ class MODIOUI_API IModioUIErrorDisplayWidget : public IInterface return NativeIsErrorSet(); }; - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIErrorDisplayWidget") void DisplayError(const FModioErrorCode& ec); void DisplayError_Implementation(const FModioErrorCode& ec) diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIImageDisplay.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIImageDisplay.h index 626226bb..caff892f 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIImageDisplay.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIImageDisplay.h @@ -18,7 +18,7 @@ class MODIOUI_API IModioUIImageDisplay : public IInterface virtual void NativeDisplayImage(const FSlateBrush& Image); public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIImageDisplay") void DisplayImage(const FSlateBrush& Image); void DisplayImage_Implementation(const FSlateBrush& Image) diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIInputHintGlyphProvider.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIInputHintGlyphProvider.h index f1e7f2c8..a0941ce7 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIInputHintGlyphProvider.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIInputHintGlyphProvider.h @@ -20,7 +20,7 @@ class MODIOUI_API IModioUIInputHintGlyphProvider : public IInterface PURE_VIRTUAL(IModioUIInputHintGlyphProvider::NativeGetInputGlyphMaterialForInputType, return nullptr;); public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "IModioUIInputHintGlyphProvider") UMaterialInterface* GetInputGlyphMaterialForInputType(FKey VirtualInput, EModioUIInputMode InputType); UMaterialInterface* GetInputGlyphMaterialForInputType_Implementation(FKey VirtualInput, EModioUIInputMode InputType) diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIModDetailsDisplay.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIModDetailsDisplay.h index a05e9824..3490658a 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIModDetailsDisplay.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIModDetailsDisplay.h @@ -51,7 +51,7 @@ class MODIOUI_API IModioUIModDetailsDisplay : public IInterface &IModioUIModDetailsDisplay::HandleDisplayModDetailsForID); } } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIModDetailsDisplay") void RegisterUserWidget(const TScriptInterface& DisplayWidget); void RegisterUserWidget_Implementation(const TScriptInterface& DisplayWidget) { @@ -64,9 +64,9 @@ class MODIOUI_API IModioUIModDetailsDisplay : public IInterface } public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIModDetailsDisplay") void DisplayModDetails(const TScriptInterface& Details); - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIModDetailsDisplay") void DisplayModDetailsForID(const FModioModID& ModID); }; diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIModEnableWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIModEnableWidget.h index a5085bf2..149da15b 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIModEnableWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIModEnableWidget.h @@ -2,6 +2,7 @@ #include "UObject/Interface.h" #include "Types/ModioCommonTypes.h" +#include "ModioUISubsystem.h" #include "IModioUIModEnableWidget.generated.h" diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUINotification.h b/Source/ModioUI/Public/UI/Interfaces/IModioUINotification.h index 46ddbbb5..779f1b46 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUINotification.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUINotification.h @@ -18,13 +18,13 @@ struct MODIOUI_API FModioNotificationParams TMap NamedTextFormats; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Notification") FModioErrorCode ErrorCode; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Notification") UObject* NotificationContextObject = nullptr; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Notification") float Duration = 1; }; @@ -34,17 +34,17 @@ class UModioNotificationParamsLibrary : public UBlueprintFunctionLibrary GENERATED_BODY() public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioNotificationParams") static FModioNotificationParams CreateErrorNotificationParams(FModioErrorCode StatusCode, const FText& SuccessText, const FText& ErrorText); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioNotificationParams") static FModioNotificationParams CreateRatingNotification(FModioErrorCode StatusCode, const TScriptInterface& ModInfo); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioNotificationParams") static FModioNotificationParams CreateSubscriptionNotification( FModioErrorCode StatusCode); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioNotificationParams") static FModioNotificationParams& AddFormatText(UPARAM(ref) FModioNotificationParams& NotificationParams, const FName& Name, const FText& Text) { @@ -52,7 +52,7 @@ class UModioNotificationParamsLibrary : public UBlueprintFunctionLibrary return NotificationParams; } - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioNotificationParams") static FModioNotificationParams& SetTextArg(UPARAM(ref) FModioNotificationParams& NotificationParams, const FString& Name, const FText& Text) { @@ -60,7 +60,7 @@ class UModioNotificationParamsLibrary : public UBlueprintFunctionLibrary return NotificationParams; } - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioNotificationParams") static FModioNotificationParams& SetStringArg(UPARAM(ref) FModioNotificationParams& NotificationParams, const FString& Name, const FString& Value) { @@ -68,14 +68,14 @@ class UModioNotificationParamsLibrary : public UBlueprintFunctionLibrary return NotificationParams; } - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioNotificationParams") static FModioNotificationParams& SetFloatArg(UPARAM(ref) FModioNotificationParams& NotificationParams, const FString& Name, float Value) { NotificationParams.FormatArgs.Add(Name, Value); return NotificationParams; } - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "ModioNotificationParams") static FModioNotificationParams& SetIntegerArg(UPARAM(ref) FModioNotificationParams& NotificationParams, const FString& Name, int32 Value) { @@ -107,7 +107,7 @@ class MODIOUI_API IModioUINotification : public IInterface } public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="IModioUINotification") UWidget* GetAsWidget(); UWidget* GetAsWidget_Implementation() @@ -115,7 +115,7 @@ class MODIOUI_API IModioUINotification : public IInterface return NativeGetAsWidget(); } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "IModioUINotification") void Configure(const FModioNotificationParams& Params); void Configure_Implementation(const FModioNotificationParams& Params) @@ -123,14 +123,14 @@ class MODIOUI_API IModioUINotification : public IInterface NativeConfigure(Params); } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "IModioUINotification") void Display(); void Display_Implementation() { NativeOnDisplay(); } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "IModioUINotification") void SetNotificationExpireHandler(const FOnNotificationExpired& InDelegate); void SetNotificationExpireHandler_Implementation(const FOnNotificationExpired& InDelegate) diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUINotificationController.h b/Source/ModioUI/Public/UI/Interfaces/IModioUINotificationController.h index 0cd1dd36..2b8a5b62 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUINotificationController.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUINotificationController.h @@ -5,6 +5,7 @@ #include "Types/ModioCommonTypes.h" #include "Types/ModioUser.h" #include "UObject/Interface.h" +#include "ModioUISubsystem.h" #include "IModioUINotificationController.generated.h" @@ -52,7 +53,7 @@ class MODIOUI_API IModioUINotificationController : public IInterface Cast(this), &IModioUINotificationController::HandleDisplayNotificationWidget); } } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUINotificationController") void RegisterUserWidget(const TScriptInterface& ControllerWidget); void RegisterUserWidget_Implementation(const TScriptInterface& ControllerWidget) { @@ -66,10 +67,10 @@ class MODIOUI_API IModioUINotificationController : public IInterface public: /// @brief Function to display an arbitrary notification widget that the caller has already configured - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUINotificationController") void DisplayNotification(const TScriptInterface& Notification); /// @brief Function to display an error code notification widget - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUINotificationController") void DisplayErrorNotification(const FModioNotificationParams& Params); }; diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIPopupMenuContentWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIPopupMenuContentWidget.h index 485c4a87..7cda3c08 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIPopupMenuContentWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIPopupMenuContentWidget.h @@ -26,12 +26,12 @@ class MODIOUI_API IModioUIPopupMenuContentWidget : public IInterface } public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIPopupMenuContentWidget") void SetMenuEntries(const FModioUIMenuCommandList& Entries); void SetMenuEntries_Implementation(const FModioUIMenuCommandList& Entries); - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIPopupMenuContentWidget") void SetDesiredSize(const FVector2D& DesiredSize); void SetDesiredSize_Implementation(const FVector2D& DesiredSize); diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIRefineSearchWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIRefineSearchWidget.h index c2e1b8d6..0bff6a57 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIRefineSearchWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIRefineSearchWidget.h @@ -36,7 +36,7 @@ class MODIOUI_API IModioUIRefineSearchWidget : public IInterface bool bRoutedSearchSettingsChanged = false; - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIRefineSearchWidget") void NotifySettingsChanged(const FModioFilterParams& SearchSettings); void NotifySettingsChanged_Implementation(const FModioFilterParams& SearchSettings) @@ -50,7 +50,7 @@ class MODIOUI_API IModioUIRefineSearchWidget : public IInterface virtual FOnSearchSettingsChanged& NativeGetOnSettingsChangedDelegate() = 0; public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIRefineSearchWidget") FString GetSearchString(); FString GetSearchString_Implementation() @@ -58,7 +58,7 @@ class MODIOUI_API IModioUIRefineSearchWidget : public IInterface return NativeGetSearchString(); } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIRefineSearchWidget") TArray GetSelectedTagValues(); TArray GetSelectedTagValues_Implementation() @@ -66,7 +66,7 @@ class MODIOUI_API IModioUIRefineSearchWidget : public IInterface return NativeGetSelectedTagValues(); } - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIRefineSearchWidget") void RefreshTags(); void RefreshTags_Implementation() diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIStringInputWidget.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIStringInputWidget.h index b7e8bdbf..a8591c5c 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIStringInputWidget.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIStringInputWidget.h @@ -23,17 +23,17 @@ class MODIOUI_API IModioUIStringInputWidget : public IInterface public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIStringInputWidget") void SetHint(const FText& HintText); void SetHint_Implementation(const FText& HintText); - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIStringInputWidget") FString GatherInput(); FString GatherInput_Implementation(); - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIStringInputWidget") void SetInput(const FString& Input); void SetInput_Implementation(const FString& Input); diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUITextValidator.h b/Source/ModioUI/Public/UI/Interfaces/IModioUITextValidator.h index 7c735d6b..bd2b15a6 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUITextValidator.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUITextValidator.h @@ -33,19 +33,19 @@ struct MODIOUI_API FModioTextValidationRule { GENERATED_BODY() - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Rules") EModioTextValidationRule RuleToUse; ///@brief Message to display if validation fails. Use "{InputText} as a placeholder for the text being validated" - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Rules") FText ValidationMessage; UPROPERTY(BlueprintReadWrite, EditAnywhere, - meta = (EditCondition = "RuleToUse==EModioTextValidationRule::ETVR_ValidateLength", EditConditionHides)) + meta = (EditCondition = "RuleToUse==EModioTextValidationRule::ETVR_ValidateLength", EditConditionHides), Category="Rules") int32 MinimumLength; UPROPERTY(BlueprintReadWrite, EditAnywhere, - meta = (EditCondition = "RuleToUse==EModioTextValidationRule::ETVR_ValidateLength", EditConditionHides)) + meta = (EditCondition = "RuleToUse==EModioTextValidationRule::ETVR_ValidateLength", EditConditionHides), Category="Rules") int32 MaximumLength; }; @@ -54,7 +54,7 @@ class MODIOUI_API UModioUIInputValidationLibrary : public UBlueprintFunctionLibr { GENERATED_BODY() public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioUIInputValidationLibrary") static bool ValidateEmailAddress(const FText& TextToValidate) { // Regex for validating email adress found here: https://mylittledevblog.com/2018/02/15/ue4-email-validation/ @@ -65,7 +65,7 @@ class MODIOUI_API UModioUIInputValidationLibrary : public UBlueprintFunctionLibr return Matcher.FindNext(); }; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioUIInputValidationLibrary") static bool ValidateAllLetters(const FText& TextToValidate) { FString TmpString = TextToValidate.ToString(); @@ -79,13 +79,13 @@ class MODIOUI_API UModioUIInputValidationLibrary : public UBlueprintFunctionLibr return true; }; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioUIInputValidationLibrary") static bool ValidateAllNumeric(const FText& TextToValidate) { return TextToValidate.IsNumeric(); }; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioUIInputValidationLibrary") static bool ValidateAlphanumeric(const FText& TextToValidate) { FString TmpString = TextToValidate.ToString(); @@ -99,19 +99,19 @@ class MODIOUI_API UModioUIInputValidationLibrary : public UBlueprintFunctionLibr return true; }; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioUIInputValidationLibrary") static bool ValidateLength(const FText& TextToValidate, int32 DesiredMaximumLength, int32 DesiredMinimumLength) { return TextToValidate.ToString().Len() <= DesiredMaximumLength && TextToValidate.ToString().Len() >= DesiredMinimumLength; }; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioUIInputValidationLibrary") static bool ValidateNotEmpty(const FText& TextToValidate) { return !TextToValidate.IsEmpty(); }; - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioUIInputValidationLibrary") static bool ValidateNoWhitespace(const FText& TextToValidate) { FString TmpString = TextToValidate.ToString(); @@ -125,7 +125,7 @@ class MODIOUI_API UModioUIInputValidationLibrary : public UBlueprintFunctionLibr return true; } - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioUIInputValidationLibrary") static bool ValidateUsingRule(const FModioTextValidationRule& Rule, const FText& TextToValidate, FText& ValidationMessageText) { @@ -257,7 +257,7 @@ class MODIOUI_API IModioUITextValidator : public IInterface } public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIInputValidationLibrary") void SetValidationError(FText &ErrorText); void SetValidationError_Implementation(FText &ErrorText) @@ -267,7 +267,7 @@ class MODIOUI_API IModioUITextValidator : public IInterface virtual void NativeSetValidationError(FText ErrorText) {}; - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIInputValidationLibrary") void GetTextValidationRules(TArray& Rules); void GetTextValidationRules_Implementation(TArray& Rules) @@ -280,7 +280,7 @@ class MODIOUI_API IModioUITextValidator : public IInterface /// @param InputText the text to validate /// @param ValidationMessageText FText containing the localised failure message /// @returns true if the text passed all the validation rules - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIInputValidationLibrary") bool ValidateText(const FText& InputText, FText& ValidationMessageText); bool ValidateText_Implementation(const FText& InputText, FText& ValidationMessageText) diff --git a/Source/ModioUI/Public/UI/Interfaces/IModioUIUserStringListEntry.h b/Source/ModioUI/Public/UI/Interfaces/IModioUIUserStringListEntry.h index 01ed4405..231ca5d5 100644 --- a/Source/ModioUI/Public/UI/Interfaces/IModioUIUserStringListEntry.h +++ b/Source/ModioUI/Public/UI/Interfaces/IModioUIUserStringListEntry.h @@ -17,7 +17,7 @@ class MODIOUI_API IModioUIUserStringListEntry : public IInterface virtual void NativeSetListItemString(const FString& InString) {}; public: - UFUNCTION(BlueprintCallable, BlueprintNativeEvent) + UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="ModioUIUserStringListEntry") void SetListItemString(const FString& InString); void SetListItemString_Implementation(const FString& InString) diff --git a/Source/ModioUI/Public/UI/Notifications/ModioNotificationController.h b/Source/ModioUI/Public/UI/Notifications/ModioNotificationController.h index e395fd24..857f4e6d 100644 --- a/Source/ModioUI/Public/UI/Notifications/ModioNotificationController.h +++ b/Source/ModioUI/Public/UI/Notifications/ModioNotificationController.h @@ -26,9 +26,9 @@ class MODIOUI_API UModioNotificationControllerBase : public UModioUserWidgetBase virtual void NativeDisplayNotification(const TScriptInterface& Notification) override; virtual void NativeDisplayErrorNotification(const FModioNotificationParams& Params) override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (MustImplement = "ModioUINotification")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (MustImplement = "ModioUINotification"), Category="Widgets") TSubclassOf ErrorNotificationClass; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) class UVerticalBox* NotificationList; }; diff --git a/Source/ModioUI/Public/UI/Notifications/ModioNotificationControllerSlot.h b/Source/ModioUI/Public/UI/Notifications/ModioNotificationControllerSlot.h index 01039090..dd261566 100644 --- a/Source/ModioUI/Public/UI/Notifications/ModioNotificationControllerSlot.h +++ b/Source/ModioUI/Public/UI/Notifications/ModioNotificationControllerSlot.h @@ -25,16 +25,16 @@ class MODIOUI_API UModioNotificationControllerSlot : public UOverlaySlot TSharedPtr CurrentAnimationTimer; virtual void SynchronizeProperties() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") EModioNotificationControllerSlotEdge Edge; /** The alignment of the object horizontally. */ - UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (EditCondition = "Edge==EModioNotificationControllerSlotEdge::Top||Edge==EModioNotificationControllerSlotEdge::Bottom", EditConditionHides)) + UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (EditCondition = "Edge==EModioNotificationControllerSlotEdge::Top||Edge==EModioNotificationControllerSlotEdge::Bottom", EditConditionHides), Category="Widget") TEnumAsByte NotificationHorizontalAlignment; /** The alignment of the object vertically. */ UPROPERTY(EditAnywhere, BlueprintReadOnly, - meta=(EditCondition = "Edge==EModioNotificationControllerSlotEdge::Left||Edge==EModioNotificationControllerSlotEdge::Right", EditConditionHides)) + meta=(EditCondition = "Edge==EModioNotificationControllerSlotEdge::Left||Edge==EModioNotificationControllerSlotEdge::Right", EditConditionHides), Category="Widget") TEnumAsByte NotificationVerticalAlignment; #if WITH_EDITOR @@ -46,10 +46,10 @@ class MODIOUI_API UModioNotificationControllerSlot : public UOverlaySlot float VisibleDuration = 5; /// @brief Changing this in the editor allows you to preview the animation transition - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") bool bExpanded = false; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta=(ClampMin=0.01)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta=(ClampMin=0.01), Category="Widget") float AnimationTime = 0.1f; UPROPERTY() diff --git a/Source/ModioUI/Public/UI/Notifications/ModioNotificationWidgetBase.h b/Source/ModioUI/Public/UI/Notifications/ModioNotificationWidgetBase.h index c71f48f8..848daffc 100644 --- a/Source/ModioUI/Public/UI/Notifications/ModioNotificationWidgetBase.h +++ b/Source/ModioUI/Public/UI/Notifications/ModioNotificationWidgetBase.h @@ -22,7 +22,7 @@ class MODIOUI_API UModioNotificationWidgetBase : public UModioUserWidgetBase, pu GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioNotificationStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioNotificationStyle"), Category="Widgets") FModioUIStyleRef NotificationStyle /* = FModioUIStyleRef {"DefaultErrorNotificationStyle"}*/; virtual UWidget* NativeGetAsWidget() override { @@ -35,9 +35,9 @@ class MODIOUI_API UModioNotificationWidgetBase : public UModioUserWidgetBase, pu virtual void NativeConfigure(const FModioNotificationParams& Params) override; #if WITH_EDITORONLY_DATA - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, Category="Widgets") bool bPreviewAsError; - UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Transient, Category="Widgets") FModioNotificationParams PreviewParameters; #endif @@ -45,7 +45,7 @@ class MODIOUI_API UModioNotificationWidgetBase : public UModioUserWidgetBase, pu virtual void SynchronizeProperties() override; #endif public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioNotificationWidgetBase") static UWidget* CreateFromParams(TSubclassOf NotificationClass, const FModioNotificationParams& Params, UWidget* Outer) { @@ -81,16 +81,16 @@ class MODIOUI_API UModioNotificationErrorWidgetBase : public UModioNotificationW bool bDisplayStarted = false; virtual void NativeOnDisplay(); virtual void NativeTick(const FGeometry& MyGeometry, float InDeltaTime); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioImage* NotificationBackground; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioImage* StatusIndicator; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* NotificationTitle; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioRichTextBlock* NotificationMessage; public: diff --git a/Source/ModioUI/Public/UI/Styles/ModioButtonStyle.h b/Source/ModioUI/Public/UI/Styles/ModioButtonStyle.h index 6370d5df..a507919b 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioButtonStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioButtonStyle.h @@ -36,16 +36,16 @@ struct MODIOUI_API FModioButtonStyle : public FSlateWidgetStyle .SetPressed(FSlateColorBrush(FLinearColor(0.5, 0.5, 0.5))); } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FButtonStyle ButtonStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widgets") FModioUIStyleRef RichTextStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRoundedBorderStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRoundedBorderStyle"), Category="Widgets") FModioUIStyleRef BorderStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FMargin ContentPadding; }; @@ -54,7 +54,7 @@ class UModioButtonStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widgets") FModioButtonStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioCheckBoxStyle.h b/Source/ModioUI/Public/UI/Styles/ModioCheckBoxStyle.h index 24323926..9c496704 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioCheckBoxStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioCheckBoxStyle.h @@ -25,19 +25,19 @@ struct MODIOUI_API FModioCheckBoxStyle : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FCheckBoxStyle CheckBoxStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FMargin ContentPadding; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FTextBlockStyle TextStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widget") FModioUIStyleRef TextStyleNew; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FModioWidgetBorderStyle CheckBoxBorderStyle; }; @@ -46,7 +46,7 @@ class UModioCheckBoxStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioCheckBoxStyle Style; virtual void PostLoad() override diff --git a/Source/ModioUI/Public/UI/Styles/ModioCodeInputStyle.h b/Source/ModioUI/Public/UI/Styles/ModioCodeInputStyle.h index 09f8dd1d..5836d368 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioCodeInputStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioCodeInputStyle.h @@ -21,19 +21,19 @@ struct MODIOUI_API FModioCodeInputStyle : public FTextBlockStyle //FModioUIStyleRef TextBoxStyle; /// @brief Brush to use for the box around each character element - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FSlateBrush CharacterBrush; - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FModioUIColorRef ColorWhenFocused; - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FModioUIMaterialRef FakeCaretMaterial; - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FMargin CharacterSpacing; - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FVector2D MinimumCharacterSize; static const FModioCodeInputStyle& GetDefault() @@ -49,7 +49,7 @@ class UModioCodeInputStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioCodeInputStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioComboBoxStyle.h b/Source/ModioUI/Public/UI/Styles/ModioComboBoxStyle.h index 1e7eb6af..a1ab6127 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioComboBoxStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioComboBoxStyle.h @@ -23,15 +23,15 @@ struct MODIOUI_API FModioComboBoxStyle : public FSlateWidgetStyle .SetPressed(FSlateColorBrush(FLinearColor(0.5, 0.5, 0.5))); } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FComboBoxStyle ComboBoxStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FModioWidgetBorderStyle MenuBorderStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FModioWidgetBorderStyle ButtonBorderStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FTableRowStyle DropdownItemStyle; }; \ No newline at end of file diff --git a/Source/ModioUI/Public/UI/Styles/ModioCustomComboBoxStyle.h b/Source/ModioUI/Public/UI/Styles/ModioCustomComboBoxStyle.h index 9564c2f1..8aeb80be 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioCustomComboBoxStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioCustomComboBoxStyle.h @@ -25,16 +25,16 @@ struct MODIOUI_API FModioCustomComboBoxStyle : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRoundedBorderStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRoundedBorderStyle"), Category="Widget") FModioUIStyleRef BorderStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioTableRowStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioTableRowStyle"), Category="Widget") FModioUIStyleRef RowStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widget") FModioUIStyleRef TextStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FModioUIColorRef BackgroundColor; }; @@ -43,7 +43,7 @@ class UModioCustomComboBoxStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioCustomComboBoxStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioDialogStyle.h b/Source/ModioUI/Public/UI/Styles/ModioDialogStyle.h index 0c50a8cc..31c4e244 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioDialogStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioDialogStyle.h @@ -24,19 +24,19 @@ struct MODIOUI_API FModioDialogStyle : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FMargin ContentPadding; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") FSlateBrush BackgroundBrush; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widgets") FModioUIStyleRef TitleTextStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widgets") FModioUIStyleRef ContentTextStyle; - UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (StyleClass = "ModioButtonStyle")) + UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (StyleClass = "ModioButtonStyle"), Category="Widgets") FModioUIStyleRef ButtonStyle; }; @@ -46,7 +46,7 @@ class UModioDialogStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widgets") FModioDialogStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioDownloadQueueEntryStyle.h b/Source/ModioUI/Public/UI/Styles/ModioDownloadQueueEntryStyle.h index 3616f46f..61d7c37f 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioDownloadQueueEntryStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioDownloadQueueEntryStyle.h @@ -25,13 +25,13 @@ struct MODIOUI_API FModioDownloadQueueEntryStyle : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FSlateBrush HighlightedBorderBrush; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioButtonStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioButtonStyle"), Category="Widget") FModioUIStyleRef UnsubscribeButtonStyle = FModioUIStyleRef {"DefaultButtonStyle"}; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widget") FModioUIStyleRef TextStyle = FModioUIStyleRef {"DefaultRichTextStyle"}; }; @@ -40,7 +40,7 @@ class UModioDownloadQueueEntryStyleContainer : public UModioUIWidgetStyleContain { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioDownloadQueueEntryStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioDrawerWidgetStyle.h b/Source/ModioUI/Public/UI/Styles/ModioDrawerWidgetStyle.h index 28ae7bd1..4f85ee99 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioDrawerWidgetStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioDrawerWidgetStyle.h @@ -23,13 +23,13 @@ struct MODIOUI_API FModioDrawerWidgetStyle : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FSlateBrush HeadingBackgroundBrush; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FSlateBrush ContentBackgroundBrush; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FSlateBrush FooterBackgroundBrush; }; @@ -38,7 +38,7 @@ class UModioDrawerWidgetStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioDrawerWidgetStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioDynamicImageStyle.h b/Source/ModioUI/Public/UI/Styles/ModioDynamicImageStyle.h index 72d45027..692b4359 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioDynamicImageStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioDynamicImageStyle.h @@ -13,10 +13,10 @@ struct MODIOUI_API FModioDynamicImageStyle : public FSlateWidgetStyle { GENERATED_BODY() - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FSlateBrush ImageLoadingBrush; - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FSlateBrush ImageUnavailableBrush; }; @@ -27,7 +27,7 @@ class UModioDynamicImageStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioDynamicImageStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioEditableTextBoxStyle.h b/Source/ModioUI/Public/UI/Styles/ModioEditableTextBoxStyle.h index 6060f691..0cef59b8 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioEditableTextBoxStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioEditableTextBoxStyle.h @@ -1,3 +1,4 @@ + #pragma once #include "Styling/SlateTypes.h" #include "UI/Styles/ModioUIColorRef.h" @@ -14,10 +15,10 @@ struct MODIOUI_API FModioEditableTextBoxStyle : public FEditableTextBoxStyle { return TypeName; }; - UPROPERTY(BlueprintReadOnly,EditAnywhere, meta=(InlineEditConditionToggle)) + UPROPERTY(BlueprintReadOnly,EditAnywhere, meta=(InlineEditConditionToggle), Category="Widget") bool bShowHintIcon = true; - UPROPERTY(BlueprintReadOnly,EditAnywhere, meta=(EditCondition=bShowHintIcon)) + UPROPERTY(BlueprintReadOnly,EditAnywhere, meta=(EditCondition=bShowHintIcon), Category="Widget") FSlateBrush HintIcon; UPROPERTY(BlueprintReadOnly,EditAnywhere, Category="Border") @@ -42,7 +43,7 @@ class UModioEditableTextBoxStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioEditableTextBoxStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioInputMappingGlyph.h b/Source/ModioUI/Public/UI/Styles/ModioInputMappingGlyph.h index 29e69b17..5346c36f 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioInputMappingGlyph.h +++ b/Source/ModioUI/Public/UI/Styles/ModioInputMappingGlyph.h @@ -13,25 +13,25 @@ struct MODIOUI_API FModioInputMappingGlyph GENERATED_BODY() /// @brief Glyph to display for this input when the user is using a mouse - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Glpyphs") TSoftObjectPtr MouseGlyph; /// @brief Glyph to display for this input when the user is using a keyboard - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Glpyphs") TSoftObjectPtr KeyboardGlyph; /// @brief Glyph to display for this input when the user is using a controller and the game has informed us that it /// is specifically an XBox controller - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Glpyphs") TSoftObjectPtr XBoxControllerGlyph; /// @brief Glyph to display for this input when the user is using a controller and the game has informed us that it /// is specifically a Playstation controller - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Glpyphs") TSoftObjectPtr PSControllerGlyph; /// @brief The glyph to use when we don't have an explicit controller type - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Glpyphs") TSoftObjectPtr FallbackControllerGlyph; UTexture2D* GetInputGlyph(EModioUIInputMode InputMode) @@ -65,7 +65,7 @@ class UModioInputMappingGlyphLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioInputMappingGlyphLibrary") static UTexture2D* GetInputGlyph(FModioInputMappingGlyph& MappingGlyph, EModioUIInputMode InputMode) { return MappingGlyph.GetInputGlyph(InputMode); diff --git a/Source/ModioUI/Public/UI/Styles/ModioMultiLineEditableTextBoxStyle.h b/Source/ModioUI/Public/UI/Styles/ModioMultiLineEditableTextBoxStyle.h index 1b91790f..b4b9e5bf 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioMultiLineEditableTextBoxStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioMultiLineEditableTextBoxStyle.h @@ -15,7 +15,7 @@ struct MODIOUI_API FModioMultiLineEditableTextBoxStyle : public FEditableTextBox return TypeName; }; - UPROPERTY(BlueprintReadWrite,EditAnywhere,meta=(StyleClass="ModioTextWidgetStyle")) + UPROPERTY(BlueprintReadWrite,EditAnywhere,meta=(StyleClass="ModioTextWidgetStyle"), Category="Widget") FModioUIStyleRef TextStyle; static const FModioMultiLineEditableTextBoxStyle& GetDefault() @@ -31,7 +31,7 @@ class UModioMultiLineEditableTextBoxStyleContainer : public UModioUIWidgetStyleC { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioMultiLineEditableTextBoxStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioNamedGlyphMaterialParams.h b/Source/ModioUI/Public/UI/Styles/ModioNamedGlyphMaterialParams.h index 9560ba2d..11dbd4e0 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioNamedGlyphMaterialParams.h +++ b/Source/ModioUI/Public/UI/Styles/ModioNamedGlyphMaterialParams.h @@ -21,6 +21,6 @@ class MODIOUI_API UModioNamedGlyphMaterialParams : public UModioProceduralBrushP public: UMaterialInterface* GetMaterialInstance() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (GetOptions = "GetValidGlyphNames")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (GetOptions = "GetValidGlyphNames"), Category="Widget") FName GlyphName; }; diff --git a/Source/ModioUI/Public/UI/Styles/ModioNotificationStyle.h b/Source/ModioUI/Public/UI/Styles/ModioNotificationStyle.h index 802393c0..3150ece2 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioNotificationStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioNotificationStyle.h @@ -46,31 +46,31 @@ struct MODIOUI_API FModioNotificationStyle : public FSlateWidgetStyle return StyleNames; } - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widget") FModioUIStyleRef TextStyleSet; - UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (GetOptions = "GetStyleNames")) + UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (GetOptions = "GetStyleNames"), Category="Widget") FName PrimaryTextStyleName = FName("default"); - UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (GetOptions = "GetStyleNames")) + UPROPERTY(BlueprintReadWrite,EditAnywhere, meta = (GetOptions = "GetStyleNames"), Category="Widget") FName SecondaryTextStyleName = FName("default"); - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FModioUIMaterialRef ErrorSuccessGlyph; - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FModioUIMaterialRef ErrorFailureGlyph; - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widget") FModioUIMaterialRef BackgroundMaterial; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") FModioUIColorRef SuccessColor; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") FModioUIColorRef ErrorColor; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FMargin ContentPadding; }; @@ -79,7 +79,7 @@ class UModioNotificationStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioNotificationStyle Style; virtual void PostLoad() override diff --git a/Source/ModioUI/Public/UI/Styles/ModioProgressBarStyle.h b/Source/ModioUI/Public/UI/Styles/ModioProgressBarStyle.h index 40982b75..a594a2c1 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioProgressBarStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioProgressBarStyle.h @@ -31,7 +31,7 @@ class UModioProgressBarStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioProgressBarStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioRichTextStyle.h b/Source/ModioUI/Public/UI/Styles/ModioRichTextStyle.h index ffd7f9b6..9fe69801 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioRichTextStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioRichTextStyle.h @@ -58,11 +58,11 @@ struct MODIOUI_API FModioRichTextStyle : public FSlateWidgetStyle return StyleInstance; } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") TMap Styles; /// @brief Inline Style overrides (Should this be moved someplace else perhaps?) - UPROPERTY(BlueprintReadWrite,EditAnywhere) + UPROPERTY(BlueprintReadWrite,EditAnywhere, Category="Widgets") TMap InlineStyleOverrides; }; @@ -71,7 +71,7 @@ class UModioRichTextStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widgets") FModioRichTextStyle Style; virtual void PostLoad() override diff --git a/Source/ModioUI/Public/UI/Styles/ModioRoundedRectangleMaterialParams.h b/Source/ModioUI/Public/UI/Styles/ModioRoundedRectangleMaterialParams.h index f29bff86..404132ab 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioRoundedRectangleMaterialParams.h +++ b/Source/ModioUI/Public/UI/Styles/ModioRoundedRectangleMaterialParams.h @@ -11,32 +11,32 @@ class MODIOUI_API UModioRoundedRectangleMaterialParams : public UModioProcedural { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FModioUIColorRef NormalBorderColor; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FModioUIColorRef FocusedBorderColor; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FModioUIColorRef InnerColor; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") bool bRelativeRadius = false; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") float CornerRadius = 16; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") float BorderThickness = 2; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") bool bEnableBorder; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") bool bEnableButtonGradients; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "bEnableButtonGradients", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "bEnableButtonGradients", EditConditionHides), Category="Widget") FModioUIColorRef BorderGradientColor; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "bEnableButtonGradients", EditConditionHides)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "bEnableButtonGradients", EditConditionHides), Category="Widget") FModioUIColorRef InnerGradientColor; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "bEnableButtonGradients", EditConditionHides,UIMin=0, UIMax=1)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "bEnableButtonGradients", EditConditionHides,UIMin=0, UIMax=1), Category="Widget") float BorderGradientOpacity; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "bEnableButtonGradients", EditConditionHides,UIMin=0, UIMax=1)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (EditCondition = "bEnableButtonGradients", EditConditionHides,UIMin=0, UIMax=1), Category="Widget") float InnerGradientOpacity; virtual UMaterialInterface* GetMaterialInstance() override; diff --git a/Source/ModioUI/Public/UI/Styles/ModioSpecifiedMaterialParams.h b/Source/ModioUI/Public/UI/Styles/ModioSpecifiedMaterialParams.h index 8938670e..a3cbd11a 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioSpecifiedMaterialParams.h +++ b/Source/ModioUI/Public/UI/Styles/ModioSpecifiedMaterialParams.h @@ -16,7 +16,7 @@ class MODIOUI_API UModioSpecifiedMaterialParams : public UModioProceduralBrushPa { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") TSoftObjectPtr SpecifiedMaterial; virtual UMaterialInterface* GetMaterialInstance() override; diff --git a/Source/ModioUI/Public/UI/Styles/ModioSubscriptionBadgeStyle.h b/Source/ModioUI/Public/UI/Styles/ModioSubscriptionBadgeStyle.h index 62ead55d..b3365fbe 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioSubscriptionBadgeStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioSubscriptionBadgeStyle.h @@ -25,16 +25,16 @@ struct MODIOUI_API FModioSubscriptionBadgeStyle : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FTextBlockStyle LabelStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), Category="Widget") FModioUIStyleRef LabelStyleNew; - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioProgressBarStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioProgressBarStyle"), Category="Widget") FModioUIStyleRef ProgressBarStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FModioWidgetBorderStyle BadgeBorderStyle; }; @@ -43,7 +43,7 @@ class UModioSubscriptionBadgeStyleContainer : public UModioUIWidgetStyleContaine { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioSubscriptionBadgeStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioTableRowStyle.h b/Source/ModioUI/Public/UI/Styles/ModioTableRowStyle.h index b1080827..1c3e26fb 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioTableRowStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioTableRowStyle.h @@ -23,22 +23,22 @@ struct MODIOUI_API FModioTableRowStyle : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") FModioUIColorRef BackgroundHoverColor; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") FModioUIColorRef BackgroundSelectedColor; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") FModioUIColorRef BackgroundColor; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") FModioUIColorRef TextHoverColor; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") FModioUIColorRef TextSelectedColor; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widget") FModioUIColorRef TextColor; }; @@ -47,7 +47,7 @@ class UModioTableRowStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FModioTableRowStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioTagWidgetStyle.h b/Source/ModioUI/Public/UI/Styles/ModioTagWidgetStyle.h index a043f22b..b639bf53 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioTagWidgetStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioTagWidgetStyle.h @@ -26,19 +26,19 @@ struct MODIOUI_API FModioTagWidgetStyle : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget", meta = (StyleClass = "ModioRichTextStyle")) FModioUIStyleRef TextStyleNew; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FSlateBrush TagBackgroundBrush; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FModioRichTextStyle TextStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FModioWidgetBorderStyle TagBackgroundStyle; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget") FMargin ContentPadding; }; @@ -47,7 +47,7 @@ class UModioTagWidgetStyleContainer : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widget", meta = (ShowOnlyInnerProperties)) FModioTagWidgetStyle Style; virtual void PostLoad() override diff --git a/Source/ModioUI/Public/UI/Styles/ModioTextBlockStyleOverride.h b/Source/ModioUI/Public/UI/Styles/ModioTextBlockStyleOverride.h index 6645afa2..5fc73e58 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioTextBlockStyleOverride.h +++ b/Source/ModioUI/Public/UI/Styles/ModioTextBlockStyleOverride.h @@ -26,10 +26,10 @@ struct MODIOUI_API FModioTextBlockStyleOverride : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widgets") FTextBlockStyle StyleProperties; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (EditCondition = "true!=false", EditConditionHides)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (EditCondition = "true!=false", EditConditionHides), Category="Widgets") TMap OverriddenProperties; /// @brief Applies the overrides to the specified input style diff --git a/Source/ModioUI/Public/UI/Styles/ModioTextWidgetStyleContainer.h b/Source/ModioUI/Public/UI/Styles/ModioTextWidgetStyleContainer.h index f4738862..075bca43 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioTextWidgetStyleContainer.h +++ b/Source/ModioUI/Public/UI/Styles/ModioTextWidgetStyleContainer.h @@ -16,7 +16,7 @@ class MODIOUI_API UModioTextWidgetStyleContainer : public UModioUIWidgetStyleCon { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widget") FTextBlockStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Styles/ModioUIBrushRef.h b/Source/ModioUI/Public/UI/Styles/ModioUIBrushRef.h index 0d0cdf7a..799d5b71 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioUIBrushRef.h +++ b/Source/ModioUI/Public/UI/Styles/ModioUIBrushRef.h @@ -12,7 +12,7 @@ struct MODIOUI_API FModioUIMaterialRef { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FName MaterialName; friend class FModioSlateBrushStructCustomization; diff --git a/Source/ModioUI/Public/UI/Styles/ModioUIColorRef.h b/Source/ModioUI/Public/UI/Styles/ModioUIColorRef.h index 34b80166..2d5c6ddc 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioUIColorRef.h +++ b/Source/ModioUI/Public/UI/Styles/ModioUIColorRef.h @@ -10,7 +10,7 @@ struct MODIOUI_API FModioUIColorRef { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Color") FName ColorName; friend class FModioSlateColorDetailsCustomization; diff --git a/Source/ModioUI/Public/UI/Styles/ModioUIStyleRef.h b/Source/ModioUI/Public/UI/Styles/ModioUIStyleRef.h index 5d5dfb43..5c056b8c 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioUIStyleRef.h +++ b/Source/ModioUI/Public/UI/Styles/ModioUIStyleRef.h @@ -12,7 +12,7 @@ struct FModioUIStyleRef { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Style") FName StyleName; public: diff --git a/Source/ModioUI/Public/UI/Styles/ModioUIStyleSet.h b/Source/ModioUI/Public/UI/Styles/ModioUIStyleSet.h index 462f4c5f..9237cd7f 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioUIStyleSet.h +++ b/Source/ModioUI/Public/UI/Styles/ModioUIStyleSet.h @@ -32,22 +32,22 @@ class MODIOUI_API UModioUIStyleSet : public UDataAsset, public ISlateStyle, publ TMap SerializedColors; UPROPERTY(EditAnywhere, meta = (ReadOnlyKeys, EditCondition = "true==false", EditConditionHides, - ShowOnlyInnerProperties, EditFixedSize, EditFixedOrder)) + ShowOnlyInnerProperties, EditFixedSize, EditFixedOrder), Category="Style") TMap SerializedMaterials; UPROPERTY() TMap PropertyPathToColorPresetMap; - UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta = (ShowOnlyInnerProperties), Category="Style") TMap WidgetStyles; - UPROPERTY(BlueprintReadWrite, EditAnywhere, Meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Meta = (ShowOnlyInnerProperties), Category="Style") TMap NamedBrushes; - UPROPERTY(BlueprintReadWrite, EditAnywhere, Meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Meta = (ShowOnlyInnerProperties), Category="Style") TMap NamedGlyphs; - UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Meta = (ShowOnlyInnerProperties), Category="Style") TMap NamedBrushMaterialsNew; // We can probably clear this cache in a ModioUISubsystem::Shutdown call? @@ -57,10 +57,10 @@ class MODIOUI_API UModioUIStyleSet : public UDataAsset, public ISlateStyle, publ TMap MaterialInstanceCache; UPROPERTY(EditAnywhere, - meta = (ReadOnlyKeys, EditFixedSize, EditFixedOrder, CustomReset = "ResetInputMappingGlyphs")) + meta = (ReadOnlyKeys, EditFixedSize, EditFixedOrder, CustomReset = "ResetInputMappingGlyphs"), Category="Style") TMap InputMappingGlyphs; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Style") UMaterialInterface* DefaultGlyphMaterial; const FSlateWidgetStyle* GetWidgetStyleInternal(const FName DesiredTypeName, const FName StyleName) const override; @@ -78,13 +78,13 @@ class MODIOUI_API UModioUIStyleSet : public UDataAsset, public ISlateStyle, publ public: UModioUIStyleSet(const FObjectInitializer& Initializer); - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Style") TMap ColorPresets; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Style") TMap OldColorPresets; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Style") FModioComboBoxStyle DefaultComboBoxStyle; const FName& GetStyleSetName() const override; diff --git a/Source/ModioUI/Public/UI/Styles/ModioUIWidgetStyleContainer.h b/Source/ModioUI/Public/UI/Styles/ModioUIWidgetStyleContainer.h index f49df346..066c85bd 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioUIWidgetStyleContainer.h +++ b/Source/ModioUI/Public/UI/Styles/ModioUIWidgetStyleContainer.h @@ -32,11 +32,11 @@ class UModioUIWidgetStyleContainer : public USlateWidgetStyleContainerBase GENERATED_BODY() protected: UPROPERTY(EditAnywhere, meta = (ReadOnlyKeys, EditCondition = "true==false", EditConditionHides, - ShowOnlyInnerProperties, EditFixedSize, EditFixedOrder)) + ShowOnlyInnerProperties, EditFixedSize, EditFixedOrder), Category="Widgets") TMap SerializedColors; UPROPERTY(EditAnywhere, meta = (ReadOnlyKeys, EditCondition = "true==false", EditConditionHides, - ShowOnlyInnerProperties, EditFixedSize, EditFixedOrder)) + ShowOnlyInnerProperties, EditFixedSize, EditFixedOrder), Category="Widgets") TMap SerializedMaterials; public: diff --git a/Source/ModioUI/Public/UI/Styles/ModioWidgetBorderStyle.h b/Source/ModioUI/Public/UI/Styles/ModioWidgetBorderStyle.h index fb7a11b4..c0b08ae3 100644 --- a/Source/ModioUI/Public/UI/Styles/ModioWidgetBorderStyle.h +++ b/Source/ModioUI/Public/UI/Styles/ModioWidgetBorderStyle.h @@ -23,18 +23,18 @@ struct MODIOUI_API FModioWidgetBorderStyle : public FSlateWidgetStyle return Default; } - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") bool bMaskWithMaterial = false; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") TSoftObjectPtr MaskMaterial; /// @brief Corner Radius will be multiplied against the shortest dimension of the widget instead of being absolute /// in pixel terms - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Border Effect") bool bRelativeRadius = false; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Border Effect") float CornerRadius = 48; UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Border Effect") @@ -72,7 +72,7 @@ class UModioRoundedBorderStyle : public UModioUIWidgetStyleContainer { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties)) + UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (ShowOnlyInnerProperties), Category="Widgets") FModioWidgetBorderStyle Style; virtual const struct FSlateWidgetStyle* const GetStyle() const override diff --git a/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedCategory.h b/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedCategory.h index c97e1354..0fa1a403 100644 --- a/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedCategory.h +++ b/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedCategory.h @@ -41,21 +41,21 @@ class MODIOUI_API UModioFeaturedCategory : public UModioUserWidgetBase, FOnGetSelectionIndex SelectionIndexDelegate; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* Title; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioTileView* ItemList; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional, MustImplement = "ModioUIAsyncHandlerWidget")) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional, MustImplement = "ModioUIAsyncHandlerWidget")) UWidget* TileLoader; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioButton* SeeAllButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioButton* NavLeftButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioButton* NavRightButton; UPROPERTY() @@ -144,7 +144,7 @@ class MODIOUI_API UModioFeaturedCategory : public UModioUserWidgetBase, return SelectionChangedDelegate; } - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioFeaturedCategory") void SetSelectionIndexDelegate(FOnGetSelectionIndex Delegate); // delegate for See all button }; diff --git a/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedCategoryParams.h b/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedCategoryParams.h index c8b93f2d..7198722b 100644 --- a/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedCategoryParams.h +++ b/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedCategoryParams.h @@ -17,21 +17,21 @@ class MODIOUI_API UModioFeaturedCategoryParams : public UObject { GENERATED_BODY() public: - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="ModioFeaturedCategoryParams") FText CategoryName; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModioFeaturedCategoryParams") TArray Tags; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModioFeaturedCategoryParams") TArray ExcludedTags; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModioFeaturedCategoryParams") EModioSortDirection Direction; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModioFeaturedCategoryParams") EModioSortFieldType SortField; - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "ModioFeaturedCategoryParams") int64 Count = 20; }; diff --git a/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedMod.h b/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedMod.h index 12f77bbc..07eaa52e 100644 --- a/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedMod.h +++ b/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedMod.h @@ -46,9 +46,9 @@ class MODIOUI_API UModioFeaturedMod : public UModioModTileBase UFUNCTION() void SubmitModReport(); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioPopupMenu* MoreOptionsMenu; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioImage* TileActiveFrame; }; diff --git a/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedView.h b/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedView.h index 1694657b..f030bd33 100644 --- a/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedView.h +++ b/Source/ModioUI/Public/UI/Views/CategoryBrowser/ModioFeaturedView.h @@ -24,15 +24,15 @@ class MODIOUI_API UModioFeaturedView : public UModioMenuView, GENERATED_BODY() protected: int32 CurrentlySelectedCategoryColumn = INDEX_NONE; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioWidgetCarousel* PrimaryFeaturedCategory; /// @brief Widget implementing ModioUIAsyncHandlerWidget to handle swapping between error widget, loading widget, or /// the Primary Featured Category - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional, MustImplement = "ModioUIAsyncHandlerWidget")) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional, MustImplement = "ModioUIAsyncHandlerWidget")) UWidget* PrimaryFeaturedCategoryLoader; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioListView* AdditionalCategories; // Holds the featured items so that they don't go out of scope diff --git a/Source/ModioUI/Public/UI/Views/Collection/ModioCollectionTileStatus.h b/Source/ModioUI/Public/UI/Views/Collection/ModioCollectionTileStatus.h index 1b8e42f1..10a0f088 100644 --- a/Source/ModioUI/Public/UI/Views/Collection/ModioCollectionTileStatus.h +++ b/Source/ModioUI/Public/UI/Views/Collection/ModioCollectionTileStatus.h @@ -26,22 +26,22 @@ class MODIOUI_API UModioCollectionTileStatus : public UModioModManagementWidgetB void SetPercent(float InPercent); // These could possibly be moved into the global style - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText PendingLabelText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText DownloadingLabelText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText ExtractingLabelText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText SubscribedLabelText; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* StatusText; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioProgressBar* ProgressBar; void UpdateProgress(const struct FModioModProgressInfo& ProgressInfo) override; diff --git a/Source/ModioUI/Public/UI/Views/Collection/ModioCollectionView.h b/Source/ModioUI/Public/UI/Views/Collection/ModioCollectionView.h index 94c9be7a..283c051f 100644 --- a/Source/ModioUI/Public/UI/Views/Collection/ModioCollectionView.h +++ b/Source/ModioUI/Public/UI/Views/Collection/ModioCollectionView.h @@ -29,10 +29,10 @@ class MODIOUI_API UModioCollectionView : public UModioMenuView, { GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* CollectionTitle; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioEditableTextBox* SearchInput; UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Localization") @@ -40,27 +40,27 @@ class MODIOUI_API UModioCollectionView : public UModioMenuView, UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Localization") FText ShowSystemCollectionText; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* FetchButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioPopupComboBox* ModGroupSelection; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioPopupComboBox* SortBy; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioListView* CollectionList; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* CollectionCount; /// @brief Ensures that the underlying data set doesn't get GC'd - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") TArray CachedCollection; /// @brief Ensures that the underlying data set doesn't get GC'd - UPROPERTY(BlueprintReadWrite, EditAnywhere) + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Widgets") TArray FilteredCollection; FModioUIAction CurrentSortAction; diff --git a/Source/ModioUI/Public/UI/Views/Collection/ModioModCollectionTile.h b/Source/ModioUI/Public/UI/Views/Collection/ModioModCollectionTile.h index 48e82c64..835cb8bf 100644 --- a/Source/ModioUI/Public/UI/Views/Collection/ModioModCollectionTile.h +++ b/Source/ModioUI/Public/UI/Views/Collection/ModioModCollectionTile.h @@ -39,16 +39,16 @@ class MODIOUI_API UModioModCollectionTile : public UModioModTileBase, void SubmitModReport(); UFUNCTION() void NativeMoreOptionsClicked(); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* SizeOnDiskLabel; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioPopupMenu* MoreOptionsMenu; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioCollectionTileStatus* StatusWidget; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* StatusLine; // We don't need a text for any other status because all mods are either subscribed for the local user or installed diff --git a/Source/ModioUI/Public/UI/Views/ModDetails/ModioAsyncOpWrapperWidget.h b/Source/ModioUI/Public/UI/Views/ModDetails/ModioAsyncOpWrapperWidget.h index 51035d67..3d683c1c 100644 --- a/Source/ModioUI/Public/UI/Views/ModDetails/ModioAsyncOpWrapperWidget.h +++ b/Source/ModioUI/Public/UI/Views/ModDetails/ModioAsyncOpWrapperWidget.h @@ -26,6 +26,6 @@ class MODIOUI_API UModioAsyncOpWrapperWidget : public UBorder, public IModioUIAs void NativeNotifyOperationState(EModioUIAsyncOperationWidgetState NewState) override; public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="ModioAsyncOpWrapperWidget") void SetActualAsyncOperationWidget(const TScriptInterface& Widget); }; diff --git a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsImage.h b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsImage.h index 0b918ace..0753c558 100644 --- a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsImage.h +++ b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsImage.h @@ -19,14 +19,14 @@ class MODIOUI_API UModioModDetailsImage : public UModioUserWidgetBase, public IM GENERATED_BODY() protected: - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRoundedImage* Image; void NativeDisplayImage(const FSlateBrush& InImage); - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Appearance") FModioUIMaterialRef FrameMaterial; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Appearance") FName TextureParameterName = "WidgetTexture"; }; diff --git a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsImageGallery.h b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsImageGallery.h index 9aab9038..807585a0 100644 --- a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsImageGallery.h +++ b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsImageGallery.h @@ -64,10 +64,10 @@ class MODIOUI_API UModioModDetailsImageGallery : public UModioUserWidgetBase, void ShowImageInternal(int32 RawIndex); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioImageGalleryBase* ImageGallery; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioListViewInteger* NavButtons; }; @@ -80,10 +80,10 @@ class MODIOUI_API UModioModDetailsImageGalleryNavButtonBase : public UModioUserW virtual void NativeOnListItemObjectSet(UObject* ListItemObject) override; virtual void NativeOnItemSelectionChanged(bool bIsSelected); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioImage* Image; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Appearance") TSoftObjectPtr SpecifiedMaterial; // TODO: @modio-ue4-ui the colors here should possibly be put into some kind of common style diff --git a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsOpProgress.h b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsOpProgress.h index f267b230..4135a87a 100644 --- a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsOpProgress.h +++ b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsOpProgress.h @@ -28,22 +28,22 @@ class MODIOUI_API UModioModDetailsOpProgress : public UModioModManagementWidgetB void UpdateTimeRemaining(FModioUnsigned64 ProgressSinceLastUpdate, FModioUnsigned64 AmountRemaining, double SecondsSinceLastUpdate); - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioProgressBar* ProgressBar; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioRichTextBlock* TimeRemainingText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets") FText TimeRemainingTextFormat; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets") FText SpeedTextFormat; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioRichTextBlock* OperationSpeedText; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional)) UModioRichTextBlock* OperationProgressText; void UpdateProgress(const struct FModioModProgressInfo& ProgressInfo) override; diff --git a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsPropertyInspector.h b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsPropertyInspector.h index 59f4d152..537bb24b 100644 --- a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsPropertyInspector.h +++ b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsPropertyInspector.h @@ -33,7 +33,7 @@ class MODIOUI_API UModioModDetailsPropertyInspector : public UModioModPropertyIn virtual void NativeOnUpdatePropertyDisplay() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioGridPanel* PropertyGrid; UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Appearance") diff --git a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsView.h b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsView.h index e90ad9d9..b0bb9549 100644 --- a/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsView.h +++ b/Source/ModioUI/Public/UI/Views/ModDetails/ModioModDetailsView.h @@ -50,53 +50,53 @@ class MODIOUI_API UModioModDetailsView : public UModioMenuView, virtual FReply NativeOnFocusReceived(const FGeometry& InGeometry, const FFocusEvent& InFocusEvent) override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional, MustImplement = "ModioUIAsyncHandlerWidget")) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidgetOptional, MustImplement = "ModioUIAsyncHandlerWidget")) UWidget* DetailsLoader; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioAsyncOpWrapperWidget* DetailsViewContent; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* SubscribeButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* RateUpButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* RateDownButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextButton* ReportButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioUserWidgetBase* ModPropertiesInspector; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioModManagementWidgetBase* ProgressWidget; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioModDetailsView") FText SubscribeButtonFormat; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioModDetailsView") FText RateUpTextFormat; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioModDetailsView") FText RateDownTextFormat; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioModDetailsView") FText ReportTextFormat; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ModTitleTextBlock; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ModSummaryTextBlock; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ModFullDescriptionTextBlock; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioTagList* ModTags; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioRichTextBlock* ModChangelog; UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Localization") @@ -104,10 +104,10 @@ class MODIOUI_API UModioModDetailsView : public UModioMenuView, UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Localization") FText UnsubscribeLabel; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioModDetailsImageGallery* ImageGallery; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere,Category="Widgets", meta = (BindWidget)) UModioSubscriptionBadge* SubscriptionBadge; #if WITH_EDITORONLY_DATA diff --git a/Source/ModioUI/Public/UI/Views/ModioMenuView.h b/Source/ModioUI/Public/UI/Views/ModioMenuView.h index 07718b15..5b47b18d 100644 --- a/Source/ModioUI/Public/UI/Views/ModioMenuView.h +++ b/Source/ModioUI/Public/UI/Views/ModioMenuView.h @@ -19,10 +19,10 @@ class MODIOUI_API UModioMenuView : public UModioUserWidgetBase UWidget* CachedMenuTitleContentWidget; /// @brief Displayed on the associated menu bar - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") FText MenuName; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Widgets") TSubclassOf TitleContentClass; public: diff --git a/Source/ModioUI/Public/UI/Views/SearchResults/ModioSearchResultsView.h b/Source/ModioUI/Public/UI/Views/SearchResults/ModioSearchResultsView.h index 348f7aa7..779ad8f3 100644 --- a/Source/ModioUI/Public/UI/Views/SearchResults/ModioSearchResultsView.h +++ b/Source/ModioUI/Public/UI/Views/SearchResults/ModioSearchResultsView.h @@ -6,6 +6,7 @@ #include "Core/ModioModInfoUI.h" #include "CoreMinimal.h" #include "UI/BaseWidgets/ModioButton.h" +#include "UI/BaseWidgets/ModioGridPanel.h" #include "UI/BaseWidgets/ModioPopupComboBox.h" #include "UI/BaseWidgets/ModioRichTextBlock.h" #include "UI/BaseWidgets/ModioTileView.h" @@ -59,36 +60,42 @@ class MODIOUI_API UModioSearchResultsView : public UModioMenuView, UPROPERTY() TArray SearchResults; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Widgets", meta = (BindWidget)) UModioTileView* ResultsTileView; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidgetOptional, MustImplement = "ModioUIAsyncHandlerWidget")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Widgets", + meta = (BindWidgetOptional, MustImplement = "ModioUIAsyncHandlerWidget")) UWidget* ResultLoader; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY() + UModioGridPanel* NoResultsDialog; + + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Widgets", meta = (BindWidget)) UModioRichTextBlock* SearchQuery; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Widgets", meta = (BindWidget)) UModioTagList* SearchTags; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Widgets", meta = (BindWidget)) UModioButton* RefineSearchButton; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (BindWidget)) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Widgets", meta = (BindWidget)) UModioPopupComboBox* SortBy; // Override GetMenuTitleContent to return the correct widget with the number of results populated virtual TSharedRef GetMenuTitleContent() override; - UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle")) + UPROPERTY(BlueprintReadOnly, EditAnywhere, meta = (StyleClass = "ModioRichTextStyle"), + Category = "ModioSearchResultsView") FModioUIStyleRef TitleTextStyle = FModioUIStyleRef {"DefaultRichTextStyle"}; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioSearchResultsView") FText PageTitle; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioSearchResultsView") FText ModCountFormatText; - UPROPERTY(BlueprintReadOnly, EditAnywhere) + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "ModioSearchResultsView") FText ModQueryFormatText; FText GetPageTitle() const; diff --git a/Source/ModioUIEditor/Private/AssetActions/AssetTypeActions_ModioDialogInfo.cpp b/Source/ModioUIEditor/Private/AssetActions/AssetTypeActions_ModioDialogInfo.cpp index ef737cb6..87001f77 100644 --- a/Source/ModioUIEditor/Private/AssetActions/AssetTypeActions_ModioDialogInfo.cpp +++ b/Source/ModioUIEditor/Private/AssetActions/AssetTypeActions_ModioDialogInfo.cpp @@ -1,5 +1,6 @@ #include "AssetActions/AssetTypeActions_ModioDialogInfo.h" #include "Editor/ModioDialogInfoEditorToolkit.h" +#include "UI/Dialogs/ModioDialogBaseInternal.h" #include "UI/Dialogs/ModioDialogInfo.h" UClass* FAssetTypeActions_ModioDialogInfo::GetSupportedClass() const diff --git a/Source/ThirdParty/NativeSDK b/Source/ThirdParty/NativeSDK index f7886ccb..3ff1e3bb 160000 --- a/Source/ThirdParty/NativeSDK +++ b/Source/ThirdParty/NativeSDK @@ -1 +1 @@ -Subproject commit f7886ccb0cec5e67b0b86aef5908dc2a47f5a0d7 +Subproject commit 3ff1e3bbd4580cc77a034bc9e12f9bb0a39884d6 diff --git a/Source/uring/uring.build.cs b/Source/uring/uring.build.cs index 786369ec..9a95f372 100644 --- a/Source/uring/uring.build.cs +++ b/Source/uring/uring.build.cs @@ -12,7 +12,7 @@ public uring(ReadOnlyTargetRules Target) : base(Target) PublicIncludePaths.AddRange(new string[] {Path.Combine(ModuleDirectory, "Public"), Path.Combine(ModuleDirectory, "../ThirdParty/liburing/src/include")}); PrivateIncludePaths.AddRange(new string[] {Path.Combine(GeneratedSourcePath), Path.Combine(ModuleDirectory, "../ThirdParty/liburing/src")}); PrivateDefinitions.Add("LIBURING_INTERNAL=1"); - if (File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/liburing/.git"))) + if (File.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/liburing/.git")) || Directory.Exists(Path.Combine(ModuleDirectory, "../ThirdParty/liburing/.git"))) { // Clean the generated source directory if (Directory.Exists(GeneratedSourcePath))