Skip to content

Widget Buttons

Widget buttons display interactive controls directly inside the menu — no need to open a separate panel.


INT_PROP / FLOAT_PROP

Shows an interactive number field.

  • Click and drag left/right → change the value
  • Click once → type a number directly
Field What to enter
Property Path Python path to the numeric property
Min / Max Allowed range
Step How much each drag unit changes the value
Suffix Optional text shown after the number (e.g. °, %, px)

Example — Brush Strength:

Field Value
Property Path context.tool_settings.sculpt.brush.strength
Min 0.0
Max 1.0
Step 0.01

SLIDER

Same as FLOAT_PROP but displayed as a visual progress bar. Best for 0–1 ranges like strength, opacity, or factor.

Field What to enter
Property Path Python path to a 0–1 float property
Min / Max Usually 0.0 and 1.0

Tip

Use SLIDER when the visual bar helps the user understand where they are in the range. Use FLOAT_PROP for values with arbitrary ranges.


ENUM_PROP

Shows an enum property (a list of fixed options).

Field What to enter
Property Path Python path to the enum property
Expanded True = show as a row of buttons; False = compact dropdown

Example — Object Display Type:

Field Value
Property Path context.object.display_type
Expanded True

This shows all display options (Bounds, Wire, Solid, etc.) as clickable buttons in a row.


COLOR_PROP

Shows a color swatch. The user drags on it to adjust the color interactively.

Field What to enter
Property Path Python path to the color property

Drag interactions

Action Effect
Drag left / right Change Hue
Drag up / down Change Value (brightness)
Hold Ctrl + drag left/right Change Saturation
Hold Ctrl + drag up/down Change Alpha

Example — Object Color:

Field Value
Property Path context.object.color

SEARCH_PROP

Shows a searchable dropdown: a list of names, a filter field, and the pick written somewhere.

Source — what the list contains

Field What to enter
Preset A ready-made source (materials, objects, collections…). Fills the path for you
Source Python path to the collection to list, e.g. bpy.data.materials
Name Attribute Attribute read for each row's label — name in almost every case
Max Rows Rows shown before the list scrolls
Show Filter Show the search field above the list

Target — where the pick is written

Mode Effect
Property Writes the picked name into a property path, like prop_search does
Variable Stores it in a PieMaster variable, readable from any button as pm.var('name') or as the {{name}} token

LIST

Shows a real list inside the menu — vertex groups, shape keys, UV maps — with its add / remove / move buttons.

Field What to enter
List Type Generic, Vertex Groups, Shape Keys, UV Maps, Color Attributes or Bone Collections. Anything but Generic adds the per-row toggles of that type and auto-fills the paths below
Source Collection to list, e.g. context.object.vertex_groups
Active Path Index of the active row, e.g. context.object.vertex_groups.active_index
Add / Remove Operator Operators run by the + and − buttons
Move Up / Down Operator Operators run by the arrows
Menu Operator Menu opened by the ▾ button, e.g. MESH_MT_vertex_group_context_menu
Name Attribute Attribute used as the row label
Max Rows Rows shown before the list scrolls