Skip to content

scriptsmenu

ActionModel

Bases: BaseSettingsModel

Action Definition

Source code in server/settings/scriptsmenu.py
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class ActionModel(BaseSettingsModel):
    """Action Definition"""
    title: str = SettingsField("", title="Title")
    tooltip: str = SettingsField("", title="Tooltip")
    source_type: str = SettingsField(
        "file",
        title="Source Type",
        enum_resolver=source_type_enum_resolver,
        conditional_enum=True,
    )
    python: str = SettingsField(
        "",
        title="Python",
        widget="textarea",
        syntax="python",
    )
    file: str = SettingsField("", title="Filepath")

CustomMenuItemDefinition

Bases: BaseSettingsModel

Custom item Definition

Source code in server/settings/scriptsmenu.py
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
class CustomMenuItemDefinition(BaseSettingsModel):
    """Custom item Definition"""
    _layout = "expanded"

    item_type: str = SettingsField(
        "action",
        title="Type",
        enum_resolver=item_type_enum_resolver,
        conditional_enum=True,
    )
    action: ActionModel = ActionModel(
        default_factory=ActionModel,
    )
    menu: MenuItemModel = SettingsField(
        default_factory=MenuItemModel,
    )

MenuItemDefinition

Bases: BaseSettingsModel

Item Definition

Source code in server/settings/scriptsmenu.py
45
46
47
48
49
50
51
52
53
54
55
56
57
class MenuItemDefinition(BaseSettingsModel):
    """Item Definition"""
    _layout = "expanded"

    item_type: str = SettingsField(
        "action",
        title="Type",
        enum_resolver=menu_item_type_enum_resolver,
        conditional_enum=True,
    )
    action: ActionModel = ActionModel(
        default_factory=ActionModel,
    )

ScriptsmenuSettings

Bases: BaseSettingsModel

Nuke script menu project settings.

Source code in server/settings/scriptsmenu.py
87
88
89
90
91
92
93
94
95
96
97
98
99
class ScriptsmenuSettings(BaseSettingsModel):
    """Nuke script menu project settings."""
    _isGroup = True

    """# TODO: enhance settings with host api:
    - in api rename key `name` to `menu_name`
    """
    name: str = SettingsField(title="Menu name")
    definition: list[CustomMenuItemDefinition] = SettingsField(
        default_factory=list,
        title="Definition",
        description="Scriptmenu Items Definition"
    )