def draw(self, context): node = context.active_node if not node: return layout = self.layout ntree = node.id_data has_presets = False for preset in get_presets(category=node.bl_idname, mkdir=False): has_presets = True op = layout.operator(SverchPresetReplaceOperator.bl_idname, text=preset.name) op.preset_path = preset.path op.preset_name = preset.name op.node_name = node.name if not has_presets: layout.label(text="There are no presets for this node") # In the N panel, we are showing Save button separately if hasattr(context, 'region') and context.region.type == 'WINDOW': layout.separator() layout.operator_context = 'INVOKE_DEFAULT' # otherwise Blender will not call invoke() save = layout.operator(SvSaveSelected.bl_idname, text="Save current settings as node preset", icon='SOLO_ON') save.id_tree = ntree.name save.category = node.bl_idname save.save_defaults = True
def draw(self, context): node = context.active_node if not node: return layout = self.layout ntree = node.id_data has_presets = False for preset in get_presets(category=node.bl_idname, mkdir=False): has_presets = True op = layout.operator(SverchPresetReplaceOperator.bl_idname, text=preset.name) op.preset_path = preset.path op.preset_name = preset.name op.node_name = node.name if not has_presets: layout.label(text="There are no presets for this node")