Getting closer (I think), the new User Widget.
#pragma once
#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "Blueprint/IUserObjectListEntry.h"
#include "Components/TextBlock.h"
#include "BuildingListItem.generated.h"
UCLASS(Blueprintable, BlueprintType)
class GAMEUI_API UBuildingListItem : public UUserWidget, public IUserObjectListEntry
{
GENERATED_BODY()
public:
UBuildingListItem(const FObjectInitializer& ObjectInitializer) :
Super(ObjectInitializer)
{}
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "BuildingData", meta = (BindWidget)) UTextBlock* mType;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "BuildingData", meta = (BindWidget)) UTextBlock* mCount;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "BuildingData", meta = (BindWidget)) UTextBlock* mHeight;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "BuildingData", meta = (BindWidget)) UTextBlock* mConstructionFactor;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "BuildingData", meta = (BindWidget)) UTextBlock* mBasement;
virtual bool IsListItemSelectable() const { return false; }
protected:
virtual void NativeOnListItemObjectSet(UObject* ListItemObject) override;
};
The item class
#pragma once
#include "CoreMinimal.h"
#include "BuildingSummaryItem.generated.h"
UCLASS()
class GAMEUI_API UBuildingSummaryItem : public UObject
{
GENERATED_BODY()
public:
FString mType;
FString mCount;
FString mHeight;
FString mConstructionFactor;
FString mBasement;
};
The blue print for it:
However the List View doesn’t like the new UBuildingListItem. I can add it as the Entry Widget Class. I seem to be missing something with the implementation of the IUserObjectListEntry.
Any more thoughts would be great.