mirror of
https://github.com/kaosat-dev/Blender_bevy_components_workflow.git
synced 2024-12-22 23:54:10 +00:00
feat(Blenvy:Blender): upgreadable components: disable ui for external items
This commit is contained in:
parent
547315aadc
commit
fb54b0c913
@ -174,17 +174,17 @@ Blender side:
|
||||
- [x] prevent attempting to add unexisting components to targets (ie when using the component search)
|
||||
- [x] also for the bulk fix actions
|
||||
- [x] selection of nested objects in collections IS NOT WORKING !!! AHH
|
||||
- [ ] fix/ overhaul upgreadable components
|
||||
- [x] fix/ overhaul upgreadable components
|
||||
- [x] add listing of upgradeable components for
|
||||
- [x] meshes
|
||||
- [x] materials
|
||||
- [x] fix display of upgradeaeble components & co
|
||||
- [x] add clear visual distinction between internal (selectable) & non selectable ones
|
||||
- [x] do not make selection button available for external blueprints/collections
|
||||
- [ ] perhaps do not show the other buttons & inputs either ? we cannot change the values of an external library file anyway
|
||||
- [x] perhaps do not show the other buttons & inputs either ? we cannot change the values of an external library file anyway
|
||||
|
||||
- [ ] BLENVY_OT_item_select is missing handling for the other types (outside of object & collection)
|
||||
- [ ] fix selection logic
|
||||
- [x] BLENVY_OT_item_select is missing handling for the other types (outside of object & collection)
|
||||
- [x] fix selection logic
|
||||
|
||||
- [ ] hidden objects/collections only semi respected at export
|
||||
- this is because blueprints are external ?
|
||||
|
@ -339,17 +339,15 @@ class BLENVY_PT_component_tools_panel(bpy.types.Panel):
|
||||
registry = bpy.context.window_manager.components_registry
|
||||
registry_has_type_infos = registry.has_type_infos()
|
||||
selected_component = target.components_meta.component_selector
|
||||
|
||||
internal = target.library is None
|
||||
row = layout.row()
|
||||
|
||||
col = row.column()
|
||||
selector_text = f"{target.name}({item_type_short})"
|
||||
if target.library is None:
|
||||
operator = col.operator("blenvy.select_item", text=selector_text, icon="FILE_BLEND")
|
||||
operator.target_name = target.name
|
||||
operator.item_type = item_type
|
||||
else:
|
||||
col.label(text=selector_text, icon="LIBRARY_DATA_DIRECT")
|
||||
operator = col.operator("blenvy.select_item", text=selector_text, icon="FILE_BLEND")
|
||||
operator.target_name = target.name
|
||||
operator.item_type = item_type
|
||||
col.enabled = internal
|
||||
|
||||
col = row.column()
|
||||
col.label(text=status)
|
||||
@ -358,9 +356,12 @@ class BLENVY_PT_component_tools_panel(bpy.types.Panel):
|
||||
col.label(text=component_name)
|
||||
|
||||
col = row.column()
|
||||
# each components_meta has a component selector to pick components from
|
||||
components_meta = target.components_meta
|
||||
col.prop(components_meta, "component_selector", text="")
|
||||
if internal:
|
||||
# each components_meta has a component selector to pick components from
|
||||
components_meta = target.components_meta
|
||||
col.prop(components_meta, "component_selector", text="")
|
||||
else:
|
||||
col.label(text="external, cannot edit")
|
||||
|
||||
|
||||
col = row.column()
|
||||
@ -369,7 +370,7 @@ class BLENVY_PT_component_tools_panel(bpy.types.Panel):
|
||||
operator.original_name = component_name
|
||||
operator.target_items = json.dumps([(target.name, item_type)]) # tupple
|
||||
operator.target_name = target_component_name
|
||||
col.enabled = registry_has_type_infos and component_name != "" and target_component_name != "" and component_name != target_component_name
|
||||
col.enabled = internal and registry_has_type_infos and component_name != "" and target_component_name != "" and component_name != target_component_name
|
||||
|
||||
|
||||
col = row.column()
|
||||
@ -377,6 +378,7 @@ class BLENVY_PT_component_tools_panel(bpy.types.Panel):
|
||||
operator.item_name = target.name
|
||||
operator.component_name = component_name
|
||||
operator.item_type = get_selection_type(target)
|
||||
col.enabled = internal
|
||||
|
||||
def draw_invalid_items(self, layout, upgreadable_entries):
|
||||
for entry in upgreadable_entries:
|
||||
|
Loading…
Reference in New Issue
Block a user