31 #include "RNA_prototypes.h"
106 #define ERROR_LIBDATA_MESSAGE TIP_("External library data")
113 if (r_ob_ptr !=
NULL) {
128 const char *vgroup_prop,
129 const char *invert_vgroup_prop,
136 if (invert_vgroup_prop !=
NULL) {
140 uiItemR(sub,
ptr, invert_vgroup_prop, 0,
"", ICON_ARROW_LEFTRIGHT);
174 if (
ELEM(particle_type,
211 "OBJECT_OT_modifier_apply");
218 "OBJECT_OT_modifier_apply_as_shapekey",
225 "OBJECT_OT_modifier_apply_as_shapekey",
240 "OBJECT_OT_modifier_copy");
246 "OBJECT_OT_modifier_copy_to_selected");
253 "OBJECT_OT_modifier_move_to_index",
268 "OBJECT_OT_modifier_move_to_index",
306 "OBJECT_OT_modifier_set_active",
314 int buttons_number = 0;
326 uiItemR(sub,
ptr,
"show_on_cage", 0,
"", ICON_NONE);
346 &apply_on_spline_always_on_hack,
351 TIP_(
"Apply on Spline"));
353 but,
TIP_(
"This modifier can only deform control points, not the filled curve/surface"));
358 uiItemR(row,
ptr,
"use_apply_on_spline", 0,
"", ICON_NONE);
367 uiItemR(sub,
ptr,
"show_in_editmode", 0,
"", ICON_NONE);
370 uiItemR(row,
ptr,
"show_viewport", 0,
"", ICON_NONE);
371 uiItemR(row,
ptr,
"show_render", 0,
"", ICON_NONE);
382 uiItemO(sub,
"", ICON_X,
"OBJECT_OT_modifier_remove");
389 row,
"", ICON_PROPERTIES,
"WM_OT_properties_context_change",
"context",
"PHYSICS");
394 row,
"", ICON_PROPERTIES,
"WM_OT_properties_context_change",
"context",
"PARTICLES");
398 bool display_name = (panel->
sizex /
UI_UNIT_X - buttons_number > 5) || (panel->
sizex == 0);
400 uiItemR(name_row,
ptr,
"name", 0,
"", ICON_NONE);
427 panel_type->
draw = draw;
458 panel_type->
draw = draw;
464 panel_type->
parent = parent;
struct Scene * CTX_data_scene(const bContext *C)
bool BKE_modifier_is_non_geometrical(ModifierData *md)
const ModifierTypeInfo * BKE_modifier_get_info(ModifierType type)
@ eModifierTypeFlag_SupportsEditmode
bool BKE_modifier_couldbe_cage(struct Scene *scene, struct ModifierData *md)
bool BKE_modifier_is_same_topology(ModifierData *md)
bool BKE_modifier_supports_cage(struct Scene *scene, struct ModifierData *md)
@ eModifierTypeType_Constructive
void BKE_modifier_type_panel_id(ModifierType type, char *r_idname)
int BKE_modifiers_get_cage_index(const struct Scene *scene, struct Object *ob, int *r_lastPossibleCageIndex, bool is_virtual)
General operations, lookup, etc. for blender objects.
@ PANEL_TYPE_DEFAULT_CLOSED
@ PANEL_TYPE_HEADER_EXPAND
struct LinkData * BLI_genericNodeN(void *data)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define CTX_IFACE_(context, msgid)
#define BLT_I18NCONTEXT_OPERATOR_DEFAULT
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
#define ID_IS_LINKED(_id)
@ eModifierMode_ApplyOnSpline
@ eModifierType_ParticleSystem
@ eModifierType_MeshDeform
@ eModifierType_Collision
@ eModifierType_DynamicPaint
Object is a sort of wrapper for general info.
@ PART_FLUID_SPRAYFOAMBUBBLE
struct Object * ED_object_active_context(const struct bContext *C)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
static short get_modifier_expand_flag(const bContext *UNUSED(C), Panel *panel)
static void modifier_reorder(bContext *C, Panel *panel, int new_index)
static void modifier_panel_header(const bContext *C, Panel *panel)
static int modifier_is_simulation(const ModifierData *md)
PointerRNA * modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
static bool modifier_ui_poll(const bContext *C, PanelType *UNUSED(pt))
void modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
static bool modifier_can_delete(ModifierData *md)
static void set_modifier_expand_flag(const bContext *UNUSED(C), Panel *panel, short expand_flag)
PanelType * modifier_panel_register(ARegionType *region_type, ModifierType type, PanelDrawFn draw)
void modifier_vgroup_ui(uiLayout *layout, PointerRNA *ptr, PointerRNA *ob_ptr, const char *vgroup_prop, const char *invert_vgroup_prop, const char *text)
PanelType * modifier_subpanel_register(ARegionType *region_type, const char *name, const char *label, PanelDrawFn draw_header, PanelDrawFn draw, PanelType *parent)
#define ERROR_LIBDATA_MESSAGE
static void modifier_ops_extra_draw(bContext *C, uiLayout *layout, void *md_v)
void uiItemBooleanO(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
void UI_but_disable(uiBut *but, const char *disabled_hint)
void uiLayoutSetActive(uiLayout *layout, bool active)
uiBlock * uiLayoutGetBlock(uiLayout *layout)
void uiLayoutSetEnabled(uiLayout *layout, bool enabled)
void UI_panel_context_pointer_set(struct Panel *panel, const char *name, struct PointerRNA *ptr)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiItemL(uiLayout *layout, const char *name, int icon)
void uiLayoutSetRedAlert(uiLayout *layout, bool redalert)
struct PointerRNA * UI_panel_custom_data_get(const struct Panel *panel)
void uiLayoutSetAlignment(uiLayout *layout, char alignment)
void uiItemS(uiLayout *layout)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
void uiLayoutSetUnitsX(uiLayout *layout, float unit)
void uiItemR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
void uiLayoutSetEmboss(uiLayout *layout, eUIEmbossType emboss)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
void uiLayoutSetContextPointer(uiLayout *layout, const char *name, struct PointerRNA *ptr)
void uiLayoutSetPropDecorate(uiLayout *layout, bool is_sep)
void uiItemFullO(uiLayout *layout, const char *opname, const char *name, int icon, struct IDProperty *properties, wmOperatorCallContext context, int flag, struct PointerRNA *r_opptr)
void uiItemStringO(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, const char *value)
void uiItemMenuF(uiLayout *layout, const char *name, int icon, uiMenuCreateFunc func, void *arg)
void UI_block_flag_enable(uiBlock *block, int flag)
uiBut * uiDefIconButBitI(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip)
void uiLayoutSetOperatorContext(uiLayout *layout, wmOperatorCallContext opcontext)
void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, struct PointerRNA *searchptr, const char *searchpropname, const char *name, int icon)
void UI_block_lock_set(uiBlock *block, bool val, const char *lockstr)
void(* PanelDrawFn)(const bContext *, struct Panel *)
void *(* MEM_callocN)(size_t len, const char *str)
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
void RNA_int_set(PointerRNA *ptr, const char *name, int value)
int RNA_struct_ui_icon(const StructRNA *type)
int RNA_string_length(PointerRNA *ptr, const char *name)
bool RNA_pointer_is_null(const PointerRNA *ptr)
struct ModifierData * next
struct ModifierData * prev
bool(* isDisabled)(const struct Scene *scene, struct ModifierData *md, bool userRenderParams)
short(* get_list_data_expand_flag)(const struct bContext *C, struct Panel *pa)
void(* draw)(const struct bContext *C, struct Panel *panel)
bool(* poll)(const struct bContext *C, struct PanelType *pt)
void(* draw_header)(const struct bContext *C, struct Panel *panel)
char idname[BKE_ST_MAXNAME]
void(* set_list_data_expand_flag)(const struct bContext *C, struct Panel *pa, short expand_flag)
char context[BKE_ST_MAXNAME]
void(* reorder)(struct bContext *C, struct Panel *pa, int new_index)
char translation_context[BKE_ST_MAXNAME]
char active_property[BKE_ST_MAXNAME]
struct PanelType * parent
char label[BKE_ST_MAXNAME]
char parent_id[BKE_ST_MAXNAME]
int WM_operator_name_call_ptr(bContext *C, wmOperatorType *ot, wmOperatorCallContext context, PointerRNA *properties, const wmEvent *event)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
void WM_operator_properties_create_ptr(PointerRNA *ptr, wmOperatorType *ot)
void WM_operator_properties_free(PointerRNA *ptr)