Overview#

This is the widget that let you create a panel that shows attributes of material USD prim(s)

alt text

Usage#

from omni.flux.properties_pane.materials.usd.widget import PropertyWidget as _PropertyWidget

properties_create_ui = _PropertyWidget(self._context_name)  # hold the widget in a variable or it will crash
# usd_paths is a list of material prim sdf paths
properties_create_ui.refresh(usd_paths)

The material widget forwards expand_all_groups() and collapse_all_groups() to its underlying property tree so callers can bulk-expand or bulk-collapse material property groups without reaching into private widget state.

PropertyWidget owns one pending refresh; a new refresh or destruction cancels it. refresh(None) reuses the latest paths. Material and shader paths remain watched when a mixed selection has no common editable inputs.