user: Give a detailed overview of SpaceProperties(Space): syntax, arguments, return values, common patterns.

assistant: # SpaceProperties(Space)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`Space`](bpy.types.Space.html#bpy.types.Space "bpy.types.Space")

*class* bpy.types.SpaceProperties(*Space*)
:   Properties space data

    context
    :   - `TOOL`
          Tool – Active Tool and Workspace settings.
        - `SCENE`
          Scene – Scene Properties.
        - `RENDER`
          Render – Render Properties.
        - `OUTPUT`
          Output – Output Properties.
        - `VIEW_LAYER`
          View Layer – View Layer Properties.
        - `WORLD`
          World – World Properties.
        - `COLLECTION`
          Collection – Collection Properties.
        - `OBJECT`
          Object – Object Properties.
        - `CONSTRAINT`
          Constraints – Object Constraint Properties.
        - `MODIFIER`
          Modifiers – Modifier Properties.
        - `DATA`
          Data – Object Data Properties.
        - `BONE`
          Bone – Bone Properties.
        - `BONE_CONSTRAINT`
          Bone Constraints – Bone Constraint Properties.
        - `MATERIAL`
          Material – Material Properties.
        - `TEXTURE`
          Texture – Texture Properties.
        - `PARTICLES`
          Particles – Particle Properties.
        - `PHYSICS`
          Physics – Physics Properties.
        - `SHADERFX`
          Effects – Visual Effects Properties.
        - `STRIP`
          Strip – Strip Properties.
        - `STRIP_MODIFIER`
          Strip Modifiers – Strip Modifier Properties.

        Type:
        :   enum in [`'TOOL'`, `'SCENE'`, `'RENDER'`, `'OUTPUT'`, `'VIEW_LAYER'`, `'WORLD'`, `'COLLECTION'`, `'OBJECT'`, `'CONSTRAINT'`, `'MODIFIER'`, `'DATA'`, `'BONE'`, `'BONE_CONSTRAINT'`, `'MATERIAL'`, `'TEXTURE'`, `'PARTICLES'`, `'PHYSICS'`, `'SHADERFX'`, `'STRIP'`, `'STRIP_MODIFIER'`], default `'RENDER'`

    outliner_sync
    :   Change to the corresponding tab when outliner data icons are clicked

        - `ALWAYS`
          Always – Always change tabs when clicking an icon in an outliner.
        - `NEVER`
          Never – Never change tabs when clicking an icon in an outliner.
        - `AUTO`
          Auto – Change tabs only when this editor shares a border with an outliner.

        Type:
        :   enum in [`'ALWAYS'`, `'NEVER'`, `'AUTO'`], default `'AUTO'`

    pin_id
    :   Type:
        :   [`ID`](bpy.types.ID.html#bpy.types.ID "bpy.types.ID")

    search_filter
    :   Live search filtering string

        Type:
        :   string, default “”, (never None)

    show_properties_bone
    :   Type:
        :   boolean, default False

    show_properties_bone_constraints
    :   Type:
        :   boolean, default False

    show_properties_collection
    :   Type:
        :   boolean, default False

    show_properties_constraints
    :   Type:
        :   boolean, default False

    show_properties_data
    :   Type:
        :   boolean, default False

    show_properties_effects
    :   Type:
        :   boolean, default False

    show_properties_material
    :   Type:
        :   boolean, default False

    show_properties_modifiers
    :   Type:
        :   boolean, default False

    show_properties_object
    :   Type:
        :   boolean, default False

    show_properties_output
    :   Type:
        :   boolean, default False

    show_properties_particles
    :   Type:
        :   boolean, default False

    show_properties_physics
    :   Type:
        :   boolean, default False

    show_properties_render
    :   Type:
        :   boolean, default False

    show_properties_scene
    :   Type:
        :   boolean, default False

    show_properties_strip
    :   Type:
        :   boolean, default False

    show_properties_strip_modifier
    :   Type:
        :   boolean, default False

    show_properties_texture
    :   Type:
        :   boolean, default False

    show_properties_tool
    :   Type:
        :   boolean, default False

    show_properties_view_layer
    :   Type:
        :   boolean, default False

    show_properties_world
    :   Type:
        :   boolean, default False

    tab_search_results
    :   Whether or not each visible tab has a search result

        Type:
        :   boolean, default False, (readonly)

    use_pin_id
    :   Use the pinned context

        Type:
        :   boolean, default False

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type

    *classmethod* draw_handler_add(*callback*, *args*, *region_type*, *draw_type*)
    :   Add a new draw handler to this space type.
        It will be called every time the specified region in the space type will be drawn.
        Note: All arguments are positional only for now.

        Parameters:
        :   - **callback** (*Callable**[**...**,* *Any**]*) – A function that will be called when the region is drawn.
              It gets the specified arguments as input, it’s return value is ignored.
            - **args** (*tuple**[**Any**,* *...**]*) – Arguments that will be passed to the callback.
            - **region_type** (*str*) – The region type the callback draws in; usually `WINDOW`. ([`bpy.types.Region.type`](bpy.types.Region.html#bpy.types.Region.type "bpy.types.Region.type"))
            - **draw_type** (*str*) – Usually `POST_PIXEL` for 2D drawing and `POST_VIEW` for 3D drawing. In some cases `PRE_VIEW` can be used. `BACKDROP` can be used for backdrops in the node editor.

        Returns:
        :   Handler that can be removed later on.

        Return type:
        :   object

    *classmethod* draw_handler_remove(*handler*, *region_type*)
    :   Remove a draw handler that was added previously.

        Parameters:
        :   - **handler** (*object*) – The draw handler that should be removed.
            - **region_type** (*str*) – Region type the callback was added to.