x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

STreeView won't show children below level 2

Hello,

Similar to this question https://answers.unrealengine.com/questions/64748/streeview-sub-nodes-not-expanding.html My STreeView widget won't expand when I click on a parent that's below the root level.

My code

 void SDialogTreeWidget::Construct(const FArguments& Args)
 {
     
     Items.Add(MakeShareable(new FString("String1")));
 
     Items2.Add(MakeShareable(new FString("String6")));
     Items2.Add(MakeShareable(new FString("String7")));
 
     TreeViewWidget = SNew(STreeView<TSharedPtr<FString>>)
         .ItemHeight(48)
         .TreeItemsSource(&Items)
         .OnGenerateRow(this, &SDialogTreeWidget::OnGenerateRowForList)
         .OnGetChildren(this, &SDialogTreeWidget::GetChildren01);
 
     ChildSlot
         [
             SNew(SVerticalBox)
             + SVerticalBox::Slot()
         [
             TreeViewWidget.ToSharedRef()
         ]
         ];
 }
 
 TSharedRef<ITableRow> SDialogTreeWidget::OnGenerateRowForList(TSharedPtr<FString> Item, const TSharedRef<STableViewBase>& OwnerTable)
 {
     return
         SNew(STableRow<TSharedPtr<FString>>, OwnerTable)
         .Padding(2.0f)
         [
             SNew(STextBlock)
             .Text(FText::FromString(*Item))
         ];
 }
 
 void SDialogTreeWidget::GetChildren01(TSharedPtr<FString> Item, TArray<TSharedPtr<FString>>& OutChildren)
 {
     if (*Item == "String1")
     {
         OutChildren.Add(MakeShareable(new FString("String2")));
         OutChildren.Add(MakeShareable(new FString("String3")));
         OutChildren.Add(MakeShareable(new FString("String4")));
         OutChildren.Add(MakeShareable(new FString("String5")));
     }
     else if (*Item == "String3")
     {
         OutChildren.Append(Items2);
     }
 }

![alt text][1]

Widget looks like this. Clicking on the arrow or double clicking won't expand String3 [1]: /storage/temp/245362-capture.png

Product Version: UE 4.18
Tags:
capture.png (2.9 kB)
more ▼

asked Jun 25 '18 at 02:37 PM in C++ Programming

avatar image

andrew208
6 1 1

avatar image Kobe Byrant Mar 15 '19 at 02:27 AM

Have you solved it? Because I have the same problem

avatar image andrew208 Mar 23 '19 at 12:33 PM

No, I wasn't able to resolve this. Ended up programming my own tree view

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question