|
@@ -20,9 +20,18 @@ void SEzAbleTreeViewWidget::Construct(const FArguments& InArgs)
|
|
.Orientation(Orient_Vertical)
|
|
.Orientation(Orient_Vertical)
|
|
.Thickness(FVector2D(12.0f, 12.0f));
|
|
.Thickness(FVector2D(12.0f, 12.0f));
|
|
|
|
|
|
- TreeView = SNew(STreeView<TWeakObjectPtr<UEzAbilityState>>)
|
|
|
|
- .OnGenerateRow(this, &SEzAbleTreeViewWidget::HandleGenerateRow);
|
|
|
|
|
|
+ UEzAbilityState* AbilityState = NewObject<UEzAbilityState>();
|
|
|
|
+ UEzAbilityState* AbilitySub = NewObject<UEzAbilityState>();
|
|
|
|
+ TestStrongState.Add(AbilityState);
|
|
|
|
+ TestState.Add(TestStrongState[0]);
|
|
|
|
|
|
|
|
+ TreeView = SNew(STreeView<TWeakObjectPtr<UEzAbilityState>>)
|
|
|
|
+ .OnGenerateRow(this, &SEzAbleTreeViewWidget::HandleGenerateRow)
|
|
|
|
+ .OnGetChildren(this, &SEzAbleTreeViewWidget::HandleGetChildren)
|
|
|
|
+ .TreeItemsSource(&TestState)
|
|
|
|
+ .ItemHeight(32)
|
|
|
|
+ .AllowOverscroll(EAllowOverscroll::No)
|
|
|
|
+ .ExternalScrollbar(VerticalScrollBar);
|
|
ChildSlot
|
|
ChildSlot
|
|
[
|
|
[
|
|
SNew(SVerticalBox)
|
|
SNew(SVerticalBox)
|
|
@@ -82,12 +91,9 @@ void SEzAbleTreeViewWidget::Construct(const FArguments& InArgs)
|
|
HorizontalScrollBar
|
|
HorizontalScrollBar
|
|
]
|
|
]
|
|
];
|
|
];
|
|
- /*
|
|
|
|
- ChildSlot
|
|
|
|
- [
|
|
|
|
- // Populate the widget
|
|
|
|
- ];
|
|
|
|
- */
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ UpdateTree(true);
|
|
}
|
|
}
|
|
END_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
|
END_SLATE_FUNCTION_BUILD_OPTIMIZATION
|
|
|
|
|
|
@@ -102,4 +108,23 @@ TSharedRef<ITableRow> SEzAbleTreeViewWidget::HandleGenerateRow(TWeakObjectPtr<UE
|
|
return SNew(SEzAbleTreeViewRowWidget, InOwnerTableView, InState, ViewBox);
|
|
return SNew(SEzAbleTreeViewRowWidget, InOwnerTableView, InState, ViewBox);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void SEzAbleTreeViewWidget::HandleGetChildren(TWeakObjectPtr<UEzAbilityState> InParent, TArray<TWeakObjectPtr<UEzAbilityState>>& OutChildren)
|
|
|
|
+{
|
|
|
|
+ UE_LOG(LogTemp, Log, TEXT("EZAbleTreeViewWidget HandleGetChildren"));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void SEzAbleTreeViewWidget::UpdateTree(bool bExpandPersistent /*= false*/)
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+// TArray<TWeakObjectPtr<UEzAbilityState>> TestState;
|
|
|
|
+// UEzAbilityState* AbilityState = NewObject<UEzAbilityState>();
|
|
|
|
+// TestState.Add(AbilityState);
|
|
|
|
+ TreeView->SetTreeItemsSource(&TestState);
|
|
|
|
+ //TreeView->GenerateNewWidget(AbilityState);
|
|
|
|
+ //TreeView->WidgetFromItem(AbilityState);
|
|
|
|
+ TreeView->RequestTreeRefresh();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
#undef LOCTEXT_NAMESPACE
|
|
#undef LOCTEXT_NAMESPACE
|