Skip to content

[Editor] Generate and display documentation for the properties generated by PropertyListHelper.#115253

Merged
akien-mga merged 1 commit into
godotengine:masterfrom
bruvzg:prop_helper_help
Mar 23, 2026
Merged

[Editor] Generate and display documentation for the properties generated by PropertyListHelper.#115253
akien-mga merged 1 commit into
godotengine:masterfrom
bruvzg:prop_helper_help

Conversation

@bruvzg

@bruvzg bruvzg commented Jan 22, 2026

Copy link
Copy Markdown
Member

Adds documentation for the dynamic properties generated by PropertyListHelper (e.g, menu items).

Screenshot 2026-01-22 at 12 18 50

@KoBeWi KoBeWi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually made proposal for this, not sure if you had seen it: godotengine/godot-proposals#13965

In my proposal I suggested having a separate list for dynamic properties, since they are a group. So instead of item_{index}/text you'd have something like

Property Group Items:
Prefix: item_
Count: item_count

bool disabled
description
String text
description
etc.

(somewhat similar to how enums are organized)

The Count information would also allow to get rid of Note: in every description. However it's rather significant change over the current implementation (it'd also affect XML structure), so probably up to discussion.

The implementation itself looks good, aside from missing Open Documentation button in the context menu for dynamic properties. Also needs rebase to include recently added Curve helpers.

Comment thread scene/property_list_helper.h Outdated
Comment thread editor/doc/doc_tools.cpp Outdated
Comment thread doc/classes/AudioStreamRandomizer.xml Outdated
Comment thread doc/classes/AudioStreamRandomizer.xml Outdated
Comment thread doc/classes/ItemList.xml Outdated
Comment thread doc/classes/FileDialog.xml Outdated
Comment thread doc/classes/MenuButton.xml Outdated
Comment thread doc/classes/MenuButton.xml Outdated
Comment thread doc/classes/TabBar.xml Outdated
@bruvzg bruvzg force-pushed the prop_helper_help branch from 1e589f1 to 68b6b25 Compare March 18, 2026 09:06
@bruvzg bruvzg requested a review from a team as a code owner March 18, 2026 09:06
@bruvzg

bruvzg commented Mar 18, 2026

Copy link
Copy Markdown
Member Author

In my proposal I suggested having a separate list for dynamic properties, since they are a group. So instead of item_{index}/text you'd have something like

Not sure if its worth adding new list for the PropertyListHelper properties. But there are a lot of other dynamic properties generated by get_property_list with less uniform structure, and if we'll add docs support for these it would make sense to have a separate category for more flexibility.

Comment thread doc/classes/MenuButton.xml Outdated
Comment thread doc/classes/LabelSettings.xml Outdated
Comment thread doc/classes/OptionButton.xml Outdated
Comment thread doc/classes/OptionButton.xml Outdated
Comment thread doc/classes/PopupMenu.xml Outdated
Comment thread doc/classes/TabBar.xml Outdated
Comment thread doc/classes/TabContainer.xml Outdated
@bruvzg bruvzg force-pushed the prop_helper_help branch from 68b6b25 to 2c2ed8d Compare March 18, 2026 09:26

@KoBeWi KoBeWi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a fan of having a note in every description, but the implementation itself is fine. It can be improved upon later if needed.

@KoBeWi KoBeWi modified the milestones: 4.x, 4.7 Mar 18, 2026

@AThousandShips AThousandShips left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving the new documentation entries

@akien-mga akien-mga merged commit 1d638ea into godotengine:master Mar 23, 2026
20 checks passed
@akien-mga

Copy link
Copy Markdown
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment