Closed UuuNyaa closed 4 months ago
@UuuNyaa
Can all type (not only selected_objects) be changed to typing.List[...]
from typing.Iterable[...]
?
Thank you for your efforts! I looked up the Actual Types, now.
Member | Expected | fake-bpy-module-latest-20240511 | No selection in Object Mode | Armature selected in Edit Mode | Armature selected in Pose Mode | GeometryNodes selected in Edit Mode |
---|---|---|---|---|---|---|
selected_files | ? | typing.Iterable['FileSelectEntry'] = None | object has no attribute | object has no attribute | object has no attribute | object has no attribute |
selected_assets | ? | typing.Iterable['AssetRepresentation'] = None | object has no attribute | object has no attribute | object has no attribute | object has no attribute |
selected_ids | ? | typing.Iterable['ID'] = None | object has no attribute | object has no attribute | object has no attribute | object has no attribute |
selected_nodes | ? | typing.Iterable['Node'] = None | object has no attribute | object has no attribute | object has no attribute | object has no attribute |
visible_objects | typing.List['Object'] | typing.Iterable['Object'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
selectable_objects | typing.List['Object'] | typing.Iterable['Object'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
selected_objects | typing.List['Object'] | typing.Iterable['Object'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
editable_objects | typing.List['Object'] | typing.Iterable['Object'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
selected_editable_objects | typing.List['Object'] | typing.Iterable['Object'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
objects_in_mode | typing.List['Object'] | typing.Iterable['Object'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
objects_in_mode_unique_data | typing.List['Object'] | typing.Iterable['Object'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
visible_bones | typing.Optional[typing.List['EditBone']] | typing.Iterable['EditBone'] = None | <class 'NoneType'> | <class 'list'> | <class 'NoneType'> | <class 'NoneType'> |
editable_bones | typing.Optional[typing.List['EditBone']] | typing.Iterable['EditBone'] = None | <class 'NoneType'> | <class 'list'> | <class 'NoneType'> | <class 'NoneType'> |
selected_bones | typing.Optional[typing.List['EditBone']] | typing.Iterable['EditBone'] = None | <class 'NoneType'> | <class 'list'> | <class 'NoneType'> | <class 'NoneType'> |
selected_editable_bones | typing.Optional[typing.List['EditBone']] | typing.Iterable['EditBone'] = None | <class 'NoneType'> | <class 'list'> | <class 'NoneType'> | <class 'NoneType'> |
visible_pose_bones | typing.Optional[typing.List['PoseBone']] | typing.Iterable['PoseBone'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'list'> | <class 'NoneType'> |
selected_pose_bones | typing.Optional[typing.List['PoseBone']] | typing.Iterable['PoseBone'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'list'> | <class 'NoneType'> |
selected_pose_bones_from_active_object | typing.Optional[typing.List['PoseBone']] | typing.Iterable['PoseBone'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'list'> | <class 'NoneType'> |
sequences | typing.List['Sequence'] | typing.Iterable['Sequence'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
selected_sequences | typing.List['Sequence'] | typing.Iterable['Sequence'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
selected_editable_sequences | typing.List['Sequence'] | typing.Iterable['Sequence'] = None | <class 'list'> | <class 'list'> | <class 'list'> | <class 'list'> |
selected_nla_strips | ? | typing.Iterable['NlaStrip'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
selected_movieclip_tracks | ? | typing.Iterable['MovieTrackingTrack'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
visible_gpencil_layers | ? | typing.Iterable['GPencilLayer'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
editable_gpencil_layers | ? | typing.Iterable['GPencilLayer'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
editable_gpencil_strokes | ? | typing.Iterable['GPencilStroke'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
active_gpencil_layer | ? | typing.Iterable['GPencilLayer'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
active_gpencil_frame | ? | typing.Iterable['GreasePencilLayer'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
selected_visible_actions | ? | typing.Iterable['Action'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
selected_editable_actions | ? | typing.Iterable['Action'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
visible_fcurves | ? | typing.Iterable['FCurve'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
editable_fcurves | ? | typing.Iterable['FCurve'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
selected_visible_fcurves | ? | typing.Iterable['FCurve'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
selected_editable_fcurves | ? | typing.Iterable['FCurve'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
selected_editable_keyframes | ? | typing.Iterable['Keyframe'] = None | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> | <class 'NoneType'> |
Some properties are difficult to observe and some are Optional
.
type(C.selected_files)
type(C.selected_assets)
type(C.selected_ids)
type(C.selected_nodes)
type(C.visible_objects)
type(C.selectable_objects)
type(C.selected_objects)
type(C.editable_objects)
type(C.selected_editable_objects)
type(C.objects_in_mode)
type(C.objects_in_mode_unique_data)
type(C.visible_bones)
type(C.editable_bones)
type(C.selected_bones)
type(C.selected_editable_bones)
type(C.visible_pose_bones)
type(C.selected_pose_bones)
type(C.selected_pose_bones_from_active_object)
type(C.sequences)
type(C.selected_sequences)
type(C.selected_editable_sequences)
type(C.selected_nla_strips)
type(C.selected_movieclip_tracks)
type(C.visible_gpencil_layers)
type(C.editable_gpencil_layers)
type(C.editable_gpencil_strokes)
type(C.active_gpencil_layer)
type(C.active_gpencil_frame)
type(C.selected_visible_actions)
type(C.selected_editable_actions)
type(C.visible_fcurves)
type(C.editable_fcurves)
type(C.selected_visible_fcurves)
type(C.selected_editable_fcurves)
type(C.selected_editable_keyframes)
Member | Expected | fake-bpy-module-latest 20240511 |
---|---|---|
temp_override | (self, window: Optional[bpy.types.Window] = None, area: Optional[bpy.types.Area] = None, region: Optional[bpy.types.Region] = None, **keywords) -> Generator[bpy.types.Context, None, None] | (self, window: Optional['Window'], area: Optional['Area'], region: Optional['Region'], **keywords) -> 'bpy.context' |
Fixed a part of this issue. However, I could not find the way to check if the members (except for active_ members) are optional or not from the sphinx documentation. If you have an idea, please let us know.
System Information
Expected behavior
Context.active_object
'Object'
typing.Optional['Object']
Context.selected_objects
typing.Iterable['Object']
typing.List['Object']
Additional comments [Optional]
155