Added Blank Delegate for split Sensors + Added Getters for Contest/Stage/Split rankings for 1 participant + Global Cleaning

This commit is contained in:
2025-07-14 02:40:03 +02:00
parent e6d878aeef
commit 1c04ae6bd7
9 changed files with 185 additions and 100 deletions

View File

@ -137,7 +137,7 @@ struct FHierarchicalTreeItem
typedef TSharedPtr<FHierarchicalTreeItem> FHierarchicalTreeItemPtr;
/**
* Widget avec STreeView simple et efficace
* ModelAsset TreeviewWidget
*/
class DTFLUXASSETSEDITOR_API SDTFluxAssetModelDetailsWidget : public SCompoundWidget
{
@ -152,40 +152,33 @@ public:
void Construct(const FArguments& InArgs);
void RefreshData();
// Méthodes publiques pour la sous-classe Row
FSlateColor GetItemTypeColor(FHierarchicalTreeItem::EItemType Type) const;
const FSlateBrush* GetItemIcon(FHierarchicalTreeItem::EItemType Type) const;
private:
// Données
UDTFluxModelAsset* ModelAsset = nullptr;
TArray<FHierarchicalTreeItemPtr> RootItems; // Contests racines avec hiérarchie
TArray<FHierarchicalTreeItemPtr> ParticipantItems; // Participants séparés
TArray<FHierarchicalTreeItemPtr> RootItems;
TArray<FHierarchicalTreeItemPtr> ParticipantItems;
// Widgets - TreeView simple
TSharedPtr<STreeView<FHierarchicalTreeItemPtr>> ContestTreeView;
TSharedPtr<STreeView<FHierarchicalTreeItemPtr>> ParticipantTreeView;
TSharedPtr<STextBlock> StatsText;
TSharedPtr<STextBlock> SelectionText;
// Méthodes de construction
void BuildContestHierarchy();
void BuildParticipantList();
// Callbacks TreeView
TSharedRef<ITableRow> OnGenerateRowForTree(FHierarchicalTreeItemPtr Item,
const TSharedRef<STableViewBase>& OwnerTable);
void OnGetChildrenForTree(FHierarchicalTreeItemPtr Item, TArray<FHierarchicalTreeItemPtr>& OutChildren);
void OnTreeSelectionChanged(FHierarchicalTreeItemPtr SelectedItem, ESelectInfo::Type SelectInfo);
void OnSetExpansionRecursive(FHierarchicalTreeItemPtr Item, bool bIsExpanded);
// Callbacks des boutons
FReply OnRefreshClicked();
FReply OnExpandAllClicked();
FReply OnCollapseAllClicked();
EActiveTimerReturnType ForceInitialLayout(double InCurrentTime, float InDeltaTime);
// Utilitaires
FText GetStatsText() const;
};