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"

How to update a customized details panel?

I have a custom property layout which should (in theory) display a variable number of children based on this property's value. An adjustable length array, so to speak. So, my CustomizeChildren generates an appropriate number of elements, but I have to push Recompile to update the details panel after changing this value. I can call any function when it changes using IPropertyHandle::SetOnPropertyValueChanged. So, which function is used to refresh the details view?

I've tried NotifyPostChange and some other stuff but none of it works. I am sure this is possible - after all, TArray does work. But I can't find its customization code, which would make my life easier. I haven't tried to make full class details customizations yet, but I will if it's necessary.

As a side question, where does the "reset to default" button come from? I want to either disable it, or make it reset to my values rather than being completely empty.

Some pictures:

Nicely generated at first  Changed ItemClass to new value  After pressing Compile

Product Version: UE 4.8
varnum1.png (19.9 kB)
varnum2.png (17.0 kB)
varnum3.png (9.7 kB)
more ▼

asked Jul 30 '15 at 05:26 AM in C++ Programming

avatar image

623 21 27 163

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

3 answers: sort voted first

after almost 3 years from the original question - but there is a solution. Get the parent category, and then the parent layout. Then just refresh.

    IDetailCategoryBuilder &ParentCategory = StructBuilder.GetParentCategory();
    IDetailLayoutBuilder &LayoutBuilder = ParentCategory.GetParentLayout();

more ▼

answered Mar 09 '18 at 08:58 AM

avatar image

223 5 13 45

avatar image TigerFish89 Jul 10 '19 at 01:39 AM

Hi. I'm newbie in editor code. How can I get StructBuilder?

avatar image Randy Croucher1 Jul 10 '19 at 08:45 PM

I think in the source above, StructBuilder is probably the IDetailChildrenBuilder& passed in to CustomizeChildren in your derived IPropertyTypeCustomization class.

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

Old question, but I was needing the same thing and found this to work when needing a total refresh of the Details Panel...

 FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked<FPropertyEditorModule>("PropertyEditor");
more ▼

answered Aug 14 '17 at 05:55 PM

avatar image

Randy Croucher1
6 1 2

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

I don't think you can do this with an IPropertyTypeCustomization. It looks like you want to customize one property based on the value of another? If so, you should do that through an IDetailCustomization for the containing class instead.

You'll get a reference to an IDetailLayoutBuilder, which you can store and later call ForceRefreshDetails on to have the custom layout regenerated.

As for the reset to default, that has a very specific meaning which you shouldn't try to change - it resets the property to the value specified in the class default object of the given instance's class (or for a blueprint, to the value from the parent class). So if its behaviour isn't what you expect, you should probably be putting the default values you want inside the C++ class constructor.

more ▼

answered Jul 30 '15 at 09:02 AM

avatar image

2.1k 83 37 121

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
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