|
Blender V4.3
|
#include "BLI_listbase.h"#include "BLI_string.h"#include "MEM_guardedalloc.h"#include "BKE_context.hh"#include "BKE_modifier.hh"#include "BKE_screen.hh"#include "DNA_object_types.h"#include "DNA_particle_types.h"#include "DNA_screen_types.h"#include "ED_object.hh"#include "BLT_translation.hh"#include "UI_interface.hh"#include "UI_resources.hh"#include "RNA_access.hh"#include "RNA_prototypes.hh"#include "WM_api.hh"#include "WM_types.hh"#include "MOD_ui_common.hh"Go to the source code of this file.
Functions | |
| static bool | modifier_ui_poll (const bContext *C, PanelType *) |
Panel Drag and Drop, Expansion Saving | |
| static void | modifier_reorder (bContext *C, Panel *panel, int new_index) |
| static short | get_modifier_expand_flag (const bContext *, Panel *panel) |
| static void | set_modifier_expand_flag (const bContext *, Panel *panel, short expand_flag) |
Modifier Registration Helpers | |
| PanelType * | modifier_panel_register (ARegionType *region_type, ModifierType type, PanelDrawFn draw) |
| PanelType * | modifier_subpanel_register (ARegionType *region_type, const char *name, const char *label, PanelDrawFn draw_header, PanelDrawFn draw, PanelType *parent) |
Modifier Panel Layouts | |
| #define | ERROR_LIBDATA_MESSAGE N_("External library data") |
| void | modifier_panel_end (uiLayout *layout, PointerRNA *ptr) |
| PointerRNA * | modifier_panel_get_property_pointers (Panel *panel, PointerRNA *r_ob_ptr) |
| void | modifier_vgroup_ui (uiLayout *layout, PointerRNA *ptr, PointerRNA *ob_ptr, const char *vgroup_prop, const char *invert_vgroup_prop, const char *text) |
| void | modifier_grease_pencil_curve_header_draw (const bContext *, Panel *panel) |
| void | modifier_grease_pencil_curve_panel_draw (const bContext *, Panel *panel) |
| static int | modifier_is_simulation (const ModifierData *md) |
| static bool | modifier_can_delete (ModifierData *md) |
| static void | modifier_ops_extra_draw (bContext *C, uiLayout *layout, void *md_v) |
| static void | modifier_panel_header (const bContext *C, Panel *panel) |
Gets RNA pointers for the active object and the panel's modifier data. Also locks the layout if the modifier is from a linked object, and sets the context pointer.
Definition at line 104 of file MOD_ui_common.cc.
Referenced by modifier_panel_get_property_pointers().
Definition at line 69 of file MOD_ui_common.cc.
References PointerRNA::data, ModifierData::ui_expand_flag, and UI_panel_custom_data_get().
Referenced by modifier_panel_register().
|
static |
Definition at line 186 of file MOD_ui_common.cc.
References ELEM, eModifierType_ParticleSystem, PART_FLUID, PART_FLUID_BUBBLE, PART_FLUID_FLIP, PART_FLUID_FOAM, PART_FLUID_FOAMBUBBLE, PART_FLUID_SPRAY, PART_FLUID_SPRAYBUBBLE, PART_FLUID_SPRAYFOAM, PART_FLUID_SPRAYFOAMBUBBLE, PART_FLUID_TRACER, and ModifierData::type.
Referenced by modifier_panel_header().
Definition at line 142 of file MOD_ui_common.cc.
References Panel::layout, modifier_panel_get_property_pointers(), ptr, UI_ITEM_NONE, and uiItemR().
Definition at line 151 of file MOD_ui_common.cc.
References Panel::layout, modifier_panel_get_property_pointers(), ptr, and uiTemplateCurveMapping().
|
static |
Check whether Modifier is a simulation or not. Used for switching to the physics/particles context tab.
Definition at line 164 of file MOD_ui_common.cc.
References ELEM, eModifierType_Cloth, eModifierType_Collision, eModifierType_DynamicPaint, eModifierType_Fluid, eModifierType_Fluidsim, eModifierType_ParticleSystem, eModifierType_Softbody, eModifierType_Surface, and ModifierData::type.
Referenced by modifier_panel_header().
Definition at line 209 of file MOD_ui_common.cc.
References BKE_modifier_is_non_geometrical(), BKE_modifier_is_same_topology(), BLI_listbase_count(), BLT_I18NCONTEXT_OPERATOR_DEFAULT, blender::ed::object::context_active_object(), CTX_IFACE_, ELEM, eModifierType_Cloth, eModifierType_Fluid, eModifierType_Fluidsim, eModifierType_Nodes, eModifierType_ParticleSystem, eModifierType_Softbody, Object::id, IFACE_, Object::modifiers, OB_GREASE_PENCIL, ptr, RNA_boolean_set(), RNA_int_set(), RNA_pointer_create(), ModifierData::type, Object::type, UI_ITEM_NONE, uiItemBooleanO(), uiItemFullO(), uiItemO(), uiItemR(), uiItemS(), uiLayoutSetContextPointer(), uiLayoutSetOperatorContext(), uiLayoutSetUnitsX(), and WM_OP_INVOKE_DEFAULT.
Referenced by modifier_panel_header().
| void modifier_panel_end | ( | uiLayout * | layout, |
| PointerRNA * | ptr ) |
Draw modifier error message.
Definition at line 89 of file MOD_ui_common.cc.
References PointerRNA::data, ModifierData::error, ptr, RPT_, uiItemL(), and uiLayoutRow().
Referenced by falloff_panel_draw(), blender::panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), and panel_draw().
| PointerRNA * modifier_panel_get_property_pointers | ( | Panel * | panel, |
| PointerRNA * | r_ob_ptr ) |
Definition at line 105 of file MOD_ui_common.cc.
References BLI_assert, ERROR_LIBDATA_MESSAGE, ID_IS_EDITABLE, Panel::layout, PointerRNA::owner_id, ptr, RNA_pointer_create(), RNA_pointer_is_null(), RNA_struct_is_a(), PointerRNA::type, UI_block_lock_set(), UI_panel_context_pointer_set(), UI_panel_custom_data_get(), and uiLayoutGetBlock().
Referenced by advanced_panel_draw(), advanced_panel_draw(), advanced_panel_draw(), axis_mapping_panel_draw(), blender::bake_panel_draw(), caps_panel_draw(), blender::chaining_panel_draw(), clamp_panel_draw(), blender::composition_panel_draw(), constant_offset_draw(), constant_offset_header_draw(), data_panel_draw(), edge_data_panel_draw(), edge_panel_draw(), edge_panel_draw_header(), blender::edge_types_panel_draw(), face_corner_panel_draw(), face_corner_panel_draw_header(), face_corner_uv_panel_draw(), face_corner_vcol_panel_draw(), blender::face_mark_panel_draw(), blender::face_mark_panel_draw_header(), face_panel_draw(), face_panel_draw_header(), falloff_panel_draw(), falloff_panel_draw(), falloff_panel_draw(), falloff_panel_draw(), generate_panel_draw(), geometry_panel_draw(), influence_panel_draw(), influence_panel_draw(), influence_panel_draw(), blender::intersection_panel_draw(), layers_panel_draw(), blender::material_mask_panel_draw(), blender::material_mask_panel_draw_header(), materials_panel_draw(), mix_mode_panel_draw(), modifier_grease_pencil_curve_header_draw(), modifier_grease_pencil_curve_panel_draw(), normals_panel_draw(), normals_panel_draw(), object_offset_draw(), object_offset_header_draw(), blender::occlusion_panel_draw(), offset_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), override_layers_panel_draw(), blender::panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), path_panel_draw(), path_panel_draw_header(), position_panel_draw(), profile_panel_draw(), random_panel_draw(), random_panel_header_draw(), relative_offset_draw(), relative_offset_header_draw(), render_procedural_panel_draw(), restrictions_panel_draw(), shading_panel_draw(), shape_panel_draw(), solver_options_panel_draw(), subdivisions_panel_draw(), symmetry_panel_draw(), symmetry_panel_header_draw(), texture_panel_draw(), texture_panel_draw(), time_panel_draw(), time_panel_draw(), time_remapping_panel_draw(), transform_panel_draw(), uv_panel_draw(), velocity_panel_draw(), vert_vcol_panel_draw(), vertex_group_panel_draw(), vertex_group_panel_draw(), vertex_panel_draw(), vertex_panel_draw_header(), vertex_vgroup_panel_draw(), and blender::vgroup_panel_draw().
Definition at line 324 of file MOD_ui_common.cc.
References BKE_modifier_couldbe_cage(), BKE_modifier_get_info(), BKE_modifier_supports_cage(), BKE_modifiers_get_cage_index(), BLI_findindex(), Constructive, CTX_data_scene(), PointerRNA::data, ELEM, eModifierMode_ApplyOnSpline, eModifierMode_Realtime, eModifierType_Collision, eModifierType_Hook, eModifierType_MeshDeform, eModifierType_Smooth, eModifierType_Softbody, eModifierType_Surface, eModifierTypeFlag_SupportsEditmode, ModifierTypeInfo::flags, ModifierTypeInfo::is_disabled, Panel::layout, ModifierData::mode, modifier_can_delete(), modifier_is_simulation(), modifier_ops_extra_draw(), Object::modifiers, ModifierData::name, OB_CURVES_LEGACY, OB_FONT, OB_MESH, OB_SURF, PointerRNA::owner_id, ptr, RNA_struct_ui_icon(), RPT_, Panel::sizex, ModifierData::type, ModifierTypeInfo::type, Object::type, PointerRNA::type, UI_BTYPE_TOGGLE, UI_but_disable(), UI_EMBOSS_NONE, UI_ITEM_NONE, UI_LAYOUT_ALIGN_RIGHT, UI_panel_context_pointer_set(), UI_panel_custom_data_get(), UI_UNIT_X, UI_UNIT_Y, uiDefIconButBitI(), uiItemMenuF(), uiItemO(), uiItemR(), uiItemS(), uiItemStringO(), uiLayoutGetBlock(), uiLayoutRow(), uiLayoutSetActive(), uiLayoutSetAlignment(), uiLayoutSetEmboss(), and uiLayoutSetRedAlert().
Referenced by modifier_panel_register().
| PanelType * modifier_panel_register | ( | ARegionType * | region_type, |
| ModifierType | type, | ||
| PanelDrawFn | draw ) |
Create a panel in the context's region
Definition at line 481 of file MOD_ui_common.cc.
References PanelType::active_property, BKE_modifier_type_panel_id(), BLI_addtail(), BLT_I18NCONTEXT_DEFAULT_BPYRNA, PanelType::context, PanelType::draw, PanelType::draw_header, PanelType::flag, PanelType::get_list_data_expand_flag, get_modifier_expand_flag(), PanelType::idname, PanelType::label, modifier_panel_header(), modifier_reorder(), modifier_ui_poll(), PANEL_TYPE_HEADER_EXPAND, PANEL_TYPE_INSTANCED, ARegionType::paneltypes, PanelType::pin_to_last_property, PanelType::poll, PanelType::reorder, PanelType::set_list_data_expand_flag, set_modifier_expand_flag(), STRNCPY, and PanelType::translation_context.
Referenced by blender::panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), and panel_register().
Move a modifier to the index it's moved to after a drag and drop.
Definition at line 55 of file MOD_ui_common.cc.
References PointerRNA::data, ModifierData::name, ot, RNA_int_set(), RNA_string_set(), UI_panel_custom_data_get(), WM_OP_INVOKE_DEFAULT, WM_operator_name_call_ptr(), WM_operator_properties_create_ptr(), WM_operator_properties_free(), and WM_operatortype_find().
Referenced by modifier_panel_register().
| PanelType * modifier_subpanel_register | ( | ARegionType * | region_type, |
| const char * | name, | ||
| const char * | label, | ||
| PanelDrawFn | draw_header, | ||
| PanelDrawFn | draw, | ||
| PanelType * | parent ) |
Add a child panel to the parent.
idname. Definition at line 508 of file MOD_ui_common.cc.
References PanelType::active_property, BLI_addtail(), BLI_assert, BLI_genericNodeN(), BLT_I18NCONTEXT_DEFAULT_BPYRNA, PanelType::children, PanelType::context, PanelType::draw, PanelType::draw_header, PanelType::flag, PanelType::idname, label, PanelType::label, modifier_ui_poll(), PANEL_TYPE_DEFAULT_CLOSED, ARegionType::paneltypes, PanelType::parent, PanelType::parent_id, PanelType::poll, SNPRINTF, STRNCPY, and PanelType::translation_context.
Referenced by blender::panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), panel_register(), and panel_register().
Poll function so these modifier panels don't show for other object types with modifiers (only grease pencil currently).
Definition at line 41 of file MOD_ui_common.cc.
References blender::ed::object::context_active_object(), OB_GPENCIL_LEGACY, and Object::type.
Referenced by modifier_panel_register(), and modifier_subpanel_register().
| void modifier_vgroup_ui | ( | uiLayout * | layout, |
| PointerRNA * | ptr, | ||
| PointerRNA * | ob_ptr, | ||
| const char * | vgroup_prop, | ||
| const char * | invert_vgroup_prop, | ||
| const char * | text ) |
Helper function for modifier layouts to draw vertex group settings.
Definition at line 123 of file MOD_ui_common.cc.
References ptr, RNA_string_length(), UI_ITEM_NONE, uiItemPointerR(), uiItemR(), uiLayoutRow(), uiLayoutSetActive(), and uiLayoutSetPropDecorate().
Referenced by mix_mode_panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), restrictions_panel_draw(), vertex_group_panel_draw(), and weightvg_ui_common().
Definition at line 76 of file MOD_ui_common.cc.
References PointerRNA::data, ModifierData::ui_expand_flag, and UI_panel_custom_data_get().
Referenced by modifier_panel_register().