# {py:mod}`simvx.editor.panels.inspector_sections` ```{py:module} simvx.editor.panels.inspector_sections ``` ```{autodoc2-docstring} simvx.editor.panels.inspector_sections :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`InspectorContext ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext :summary: ``` * - {py:obj}`InspectorSection ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorSection :summary: ``` * - {py:obj}`MeshSection ` - * - {py:obj}`MaterialSection ` - * - {py:obj}`AudioStreamSection ` - * - {py:obj}`CollisionShapeSection ` - * - {py:obj}`PostProcessToggleSection ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PostProcessToggleSection :summary: ``` * - {py:obj}`CollisionLayerSection ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionLayerSection :summary: ``` * - {py:obj}`CameraPreviewSection ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CameraPreviewSection :summary: ``` * - {py:obj}`ParticlePreviewSection ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.ParticlePreviewSection :summary: ``` * - {py:obj}`SpriteAnimationSection ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.SpriteAnimationSection :summary: ``` * - {py:obj}`PathCurveSection ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PathCurveSection :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`register_inspector_section ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.register_inspector_section :summary: ``` * - {py:obj}`get_sections_for_node ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.get_sections_for_node :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.log :summary: ``` ```` ### API ````{py:data} log :canonical: simvx.editor.panels.inspector_sections.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.log ``` ```` `````{py:class} InspectorContext(inspector) :canonical: simvx.editor.panels.inspector_sections.InspectorContext ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.__init__ ``` ````{py:method} on_property_changed(node: simvx.core.Node, prop: str, old_val: typing.Any, new_val: typing.Any) :canonical: simvx.editor.panels.inspector_sections.InspectorContext.on_property_changed ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.on_property_changed ``` ```` ````{py:method} on_callable_command(do_fn, undo_fn, description: str) :canonical: simvx.editor.panels.inspector_sections.InspectorContext.on_callable_command ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.on_callable_command ``` ```` ````{py:method} on_material_prop_changed(node, prop: str, value: typing.Any) :canonical: simvx.editor.panels.inspector_sections.InspectorContext.on_material_prop_changed ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.on_material_prop_changed ``` ```` ````{py:method} on_material_colour_changed(node, new_colour: tuple) :canonical: simvx.editor.panels.inspector_sections.InspectorContext.on_material_colour_changed ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.on_material_colour_changed ``` ```` ````{py:method} on_material_texture_changed(node, attr: str, path: str | None) :canonical: simvx.editor.panels.inspector_sections.InspectorContext.on_material_texture_changed ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.on_material_texture_changed ``` ```` ````{py:method} rebuild() :canonical: simvx.editor.panels.inspector_sections.InspectorContext.rebuild ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.rebuild ``` ```` ````{py:property} editor_state :canonical: simvx.editor.panels.inspector_sections.InspectorContext.editor_state ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.editor_state ``` ```` ````{py:method} register_widget(key: str, widget: simvx.core.Control) :canonical: simvx.editor.panels.inspector_sections.InspectorContext.register_widget ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.register_widget ``` ```` ````{py:property} property_changed_signal :canonical: simvx.editor.panels.inspector_sections.InspectorContext.property_changed_signal :type: simvx.core.Signal ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorContext.property_changed_signal ``` ```` ````` `````{py:class} InspectorSection :canonical: simvx.editor.panels.inspector_sections.InspectorSection ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorSection ``` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.InspectorSection.section_title :type: str :value: > 'Section' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.InspectorSection.priority :type: int :value: > 0 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorSection.priority ``` ```` ````{py:method} can_handle(node: simvx.core.Node) -> bool :canonical: simvx.editor.panels.inspector_sections.InspectorSection.can_handle :abstractmethod: ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorSection.can_handle ``` ```` ````{py:method} build_rows(node: simvx.core.Node, ctx: simvx.editor.panels.inspector_sections.InspectorContext) -> list[simvx.core.Control] :canonical: simvx.editor.panels.inspector_sections.InspectorSection.build_rows :abstractmethod: ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorSection.build_rows ``` ```` ````{py:method} handled_properties(node: simvx.core.Node) -> set[str] :canonical: simvx.editor.panels.inspector_sections.InspectorSection.handled_properties ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.InspectorSection.handled_properties ``` ```` ````` ````{py:function} register_inspector_section(cls: type[simvx.editor.panels.inspector_sections.InspectorSection]) -> type[simvx.editor.panels.inspector_sections.InspectorSection] :canonical: simvx.editor.panels.inspector_sections.register_inspector_section ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.register_inspector_section ``` ```` ````{py:function} get_sections_for_node(node: simvx.core.Node) -> list[simvx.editor.panels.inspector_sections.InspectorSection] :canonical: simvx.editor.panels.inspector_sections.get_sections_for_node ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.get_sections_for_node ``` ```` `````{py:class} MeshSection :canonical: simvx.editor.panels.inspector_sections.MeshSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.MeshSection.section_title :value: > 'Mesh' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.MeshSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.MeshSection.priority :value: > 10 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.MeshSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.MeshSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.MeshSection.can_handle ``` ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.MeshSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.MeshSection.build_rows ``` ```` ````{py:method} handled_properties(node: simvx.core.Node) -> set[str] :canonical: simvx.editor.panels.inspector_sections.MeshSection.handled_properties ```` ````` `````{py:class} MaterialSection :canonical: simvx.editor.panels.inspector_sections.MaterialSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.MaterialSection.section_title :value: > 'Material' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.MaterialSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.MaterialSection.priority :value: > 11 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.MaterialSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.MaterialSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.MaterialSection.can_handle ``` ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.MaterialSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.MaterialSection.build_rows ``` ```` ````{py:method} handled_properties(node: simvx.core.Node) -> set[str] :canonical: simvx.editor.panels.inspector_sections.MaterialSection.handled_properties ```` ````` `````{py:class} AudioStreamSection :canonical: simvx.editor.panels.inspector_sections.AudioStreamSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.AudioStreamSection.section_title :value: > 'Audio' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.AudioStreamSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.AudioStreamSection.priority :value: > 20 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.AudioStreamSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.AudioStreamSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.AudioStreamSection.can_handle ``` ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.AudioStreamSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.AudioStreamSection.build_rows ``` ```` ````{py:method} handled_properties(node: simvx.core.Node) -> set[str] :canonical: simvx.editor.panels.inspector_sections.AudioStreamSection.handled_properties ```` ````` `````{py:class} CollisionShapeSection :canonical: simvx.editor.panels.inspector_sections.CollisionShapeSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.CollisionShapeSection.section_title :value: > 'Collision Shape' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionShapeSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.CollisionShapeSection.priority :value: > 30 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionShapeSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.CollisionShapeSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionShapeSection.can_handle ``` ```` ````{py:method} handled_properties(node) :canonical: simvx.editor.panels.inspector_sections.CollisionShapeSection.handled_properties ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.CollisionShapeSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionShapeSection.build_rows ``` ```` ````` `````{py:class} PostProcessToggleSection :canonical: simvx.editor.panels.inspector_sections.PostProcessToggleSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PostProcessToggleSection ``` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.PostProcessToggleSection.section_title :value: > 'Post Processing' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PostProcessToggleSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.PostProcessToggleSection.priority :value: > 5 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PostProcessToggleSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.PostProcessToggleSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PostProcessToggleSection.can_handle ``` ```` ````{py:method} handled_properties(node) :canonical: simvx.editor.panels.inspector_sections.PostProcessToggleSection.handled_properties ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.PostProcessToggleSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PostProcessToggleSection.build_rows ``` ```` ````` `````{py:class} CollisionLayerSection :canonical: simvx.editor.panels.inspector_sections.CollisionLayerSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionLayerSection ``` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.CollisionLayerSection.section_title :value: > 'Collision Layers' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionLayerSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.CollisionLayerSection.priority :value: > 25 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionLayerSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.CollisionLayerSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionLayerSection.can_handle ``` ```` ````{py:method} handled_properties(node) :canonical: simvx.editor.panels.inspector_sections.CollisionLayerSection.handled_properties ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.CollisionLayerSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CollisionLayerSection.build_rows ``` ```` ````` `````{py:class} CameraPreviewSection :canonical: simvx.editor.panels.inspector_sections.CameraPreviewSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CameraPreviewSection ``` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.CameraPreviewSection.section_title :value: > 'Camera Preview' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CameraPreviewSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.CameraPreviewSection.priority :value: > 2 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CameraPreviewSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.CameraPreviewSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CameraPreviewSection.can_handle ``` ```` ````{py:method} handled_properties(node) :canonical: simvx.editor.panels.inspector_sections.CameraPreviewSection.handled_properties ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.CameraPreviewSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.CameraPreviewSection.build_rows ``` ```` ````` `````{py:class} ParticlePreviewSection :canonical: simvx.editor.panels.inspector_sections.ParticlePreviewSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.ParticlePreviewSection ``` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.ParticlePreviewSection.section_title :value: > 'Particle Controls' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.ParticlePreviewSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.ParticlePreviewSection.priority :value: > 3 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.ParticlePreviewSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.ParticlePreviewSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.ParticlePreviewSection.can_handle ``` ```` ````{py:method} handled_properties(node) :canonical: simvx.editor.panels.inspector_sections.ParticlePreviewSection.handled_properties ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.ParticlePreviewSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.ParticlePreviewSection.build_rows ``` ```` ````` `````{py:class} SpriteAnimationSection :canonical: simvx.editor.panels.inspector_sections.SpriteAnimationSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.SpriteAnimationSection ``` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.SpriteAnimationSection.section_title :value: > 'Sprite Animation' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.SpriteAnimationSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.SpriteAnimationSection.priority :value: > 4 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.SpriteAnimationSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.SpriteAnimationSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.SpriteAnimationSection.can_handle ``` ```` ````{py:method} handled_properties(node) :canonical: simvx.editor.panels.inspector_sections.SpriteAnimationSection.handled_properties ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.SpriteAnimationSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.SpriteAnimationSection.build_rows ``` ```` ````` `````{py:class} PathCurveSection :canonical: simvx.editor.panels.inspector_sections.PathCurveSection Bases: {py:obj}`simvx.editor.panels.inspector_sections.InspectorSection` ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PathCurveSection ``` ````{py:attribute} section_title :canonical: simvx.editor.panels.inspector_sections.PathCurveSection.section_title :value: > 'Curve' ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PathCurveSection.section_title ``` ```` ````{py:attribute} priority :canonical: simvx.editor.panels.inspector_sections.PathCurveSection.priority :value: > 6 ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PathCurveSection.priority ``` ```` ````{py:method} can_handle(node) :canonical: simvx.editor.panels.inspector_sections.PathCurveSection.can_handle ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PathCurveSection.can_handle ``` ```` ````{py:method} handled_properties(node) :canonical: simvx.editor.panels.inspector_sections.PathCurveSection.handled_properties ```` ````{py:method} build_rows(node, ctx) :canonical: simvx.editor.panels.inspector_sections.PathCurveSection.build_rows ```{autodoc2-docstring} simvx.editor.panels.inspector_sections.PathCurveSection.build_rows ``` ```` `````