42 layout->
prop(fileptr,
"velocity_name",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
43 layout->
prop(fileptr,
"velocity_unit",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
57 row = &layout->
row(
false);
60 row = &layout->
row(
true,
IFACE_(
"Override Frame"));
61 sub = &row->
row(
true);
64 subsub = &sub->
row(
true);
69 row = &layout->
row(
false);
114 "UI_UL_cache_file_layers",
128 col->op(
"cachefile.layer_add",
"", ICON_ADD);
129 col->op(
"cachefile.layer_remove",
"", ICON_REMOVE);
133 col->separator(1.0f);
134 col->op(
"cachefile.layer_move",
"", ICON_TRIA_UP);
135 col->op(
"cachefile.layer_move",
"", ICON_TRIA_DOWN);
146 printf(
"%s: property not found: %s.%s\n",
154 printf(
"%s: expected pointer property for %s.%s\n",
183 uiTemplateID(layout,
C,
ptr, propname,
nullptr,
"CACHEFILE_OT_open",
nullptr);
195 row = &layout->
row(
true);
197 sub = &row->
row(
true);
198 sub->
op(
"cachefile.reload",
"", ICON_FILE_REFRESH);
201 row = &layout->
row(
false);
207 row = &layout->
row(
false);
210 row = &layout->
row(
false);
SpaceProperties * CTX_wm_space_properties(const bContext *C)
int BLI_listbase_count(const ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define STRNCPY_UTF8(dst, src)
void uiTemplateID(uiLayout *layout, const bContext *C, PointerRNA *ptr, blender::StringRefNull propname, const char *newop, const char *openop, const char *unlinkop, int filter=UI_TEMPLATE_ID_FILTER_ALL, bool live_icon=false, std::optional< blender::StringRef > text=std::nullopt)
void uiTemplateList(uiLayout *layout, const bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, blender::StringRefNull propname, PointerRNA *active_dataptr, const char *active_propname, const char *item_dyntip_propname, int rows, int maxrows, int layout_type, int columns, enum uiTemplateListFlags flags)
@ UI_TEMPLATE_LIST_FLAG_NONE
constexpr const char * c_str() const
static void cache_file_layer_item(uiList *, const bContext *, uiLayout *layout, PointerRNA *, PointerRNA *itemptr, int, PointerRNA *, const char *, int, int)
void uiTemplateCacheFileLayers(uiLayout *layout, const bContext *C, PointerRNA *fileptr)
void uiTemplateCacheFileVelocity(uiLayout *layout, PointerRNA *fileptr)
bool uiTemplateCacheFilePointer(PointerRNA *ptr, const StringRefNull propname, PointerRNA *r_file_ptr)
uiListType * UI_UL_cache_file_layers()
void uiTemplateCacheFileTimeSettings(uiLayout *layout, PointerRNA *fileptr)
void uiTemplateCacheFile(uiLayout *layout, const bContext *C, PointerRNA *ptr, const StringRefNull propname)
void * MEM_callocN(size_t len, const char *str)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
PropertyType RNA_property_type(PropertyRNA *prop)
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_struct_identifier(const StructRNA *type)
bool RNA_pointer_is_null(const PointerRNA *ptr)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
void use_property_decorate_set(bool is_sep)
void decorator(PointerRNA *ptr, PropertyRNA *prop, int index)
uiLayout & column(bool align)
void active_set(bool active)
void context_ptr_set(blender::StringRef name, const PointerRNA *ptr)
uiLayout & row(bool align)
PointerRNA op(wmOperatorType *ot, std::optional< blender::StringRef > name, int icon, blender::wm::OpCallContext context, eUI_Item_Flag flag)
void use_property_split_set(bool value)
void prop(PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, std::optional< blender::StringRef > name_opt, int icon, std::optional< blender::StringRef > placeholder=std::nullopt)
char idname[BKE_ST_MAXNAME]
uiListDrawItemFunc draw_item