UI: Use instanced panel custom data instead of list index

For modifier shortcuts we added a "custom_data" field to panels.
This commit uses the same system for accessing the list data that
corresponds to each panel. This way the context is only used once
and the modifier for each panel can be accessed more easily later.

This ends up being mostly a cleanup commit with a few small changes
in interface_panel.c. The large changes in the UI functions are due
to the fact that the panel custom data is now passed around as a
single pointer instead of being created again for every panel.

The list_index variable in Panel.runtime is removed as it's now
unnecessary.

Differential Revision: https://developer.blender.org/D8559
This commit is contained in:
2020-09-02 14:13:26 -05:00
parent ff7d742350
commit ba4a2a4c8b
94 changed files with 1430 additions and 1618 deletions

View File

@@ -114,11 +114,7 @@ class ConstraintButtonsPanel(Panel):
col.prop_search(con, "subtarget", con.target, "vertex_groups", text="Vertex Group")
def get_constraint(self, context):
con = None
if context.pose_bone:
con = context.pose_bone.constraints[self.list_panel_index]
else:
con = context.object.constraints[self.list_panel_index]
con = self.custom_data
self.layout.context_pointer_set("constraint", con)
return con
@@ -963,11 +959,7 @@ class ConstraintButtonsSubPanel(Panel):
bl_options = {'DRAW_BOX'}
def get_constraint(self, context):
con = None
if context.pose_bone:
con = context.pose_bone.constraints[self.list_panel_index]
else:
con = context.object.constraints[self.list_panel_index]
con = self.custom_data
self.layout.context_pointer_set("constraint", con)
return con

View File

@@ -1698,6 +1698,8 @@ void UI_panel_category_draw_all(struct ARegion *region, const char *category_id_
struct PanelType *UI_paneltype_find(int space_id, int region_id, const char *idname);
/* Panel custom data. */
struct PointerRNA *UI_panel_custom_data_get(const struct Panel *panel);
struct PointerRNA *UI_region_panel_custom_data_under_cursor(const struct bContext *C,
const struct wmEvent *event);
void UI_panel_custom_data_set(struct Panel *panel, struct PointerRNA *custom_data);
@@ -1706,11 +1708,10 @@ void UI_panel_custom_data_set(struct Panel *panel, struct PointerRNA *custom_dat
struct Panel *UI_panel_add_instanced(struct ARegion *region,
struct ListBase *panels,
char *panel_idname,
int list_index,
struct PointerRNA *custom_data);
void UI_panels_free_instanced(const struct bContext *C, struct ARegion *region);
#define LIST_PANEL_UNIQUE_STR_LEN 4
#define INSTANCED_PANEL_UNIQUE_STR_LEN 4
void UI_list_panel_unique_str(struct Panel *panel, char *r_name);
void UI_panel_set_expand_from_list_data(const struct bContext *C, struct Panel *panel);

View File

@@ -223,21 +223,19 @@ static bool panels_need_realign(ScrArea *area, ARegion *region, Panel **r_panel_
static Panel *UI_panel_add_instanced_ex(ARegion *region,
ListBase *panels,
PanelType *panel_type,
int list_index,
PointerRNA *custom_data)
{
Panel *panel = MEM_callocN(sizeof(Panel), "instanced panel");
panel->type = panel_type;
BLI_strncpy(panel->panelname, panel_type->idname, sizeof(panel->panelname));
panel->runtime.list_index = list_index;
panel->runtime.custom_data_ptr = custom_data;
/* Add the panel's children too. Although they aren't instanced panels, we can still use this
* function to create them, as UI_panel_begin does other things we don't need to do. */
LISTBASE_FOREACH (LinkData *, child, &panel_type->children) {
PanelType *child_type = child->data;
UI_panel_add_instanced_ex(region, &panel->children, child_type, list_index, custom_data);
UI_panel_add_instanced_ex(region, &panel->children, child_type, custom_data);
}
/* Make sure the panel is added to the end of the display-order as well. This is needed for
@@ -262,8 +260,10 @@ static Panel *UI_panel_add_instanced_ex(ARegion *region,
* Called in situations where panels need to be added dynamically rather than having only one panel
* corresponding to each #PanelType.
*/
Panel *UI_panel_add_instanced(
ARegion *region, ListBase *panels, char *panel_idname, int list_index, PointerRNA *custom_data)
Panel *UI_panel_add_instanced(ARegion *region,
ListBase *panels,
char *panel_idname,
PointerRNA *custom_data)
{
ARegionType *region_type = region->type;
@@ -275,7 +275,7 @@ Panel *UI_panel_add_instanced(
return NULL;
}
return UI_panel_add_instanced_ex(region, panels, panel_type, list_index, custom_data);
return UI_panel_add_instanced_ex(region, panels, panel_type, custom_data);
}
/**
@@ -284,7 +284,9 @@ Panel *UI_panel_add_instanced(
*/
void UI_list_panel_unique_str(Panel *panel, char *r_name)
{
snprintf(r_name, LIST_PANEL_UNIQUE_STR_LEN, "%d", panel->runtime.list_index);
/* The panel sortorder will be unique for a specific panel type because the instanced
* panel list is regenerated for every change in the data order / length. */
snprintf(r_name, INSTANCED_PANEL_UNIQUE_STR_LEN, "%d", panel->sortorder);
}
/**
@@ -453,11 +455,6 @@ static void reorder_instanced_panel_list(bContext *C, ARegion *region, Panel *dr
}
MEM_freeN(panel_sort);
/* Don't reorder the panel didn't change order after being dropped. */
if (move_to_index == drag_panel->runtime.list_index) {
return;
}
/* Set the bit to tell the interface to instanced the list. */
drag_panel->flag |= PNL_INSTANCED_LIST_ORDER_CHANGED;
@@ -2482,6 +2479,11 @@ void UI_panel_custom_data_set(Panel *panel, PointerRNA *custom_data)
ui_panel_custom_data_set_recursive(panel, custom_data);
}
PointerRNA *UI_panel_custom_data_get(const Panel *panel)
{
return panel->runtime.custom_data_ptr;
}
PointerRNA *UI_region_panel_custom_data_under_cursor(const bContext *C, const wmEvent *event)
{
ARegion *region = CTX_wm_region(C);
@@ -2506,9 +2508,7 @@ PointerRNA *UI_region_panel_custom_data_under_cursor(const bContext *C, const wm
return NULL;
}
PointerRNA *customdata = panel->runtime.custom_data_ptr;
return customdata;
return UI_panel_custom_data_get(panel);
}
/** \} */

View File

@@ -1882,7 +1882,7 @@ void uiTemplateModifiers(uiLayout *UNUSED(layout), bContext *C)
PointerRNA *md_ptr = MEM_mallocN(sizeof(PointerRNA), "panel customdata");
RNA_pointer_create(&ob->id, &RNA_Modifier, md, md_ptr);
Panel *new_panel = UI_panel_add_instanced(region, &region->panels, panel_idname, i, md_ptr);
Panel *new_panel = UI_panel_add_instanced(region, &region->panels, panel_idname, md_ptr);
if (new_panel != NULL) {
UI_panel_set_expand_from_list_data(C, new_panel);
@@ -1967,10 +1967,11 @@ static ListBase *get_constraints(const bContext *C, bool use_bone_constraints)
*/
static void constraint_reorder(bContext *C, Panel *panel, int new_index)
{
const bool constraint_from_bone = constraint_panel_is_bone(panel);
ListBase *lb = get_constraints(C, constraint_from_bone);
bool constraint_from_bone = constraint_panel_is_bone(panel);
PointerRNA *con_ptr = UI_panel_custom_data_get(panel);
bConstraint *con = (bConstraint *)con_ptr->data;
bConstraint *con = BLI_findlink(lb, panel->runtime.list_index);
PointerRNA props_ptr;
wmOperatorType *ot = WM_operatortype_find("CONSTRAINT_OT_move_to_index", false);
WM_operator_properties_create_ptr(&props_ptr, ot);
@@ -1985,24 +1986,21 @@ static void constraint_reorder(bContext *C, Panel *panel, int new_index)
/**
* Get the expand flag from the active constraint to use for the panel.
*/
static short get_constraint_expand_flag(const bContext *C, Panel *panel)
static short get_constraint_expand_flag(const bContext *UNUSED(C), Panel *panel)
{
const bool constraint_from_bone = constraint_panel_is_bone(panel);
ListBase *lb = get_constraints(C, constraint_from_bone);
PointerRNA *con_ptr = UI_panel_custom_data_get(panel);
bConstraint *con = (bConstraint *)con_ptr->data;
bConstraint *con = BLI_findlink(lb, panel->runtime.list_index);
return con->ui_expand_flag;
}
/**
* Save the expand flag for the panel and sub-panels to the constraint.
*/
static void set_constraint_expand_flag(const bContext *C, Panel *panel, short expand_flag)
static void set_constraint_expand_flag(const bContext *UNUSED(C), Panel *panel, short expand_flag)
{
const bool constraint_from_bone = constraint_panel_is_bone(panel);
ListBase *lb = get_constraints(C, constraint_from_bone);
bConstraint *con = BLI_findlink(lb, panel->runtime.list_index);
PointerRNA *con_ptr = UI_panel_custom_data_get(panel);
bConstraint *con = (bConstraint *)con_ptr->data;
con->ui_expand_flag = expand_flag;
}
@@ -2057,7 +2055,7 @@ void uiTemplateConstraints(uiLayout *UNUSED(layout), bContext *C, bool use_bone_
PointerRNA *con_ptr = MEM_mallocN(sizeof(PointerRNA), "panel customdata");
RNA_pointer_create(&ob->id, &RNA_Constraint, con, con_ptr);
Panel *new_panel = UI_panel_add_instanced(region, &region->panels, panel_idname, i, con_ptr);
Panel *new_panel = UI_panel_add_instanced(region, &region->panels, panel_idname, con_ptr);
if (new_panel) {
/* Set the list panel functionality function pointers since we don't do it with python. */
@@ -2138,7 +2136,7 @@ void uiTemplateGpencilModifiers(uiLayout *UNUSED(layout), bContext *C)
PointerRNA *md_ptr = MEM_mallocN(sizeof(PointerRNA), "panel customdata");
RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md, md_ptr);
Panel *new_panel = UI_panel_add_instanced(region, &region->panels, panel_idname, i, md_ptr);
Panel *new_panel = UI_panel_add_instanced(region, &region->panels, panel_idname, md_ptr);
if (new_panel != NULL) {
UI_panel_set_expand_from_list_data(C, new_panel);
@@ -2220,7 +2218,7 @@ void uiTemplateShaderFx(uiLayout *UNUSED(layout), bContext *C)
PointerRNA *fx_ptr = MEM_mallocN(sizeof(PointerRNA), "panel customdata");
RNA_pointer_create(&ob->id, &RNA_ShaderFx, fx, fx_ptr);
Panel *new_panel = UI_panel_add_instanced(region, &region->panels, panel_idname, i, fx_ptr);
Panel *new_panel = UI_panel_add_instanced(region, &region->panels, panel_idname, fx_ptr);
if (new_panel != NULL) {
UI_panel_set_expand_from_list_data(C, new_panel);

View File

@@ -2564,11 +2564,11 @@ static void ed_panel_draw(const bContext *C,
/* Draw panel. */
char block_name[BKE_ST_MAXNAME + LIST_PANEL_UNIQUE_STR_LEN];
char block_name[BKE_ST_MAXNAME + INSTANCED_PANEL_UNIQUE_STR_LEN];
strncpy(block_name, pt->idname, BKE_ST_MAXNAME);
if (unique_panel_str != NULL) {
/* Instanced panels should have already been added at this point. */
strncat(block_name, unique_panel_str, LIST_PANEL_UNIQUE_STR_LEN);
strncat(block_name, unique_panel_str, INSTANCED_PANEL_UNIQUE_STR_LEN);
}
uiBlock *block = UI_block_begin(C, region, block_name, UI_EMBOSS);
@@ -2837,7 +2837,7 @@ void ED_region_panels_layout_ex(const bContext *C,
/* Use a unique identifier for instanced panels, otherwise an old block for a different
* panel of the same type might be found. */
char unique_panel_str[8];
char unique_panel_str[INSTANCED_PANEL_UNIQUE_STR_LEN];
UI_list_panel_unique_str(panel, unique_panel_str);
ed_panel_draw(C,
region,

View File

@@ -68,9 +68,9 @@ static bool gpencil_modifier_ui_poll(const bContext *C, PanelType *UNUSED(pt))
*/
static void gpencil_modifier_reorder(bContext *C, Panel *panel, int new_index)
{
Object *ob = ED_object_active_context(C);
PointerRNA *md_ptr = UI_panel_custom_data_get(panel);
GpencilModifierData *md = (GpencilModifierData *)md_ptr->data;
GpencilModifierData *md = BLI_findlink(&ob->greasepencil_modifiers, panel->runtime.list_index);
PointerRNA props_ptr;
wmOperatorType *ot = WM_operatortype_find("OBJECT_OT_gpencil_modifier_move_to_index", false);
WM_operator_properties_create_ptr(&props_ptr, ot);
@@ -80,18 +80,19 @@ static void gpencil_modifier_reorder(bContext *C, Panel *panel, int new_index)
WM_operator_properties_free(&props_ptr);
}
static short get_gpencil_modifier_expand_flag(const bContext *C, Panel *panel)
static short get_gpencil_modifier_expand_flag(const bContext *UNUSED(C), Panel *panel)
{
Object *ob = ED_object_active_context(C);
GpencilModifierData *md = BLI_findlink(&ob->greasepencil_modifiers, panel->runtime.list_index);
PointerRNA *md_ptr = UI_panel_custom_data_get(panel);
GpencilModifierData *md = (GpencilModifierData *)md_ptr->data;
return md->ui_expand_flag;
return 0;
}
static void set_gpencil_modifier_expand_flag(const bContext *C, Panel *panel, short expand_flag)
static void set_gpencil_modifier_expand_flag(const bContext *UNUSED(C),
Panel *panel,
short expand_flag)
{
Object *ob = ED_object_active_context(C);
GpencilModifierData *md = BLI_findlink(&ob->greasepencil_modifiers, panel->runtime.list_index);
PointerRNA *md_ptr = UI_panel_custom_data_get(panel);
GpencilModifierData *md = (GpencilModifierData *)md_ptr->data;
md->ui_expand_flag = expand_flag;
}
@@ -101,40 +102,36 @@ static void set_gpencil_modifier_expand_flag(const bContext *C, Panel *panel, sh
/** \name Modifier Panel Layouts
* \{ */
void gpencil_modifier_masking_panel_draw(const bContext *C,
Panel *panel,
bool use_material,
bool use_vertex)
void gpencil_modifier_masking_panel_draw(Panel *panel, bool use_material, bool use_vertex)
{
uiLayout *row, *col, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
bool has_layer = RNA_string_length(&ptr, "layer") != 0;
bool has_layer = RNA_string_length(ptr, "layer") != 0;
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, true);
row = uiLayoutRow(col, true);
uiItemPointerR(row, &ptr, "layer", &obj_data_ptr, "layers", NULL, ICON_GREASEPENCIL);
uiItemPointerR(row, ptr, "layer", &obj_data_ptr, "layers", NULL, ICON_GREASEPENCIL);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_layer);
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_layers", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(sub, ptr, "invert_layers", 0, "", ICON_ARROW_LEFTRIGHT);
row = uiLayoutRow(col, true);
uiItemR(row, &ptr, "layer_pass", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "layer_pass", 0, NULL, ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, RNA_int_get(&ptr, "layer_pass") != 0);
uiLayoutSetActive(sub, RNA_int_get(ptr, "layer_pass") != 0);
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_layer_pass", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(sub, ptr, "invert_layer_pass", 0, "", ICON_ARROW_LEFTRIGHT);
if (use_material) {
PointerRNA material_ptr = RNA_pointer_get(&ptr, "material");
PointerRNA material_ptr = RNA_pointer_get(ptr, "material");
bool has_material = !RNA_pointer_is_null(&material_ptr);
/* Because the Gpencil modifier material property used to be a string in an earlier version of
@@ -161,7 +158,7 @@ void gpencil_modifier_masking_panel_draw(const bContext *C,
row = uiLayoutRow(col, true);
uiLayoutSetRedAlert(row, !valid);
uiItemPointerR(row,
&ptr,
ptr,
"material",
&obj_data_ptr,
"materials",
@@ -170,46 +167,44 @@ void gpencil_modifier_masking_panel_draw(const bContext *C,
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_material);
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_materials", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(sub, ptr, "invert_materials", 0, "", ICON_ARROW_LEFTRIGHT);
row = uiLayoutRow(col, true);
uiItemR(row, &ptr, "pass_index", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "pass_index", 0, NULL, ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, RNA_int_get(&ptr, "pass_index") != 0);
uiLayoutSetActive(sub, RNA_int_get(ptr, "pass_index") != 0);
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_material_pass", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(sub, ptr, "invert_material_pass", 0, "", ICON_ARROW_LEFTRIGHT);
}
if (use_vertex) {
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0;
row = uiLayoutRow(layout, true);
uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
uiItemPointerR(row, ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_vertex_group);
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_vertex", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(sub, ptr, "invert_vertex", 0, "", ICON_ARROW_LEFTRIGHT);
}
}
void gpencil_modifier_curve_header_draw(const bContext *C, Panel *panel)
void gpencil_modifier_curve_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_custom_curve", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_custom_curve", 0, NULL, ICON_NONE);
}
void gpencil_modifier_curve_panel_draw(const bContext *C, Panel *panel)
void gpencil_modifier_curve_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiTemplateCurveMapping(layout, &ptr, "curve", 0, false, false, false, false);
uiTemplateCurveMapping(layout, ptr, "curve", 0, false, false, false, false);
}
/**
@@ -228,25 +223,22 @@ void gpencil_modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
* Gets RNA pointers for the active object and the panel's modifier data.
*/
#define ERROR_LIBDATA_MESSAGE TIP_("External library data")
void gpencil_modifier_panel_get_property_pointers(const bContext *C,
Panel *panel,
PointerRNA *r_ob_ptr,
PointerRNA *r_md_ptr)
PointerRNA *gpencil_modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
{
Object *ob = ED_object_active_context(C);
GpencilModifierData *md = BLI_findlink(&ob->greasepencil_modifiers, panel->runtime.list_index);
RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md, r_md_ptr);
PointerRNA *ptr = UI_panel_custom_data_get(panel);
BLI_assert(RNA_struct_is_a(ptr->type, &RNA_GpencilModifier));
if (r_ob_ptr != NULL) {
RNA_pointer_create(&ob->id, &RNA_Object, ob, r_ob_ptr);
RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id, r_ob_ptr);
}
uiBlock *block = uiLayoutGetBlock(panel->layout);
UI_block_lock_clear(block);
UI_block_lock_set(block, ob && ID_IS_LINKED(ob), ERROR_LIBDATA_MESSAGE);
UI_block_lock_set(block, ID_IS_LINKED((Object *)ptr->owner_id), ERROR_LIBDATA_MESSAGE);
uiLayoutSetContextPointer(panel->layout, "modifier", r_md_ptr);
uiLayoutSetContextPointer(panel->layout, "modifier", ptr);
return ptr;
}
static void gpencil_modifier_ops_extra_draw(bContext *C, uiLayout *layout, void *md_v)
@@ -311,16 +303,15 @@ static void gpencil_modifier_ops_extra_draw(bContext *C, uiLayout *layout, void
}
}
static void gpencil_modifier_panel_header(const bContext *C, Panel *panel)
static void gpencil_modifier_panel_header(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *sub;
uiLayout *layout = panel->layout;
Object *ob = ED_object_active_context(C);
GpencilModifierData *md = BLI_findlink(&ob->greasepencil_modifiers, panel->runtime.list_index);
PointerRNA ptr;
RNA_pointer_create(&ob->id, &RNA_GpencilModifier, md, &ptr);
uiLayoutSetContextPointer(panel->layout, "modifier", &ptr);
PointerRNA *ptr = UI_panel_custom_data_get(panel);
GpencilModifierData *md = (GpencilModifierData *)ptr->data;
uiLayoutSetContextPointer(panel->layout, "modifier", ptr);
const GpencilModifierTypeInfo *mti = BKE_gpencil_modifier_get_info(md->type);
bool narrow_panel = (panel->sizex < UI_UNIT_X * 9 && panel->sizex != 0);
@@ -330,12 +321,12 @@ static void gpencil_modifier_panel_header(const bContext *C, Panel *panel)
if (mti->isDisabled && mti->isDisabled(md, 0)) {
uiLayoutSetRedAlert(row, true);
}
uiItemL(row, "", RNA_struct_ui_icon(ptr.type));
uiItemL(row, "", RNA_struct_ui_icon(ptr->type));
/* Modifier name. */
row = uiLayoutRow(layout, true);
if (!narrow_panel) {
uiItemR(row, &ptr, "name", 0, "", ICON_NONE);
uiItemR(row, ptr, "name", 0, "", ICON_NONE);
}
else {
uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_RIGHT);
@@ -344,10 +335,10 @@ static void gpencil_modifier_panel_header(const bContext *C, Panel *panel)
/* Display mode buttons. */
if (mti->flags & eGpencilModifierTypeFlag_SupportsEditmode) {
sub = uiLayoutRow(row, true);
uiItemR(sub, &ptr, "show_in_editmode", 0, "", ICON_NONE);
uiItemR(sub, ptr, "show_in_editmode", 0, "", ICON_NONE);
}
uiItemR(row, &ptr, "show_viewport", 0, "", ICON_NONE);
uiItemR(row, &ptr, "show_render", 0, "", ICON_NONE);
uiItemR(row, ptr, "show_viewport", 0, "", ICON_NONE);
uiItemR(row, ptr, "show_render", 0, "", ICON_NONE);
/* Extra operators. */
// row = uiLayoutRow(layout, true);

View File

@@ -32,20 +32,15 @@ struct PanelType;
struct uiLayout;
typedef void (*PanelDrawFn)(const bContext *, Panel *);
void gpencil_modifier_masking_panel_draw(const bContext *C,
Panel *panel,
bool use_material,
bool use_vertex);
void gpencil_modifier_masking_panel_draw(Panel *panel, bool use_material, bool use_vertex);
void gpencil_modifier_curve_header_draw(const bContext *C, Panel *panel);
void gpencil_modifier_curve_panel_draw(const bContext *C, Panel *panel);
void gpencil_modifier_curve_header_draw(const bContext *UNUSED(C), Panel *panel);
void gpencil_modifier_curve_panel_draw(const bContext *UNUSED(C), Panel *panel);
void gpencil_modifier_panel_end(struct uiLayout *layout, PointerRNA *ptr);
void gpencil_modifier_panel_get_property_pointers(const bContext *C,
struct Panel *panel,
struct PointerRNA *r_ob_ptr,
struct PointerRNA *r_ptr);
struct PointerRNA *gpencil_modifier_panel_get_property_pointers(struct Panel *panel,
struct PointerRNA *r_ob_ptr);
PanelType *gpencil_modifier_panel_register(struct ARegionType *region_type,
GpencilModifierType type,

View File

@@ -195,32 +195,31 @@ static void foreachObjectLink(GpencilModifierData *md,
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *row, *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, &ob_ptr);
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0;
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
row = uiLayoutRow(layout, true);
uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
uiItemPointerR(row, ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_vertex_group);
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(sub, ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
col = uiLayoutColumnWithHeading(layout, true, IFACE_("Bind to"));
uiItemR(col, &ptr, "use_vertex_groups", 0, IFACE_("Vertex Groups"), ICON_NONE);
uiItemR(col, &ptr, "use_bone_envelopes", 0, IFACE_("Bone Envelopes"), ICON_NONE);
uiItemR(col, ptr, "use_vertex_groups", 0, IFACE_("Vertex Groups"), ICON_NONE);
uiItemR(col, ptr, "use_bone_envelopes", 0, IFACE_("Bone Envelopes"), ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -344,117 +344,109 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "count", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "replace_material", 0, IFACE_("Material Override"), ICON_NONE);
uiItemR(layout, ptr, "count", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "replace_material", 0, IFACE_("Material Override"), ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void relative_offset_header_draw(const bContext *C, Panel *panel)
static void relative_offset_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_relative_offset", 0, IFACE_("Relative Offset"), ICON_NONE);
uiItemR(layout, ptr, "use_relative_offset", 0, IFACE_("Relative Offset"), ICON_NONE);
}
static void relative_offset_draw(const bContext *C, Panel *panel)
static void relative_offset_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayout *col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_relative_offset"));
uiItemR(col, &ptr, "relative_offset", 0, IFACE_("Factor"), ICON_NONE);
uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_relative_offset"));
uiItemR(col, ptr, "relative_offset", 0, IFACE_("Factor"), ICON_NONE);
}
static void constant_offset_header_draw(const bContext *C, Panel *panel)
static void constant_offset_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_constant_offset", 0, IFACE_("Constant Offset"), ICON_NONE);
uiItemR(layout, ptr, "use_constant_offset", 0, IFACE_("Constant Offset"), ICON_NONE);
}
static void constant_offset_draw(const bContext *C, Panel *panel)
static void constant_offset_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayout *col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_constant_offset"));
uiItemR(col, &ptr, "constant_offset", 0, IFACE_("Distance"), ICON_NONE);
uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_constant_offset"));
uiItemR(col, ptr, "constant_offset", 0, IFACE_("Distance"), ICON_NONE);
}
/**
* Object offset in a subpanel for consistency with the other offset types.
*/
static void object_offset_header_draw(const bContext *C, Panel *panel)
static void object_offset_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_object_offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_object_offset", 0, NULL, ICON_NONE);
}
static void object_offset_draw(const bContext *C, Panel *panel)
static void object_offset_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayout *col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_object_offset"));
uiItemR(col, &ptr, "offset_object", 0, NULL, ICON_NONE);
uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_object_offset"));
uiItemR(col, ptr, "offset_object", 0, NULL, ICON_NONE);
}
static void random_panel_draw(const bContext *C, Panel *panel)
static void random_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "random_offset", 0, IFACE_("Offset"), ICON_NONE);
uiItemR(layout, &ptr, "random_rotation", 0, IFACE_("Rotation"), ICON_NONE);
uiItemR(layout, &ptr, "random_scale", 0, IFACE_("Scale"), ICON_NONE);
uiItemR(layout, &ptr, "seed", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "random_offset", 0, IFACE_("Offset"), ICON_NONE);
uiItemR(layout, ptr, "random_rotation", 0, IFACE_("Rotation"), ICON_NONE);
uiItemR(layout, ptr, "random_scale", 0, IFACE_("Scale"), ICON_NONE);
uiItemR(layout, ptr, "seed", 0, NULL, ICON_NONE);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, false);
gpencil_modifier_masking_panel_draw(panel, true, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -539,76 +539,73 @@ static void generateStrokes(GpencilModifierData *md, Depsgraph *depsgraph, Objec
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, &ob_ptr);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", 0, NULL, ICON_NONE);
if (mode == GP_BUILD_MODE_CONCURRENT) {
uiItemR(layout, &ptr, "concurrent_time_alignment", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "concurrent_time_alignment", 0, NULL, ICON_NONE);
}
uiItemS(layout);
uiItemR(layout, &ptr, "transition", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "start_delay", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "length", 0, IFACE_("Frames"), ICON_NONE);
uiItemR(layout, ptr, "transition", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "start_delay", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "length", 0, IFACE_("Frames"), ICON_NONE);
uiItemS(layout);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Use Factor"));
uiItemR(row, &ptr, "use_percentage", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_percentage", 0, "", ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_percentage"));
uiItemR(sub, &ptr, "percentage_factor", 0, "", ICON_NONE);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_percentage"));
uiItemR(sub, ptr, "percentage_factor", 0, "", ICON_NONE);
/* Check for incompatible time modifier. */
Object *ob = ob_ptr.data;
GpencilModifierData *md = ptr.data;
GpencilModifierData *md = ptr->data;
if (BKE_gpencil_modifiers_findby_type(ob, eGpencilModifierType_Time) != NULL) {
BKE_gpencil_modifier_set_error(md, "Build and Time Offset modifiers are incompatible");
}
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void frame_range_header_draw(const bContext *C, Panel *panel)
static void frame_range_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_restrict_frame_range", 0, IFACE_("Custom Range"), ICON_NONE);
uiItemR(layout, ptr, "use_restrict_frame_range", 0, IFACE_("Custom Range"), ICON_NONE);
}
static void frame_range_panel_draw(const bContext *C, Panel *panel)
static void frame_range_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "frame_start", 0, IFACE_("Start"), ICON_NONE);
uiItemR(col, &ptr, "frame_end", 0, IFACE_("End"), ICON_NONE);
uiItemR(col, ptr, "frame_start", 0, IFACE_("Start"), ICON_NONE);
uiItemR(col, ptr, "frame_end", 0, IFACE_("End"), ICON_NONE);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, false, false);
gpencil_modifier_masking_panel_draw(panel, false, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -197,26 +197,25 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "modify_color", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "hue", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, &ptr, "saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, &ptr, "value", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "modify_color", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "hue", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "saturation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "value", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, false);
gpencil_modifier_masking_panel_draw(panel, true, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -359,69 +359,67 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *row, *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA hook_object_ptr = RNA_pointer_get(&ptr, "object");
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
PointerRNA hook_object_ptr = RNA_pointer_get(ptr, "object");
bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0;
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "object", 0, NULL, ICON_NONE);
if (!RNA_pointer_is_null(&hook_object_ptr) &&
RNA_enum_get(&hook_object_ptr, "type") == OB_ARMATURE) {
PointerRNA hook_object_data_ptr = RNA_pointer_get(&hook_object_ptr, "data");
uiItemPointerR(
col, &ptr, "subtarget", &hook_object_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
col, ptr, "subtarget", &hook_object_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
}
row = uiLayoutRow(layout, true);
uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
uiItemPointerR(row, ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_vertex_group);
uiLayoutSetPropSep(sub, false);
uiItemR(sub, &ptr, "invert_vertex", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(sub, ptr, "invert_vertex", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(layout, &ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void falloff_panel_draw(const bContext *C, Panel *panel)
static void falloff_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
bool use_falloff = RNA_enum_get(&ptr, "falloff_type") != eWarp_Falloff_None;
bool use_falloff = RNA_enum_get(ptr, "falloff_type") != eWarp_Falloff_None;
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "falloff_type", 0, IFACE_("Type"), ICON_NONE);
uiItemR(layout, ptr, "falloff_type", 0, IFACE_("Type"), ICON_NONE);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, use_falloff);
uiItemR(row, &ptr, "falloff_radius", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "falloff_radius", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_falloff_uniform", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_falloff_uniform", 0, NULL, ICON_NONE);
if (RNA_enum_get(&ptr, "falloff_type") == eWarp_Falloff_Curve) {
uiTemplateCurveMapping(layout, &ptr, "falloff_curve", 0, false, false, false, false);
if (RNA_enum_get(ptr, "falloff_type") == eWarp_Falloff_Curve) {
uiTemplateCurveMapping(layout, ptr, "falloff_curve", 0, false, false, false, false);
}
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, false);
gpencil_modifier_masking_panel_draw(panel, true, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -222,44 +222,43 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *row, *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA hook_object_ptr = RNA_pointer_get(&ptr, "object");
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
PointerRNA hook_object_ptr = RNA_pointer_get(ptr, "object");
bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0;
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "object", 0, NULL, ICON_NONE);
if (!RNA_pointer_is_null(&hook_object_ptr) &&
RNA_enum_get(&hook_object_ptr, "type") == OB_ARMATURE) {
PointerRNA hook_object_data_ptr = RNA_pointer_get(&hook_object_ptr, "data");
uiItemPointerR(
col, &ptr, "subtarget", &hook_object_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
col, ptr, "subtarget", &hook_object_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
}
row = uiLayoutRow(layout, true);
uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
uiItemPointerR(row, ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_vertex_group);
uiLayoutSetPropSep(sub, false);
uiItemR(sub, &ptr, "invert_vertex", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(sub, ptr, "invert_vertex", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(layout, &ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, false);
gpencil_modifier_masking_panel_draw(panel, true, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -235,30 +235,29 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Axis"));
uiItemR(row, &ptr, "x_axis", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "y_axis", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "z_axis", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "x_axis", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "y_axis", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "z_axis", toggles_flag, NULL, ICON_NONE);
uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, false);
gpencil_modifier_masking_panel_draw(panel, true, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -315,57 +315,54 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "duplicates", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "duplicates", 0, NULL, ICON_NONE);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(layout, RNA_int_get(&ptr, "duplicates") > 0);
uiItemR(col, &ptr, "distance", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "offset", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiLayoutSetActive(layout, RNA_int_get(ptr, "duplicates") > 0);
uiItemR(col, ptr, "distance", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "offset", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void fade_header_draw(const bContext *C, Panel *panel)
static void fade_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_fade", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_fade", 0, NULL, ICON_NONE);
}
static void fade_panel_draw(const bContext *C, Panel *panel)
static void fade_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "use_fade"));
uiLayoutSetActive(layout, RNA_boolean_get(ptr, "use_fade"));
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "fading_center", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "fading_thickness", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, &ptr, "fading_opacity", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "fading_center", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "fading_thickness", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "fading_opacity", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, false);
gpencil_modifier_masking_panel_draw(panel, true, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -280,54 +280,51 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "factor", 0, IFACE_("Position"), ICON_NONE);
uiItemR(col, &ptr, "factor_strength", 0, IFACE_("Strength"), ICON_NONE);
uiItemR(col, &ptr, "factor_thickness", 0, IFACE_("Thickness"), ICON_NONE);
uiItemR(col, &ptr, "factor_uvs", 0, IFACE_("UV"), ICON_NONE);
uiItemR(col, &ptr, "noise_scale", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "factor", 0, IFACE_("Position"), ICON_NONE);
uiItemR(col, ptr, "factor_strength", 0, IFACE_("Strength"), ICON_NONE);
uiItemR(col, ptr, "factor_thickness", 0, IFACE_("Thickness"), ICON_NONE);
uiItemR(col, ptr, "factor_uvs", 0, IFACE_("UV"), ICON_NONE);
uiItemR(col, ptr, "noise_scale", 0, NULL, ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void random_header_draw(const bContext *C, Panel *panel)
static void random_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "random", 0, IFACE_("Randomize"), ICON_NONE);
uiItemR(layout, ptr, "random", 0, IFACE_("Randomize"), ICON_NONE);
}
static void random_panel_draw(const bContext *C, Panel *panel)
static void random_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "random"));
uiLayoutSetActive(layout, RNA_boolean_get(ptr, "random"));
uiItemR(layout, &ptr, "step", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "seed", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "step", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "seed", 0, NULL, ICON_NONE);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, true);
gpencil_modifier_masking_panel_draw(panel, true, true);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -151,25 +151,24 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "location", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "rotation", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "scale", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "location", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "rotation", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "scale", 0, NULL, ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, true);
gpencil_modifier_masking_panel_draw(panel, true, true);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -208,51 +208,48 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
int modify_color = RNA_enum_get(&ptr, "modify_color");
int modify_color = RNA_enum_get(ptr, "modify_color");
uiItemR(layout, &ptr, "modify_color", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "modify_color", 0, NULL, ICON_NONE);
if (modify_color == GP_MODIFY_COLOR_HARDNESS) {
uiItemR(layout, &ptr, "hardness", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "hardness", 0, NULL, ICON_NONE);
}
else {
uiItemR(layout, &ptr, "normalize_opacity", 0, NULL, ICON_NONE);
const char *text = (RNA_boolean_get(&ptr, "normalize_opacity")) ? IFACE_("Strength") :
uiItemR(layout, ptr, "normalize_opacity", 0, NULL, ICON_NONE);
const char *text = (RNA_boolean_get(ptr, "normalize_opacity")) ? IFACE_("Strength") :
IFACE_("Opacity Factor");
uiItemR(layout, &ptr, "hardness", 0, text, ICON_NONE);
uiItemR(layout, ptr, "hardness", 0, text, ICON_NONE);
}
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
int modify_color = RNA_enum_get(&ptr, "modify_color");
int modify_color = RNA_enum_get(ptr, "modify_color");
bool show_vertex = (modify_color != GP_MODIFY_COLOR_HARDNESS);
gpencil_modifier_masking_panel_draw(C, panel, true, show_vertex);
gpencil_modifier_masking_panel_draw(panel, true, show_vertex);
}
static void curve_header_draw(const bContext *C, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
int modify_color = RNA_enum_get(&ptr, "modify_color");
int modify_color = RNA_enum_get(ptr, "modify_color");
uiLayoutSetActive(layout, modify_color != GP_MODIFY_COLOR_HARDNESS);
gpencil_modifier_curve_header_draw(C, panel);
@@ -262,10 +259,9 @@ static void curve_panel_draw(const bContext *C, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
int modify_color = RNA_enum_get(&ptr, "modify_color");
int modify_color = RNA_enum_get(ptr, "modify_color");
uiLayoutSetActive(layout, modify_color != GP_MODIFY_COLOR_HARDNESS);
gpencil_modifier_curve_panel_draw(C, panel);

View File

@@ -142,38 +142,37 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", 0, NULL, ICON_NONE);
if (mode == GP_SIMPLIFY_FIXED) {
uiItemR(layout, &ptr, "step", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "step", 0, NULL, ICON_NONE);
}
else if (mode == GP_SIMPLIFY_ADAPTIVE) {
uiItemR(layout, &ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "factor", 0, NULL, ICON_NONE);
}
else if (mode == GP_SIMPLIFY_SAMPLE) {
uiItemR(layout, &ptr, "length", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "length", 0, NULL, ICON_NONE);
}
else if (mode == GP_SIMPLIFY_MERGE) {
uiItemR(layout, &ptr, "distance", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "distance", 0, NULL, ICON_NONE);
}
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, false);
gpencil_modifier_masking_panel_draw(panel, true, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -185,31 +185,30 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
row = uiLayoutRow(layout, true);
uiItemR(row, &ptr, "use_edit_position", UI_ITEM_R_TOGGLE, IFACE_("Position"), ICON_NONE);
uiItemR(row, &ptr, "use_edit_strength", UI_ITEM_R_TOGGLE, IFACE_("Strength"), ICON_NONE);
uiItemR(row, &ptr, "use_edit_thickness", UI_ITEM_R_TOGGLE, IFACE_("Thickness"), ICON_NONE);
uiItemR(row, &ptr, "use_edit_uv", UI_ITEM_R_TOGGLE, IFACE_("UV"), ICON_NONE);
uiItemR(row, ptr, "use_edit_position", UI_ITEM_R_TOGGLE, IFACE_("Position"), ICON_NONE);
uiItemR(row, ptr, "use_edit_strength", UI_ITEM_R_TOGGLE, IFACE_("Strength"), ICON_NONE);
uiItemR(row, ptr, "use_edit_thickness", UI_ITEM_R_TOGGLE, IFACE_("Thickness"), ICON_NONE);
uiItemR(row, ptr, "use_edit_uv", UI_ITEM_R_TOGGLE, IFACE_("UV"), ICON_NONE);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "step", 0, IFACE_("Repeat"), ICON_NONE);
uiItemR(layout, ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "step", 0, IFACE_("Repeat"), ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, true);
gpencil_modifier_masking_panel_draw(panel, true, true);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -123,24 +123,23 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "subdivision_type", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "level", 0, IFACE_("Subdivisions"), ICON_NONE);
uiItemR(layout, ptr, "subdivision_type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "level", 0, IFACE_("Subdivisions"), ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, false);
gpencil_modifier_masking_panel_draw(panel, true, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -158,25 +158,24 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", 0, NULL, ICON_NONE);
if (ELEM(mode, STROKE, STROKE_AND_FILL)) {
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "fit_method", 0, IFACE_("Stroke Fit Method"), ICON_NONE);
uiItemR(col, &ptr, "uv_offset", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "uv_scale", 0, IFACE_("Scale"), ICON_NONE);
uiItemR(col, ptr, "fit_method", 0, IFACE_("Stroke Fit Method"), ICON_NONE);
uiItemR(col, ptr, "uv_offset", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "uv_scale", 0, IFACE_("Scale"), ICON_NONE);
}
if (mode == STROKE_AND_FILL) {
@@ -185,17 +184,17 @@ static void panel_draw(const bContext *C, Panel *panel)
if (ELEM(mode, FILL, STROKE_AND_FILL)) {
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "fill_rotation", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "fill_offset", 0, IFACE_("Offset"), ICON_NONE);
uiItemR(col, &ptr, "fill_scale", 0, IFACE_("Scale"), ICON_NONE);
uiItemR(col, ptr, "fill_rotation", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "fill_offset", 0, IFACE_("Offset"), ICON_NONE);
uiItemR(col, ptr, "fill_scale", 0, IFACE_("Scale"), ICON_NONE);
}
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, true);
gpencil_modifier_masking_panel_draw(panel, true, true);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -177,30 +177,29 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "normalize_thickness", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "normalize_thickness", 0, NULL, ICON_NONE);
if (RNA_boolean_get(&ptr, "normalize_thickness")) {
uiItemR(layout, &ptr, "thickness", 0, NULL, ICON_NONE);
if (RNA_boolean_get(ptr, "normalize_thickness")) {
uiItemR(layout, ptr, "thickness", 0, NULL, ICON_NONE);
}
else {
uiItemR(layout, &ptr, "thickness_factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "thickness_factor", 0, NULL, ICON_NONE);
}
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, true);
gpencil_modifier_masking_panel_draw(panel, true, true);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -177,73 +177,70 @@ static int remapTime(struct GpencilModifierData *md,
return cfra + offset;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", 0, NULL, ICON_NONE);
col = uiLayoutColumn(layout, false);
const char *text = (mode == GP_TIME_MODE_FIX) ? IFACE_("Frame") : IFACE_("Frame Offset");
uiItemR(col, &ptr, "offset", 0, text, ICON_NONE);
uiItemR(col, ptr, "offset", 0, text, ICON_NONE);
row = uiLayoutRow(col, false);
uiLayoutSetActive(row, mode != GP_TIME_MODE_FIX);
uiItemR(row, &ptr, "frame_scale", 0, IFACE_("Scale"), ICON_NONE);
uiItemR(row, ptr, "frame_scale", 0, IFACE_("Scale"), ICON_NONE);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, mode != GP_TIME_MODE_FIX);
uiItemR(row, &ptr, "use_keep_loop", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "use_keep_loop", 0, NULL, ICON_NONE);
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void custom_range_header_draw(const bContext *C, Panel *panel)
static void custom_range_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiLayoutSetActive(layout, mode != GP_TIME_MODE_FIX);
uiItemR(layout, &ptr, "use_custom_frame_range", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_custom_frame_range", 0, NULL, ICON_NONE);
}
static void custom_range_panel_draw(const bContext *C, Panel *panel)
static void custom_range_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(
layout, (mode != GP_TIME_MODE_FIX) && (RNA_boolean_get(&ptr, "use_custom_frame_range")));
layout, (mode != GP_TIME_MODE_FIX) && (RNA_boolean_get(ptr, "use_custom_frame_range")));
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "frame_start", 0, IFACE_("Frame Start"), ICON_NONE);
uiItemR(col, &ptr, "frame_end", 0, IFACE_("End"), ICON_NONE);
uiItemR(col, ptr, "frame_start", 0, IFACE_("Frame Start"), ICON_NONE);
uiItemR(col, ptr, "frame_end", 0, IFACE_("End"), ICON_NONE);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, false, false);
gpencil_modifier_masking_panel_draw(panel, false, false);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -344,40 +344,39 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
gpencil_modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL);
int tint_type = RNA_enum_get(&ptr, "tint_type");
int tint_type = RNA_enum_get(ptr, "tint_type");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "vertex_mode", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "tint_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "vertex_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "tint_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
if (tint_type == GP_TINT_UNIFORM) {
uiItemR(layout, &ptr, "color", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "color", 0, NULL, ICON_NONE);
}
else {
col = uiLayoutColumn(layout, false);
uiLayoutSetPropSep(col, false);
uiTemplateColorRamp(col, &ptr, "colors", true);
uiTemplateColorRamp(col, ptr, "colors", true);
uiItemS(layout);
uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "radius", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "radius", 0, NULL, ICON_NONE);
}
gpencil_modifier_panel_end(layout, &ptr);
gpencil_modifier_panel_end(layout, ptr);
}
static void mask_panel_draw(const bContext *C, Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
gpencil_modifier_masking_panel_draw(C, panel, true, true);
gpencil_modifier_masking_panel_draw(panel, true, true);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -133,8 +133,7 @@ typedef struct Panel_Runtime {
/* Applied to Panel.ofsx, but saved separately so we can track changes between redraws. */
int region_ofsx;
/* For instanced panels: Index of the list item the panel corresponds to. */
int list_index;
char _pad[4];
/**
* Pointer for storing which data the panel corresponds to.

View File

@@ -405,6 +405,21 @@ static StructRNA *rna_Panel_refine(PointerRNA *ptr)
return (menu->type && menu->type->rna_ext.srna) ? menu->type->rna_ext.srna : &RNA_Panel;
}
static StructRNA *rna_Panel_custom_data_typef(PointerRNA *ptr)
{
Panel *panel = (Panel *)ptr->data;
return UI_panel_custom_data_get(panel)->type;
}
static PointerRNA rna_Panel_custom_data_get(PointerRNA *ptr)
{
Panel *panel = (Panel *)ptr->data;
/* Because the panel custom data is general we can't refine the pointer type here. */
return *UI_panel_custom_data_get(panel);
}
/* UIList */
static unsigned int rna_UIList_filter_const_FILTER_ITEM_get(PointerRNA *UNUSED(ptr))
{
@@ -1347,9 +1362,12 @@ static void rna_def_panel(BlenderRNA *brna)
RNA_def_property_string_sdna(prop, NULL, "drawname");
RNA_def_property_ui_text(prop, "Text", "XXX todo");
prop = RNA_def_int(
srna, "list_panel_index", 0, 0, INT_MAX, "Instanced Panel Data Index", "", 0, INT_MAX);
RNA_def_property_int_sdna(prop, NULL, "runtime.list_index");
prop = RNA_def_property(srna, "custom_data", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "Constraint");
RNA_def_property_pointer_sdna(prop, NULL, "runtime.custom_data_ptr");
RNA_def_property_pointer_funcs(
prop, "rna_Panel_custom_data_get", NULL, "rna_Panel_custom_data_typef", NULL);
RNA_def_property_ui_text(prop, "Custom Data", "Panel Data");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
/* registration */

View File

@@ -238,29 +238,28 @@ static void deformMatrices(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "use_deform_preserve_volume", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_multi_modifier", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_deform_preserve_volume", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_multi_modifier", 0, NULL, ICON_NONE);
col = uiLayoutColumnWithHeading(layout, true, IFACE_("Bind to"));
uiItemR(col, &ptr, "use_vertex_groups", 0, IFACE_("Vertex Groups"), ICON_NONE);
uiItemR(col, &ptr, "use_bone_envelopes", 0, IFACE_("Bone Envelopes"), ICON_NONE);
uiItemR(col, ptr, "use_vertex_groups", 0, IFACE_("Vertex Groups"), ICON_NONE);
uiItemR(col, ptr, "use_bone_envelopes", 0, IFACE_("Bone Envelopes"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -835,163 +835,152 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
return false;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "fit_type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "fit_type", 0, NULL, ICON_NONE);
int fit_type = RNA_enum_get(&ptr, "fit_type");
int fit_type = RNA_enum_get(ptr, "fit_type");
if (fit_type == MOD_ARR_FIXEDCOUNT) {
uiItemR(layout, &ptr, "count", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "count", 0, NULL, ICON_NONE);
}
else if (fit_type == MOD_ARR_FITLENGTH) {
uiItemR(layout, &ptr, "fit_length", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "fit_length", 0, NULL, ICON_NONE);
}
else if (fit_type == MOD_ARR_FITCURVE) {
uiItemR(layout, &ptr, "curve", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "curve", 0, NULL, ICON_NONE);
}
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void relative_offset_header_draw(const bContext *C, Panel *panel)
static void relative_offset_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_relative_offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_relative_offset", 0, NULL, ICON_NONE);
}
static void relative_offset_draw(const bContext *C, Panel *panel)
static void relative_offset_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayout *col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_relative_offset"));
uiItemR(col, &ptr, "relative_offset_displace", 0, IFACE_("Factor"), ICON_NONE);
uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_relative_offset"));
uiItemR(col, ptr, "relative_offset_displace", 0, IFACE_("Factor"), ICON_NONE);
}
static void constant_offset_header_draw(const bContext *C, Panel *panel)
static void constant_offset_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_constant_offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_constant_offset", 0, NULL, ICON_NONE);
}
static void constant_offset_draw(const bContext *C, Panel *panel)
static void constant_offset_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayout *col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_constant_offset"));
uiItemR(col, &ptr, "constant_offset_displace", 0, IFACE_("Distance"), ICON_NONE);
uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_constant_offset"));
uiItemR(col, ptr, "constant_offset_displace", 0, IFACE_("Distance"), ICON_NONE);
}
/**
* Object offset in a subpanel for consistency with the other offset types.
*/
static void object_offset_header_draw(const bContext *C, Panel *panel)
static void object_offset_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_object_offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_object_offset", 0, NULL, ICON_NONE);
}
static void object_offset_draw(const bContext *C, Panel *panel)
static void object_offset_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayout *col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_object_offset"));
uiItemR(col, &ptr, "offset_object", 0, IFACE_("Object"), ICON_NONE);
uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_object_offset"));
uiItemR(col, ptr, "offset_object", 0, IFACE_("Object"), ICON_NONE);
}
static void symmetry_panel_header_draw(const bContext *C, Panel *panel)
static void symmetry_panel_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_merge_vertices", 0, IFACE_("Merge"), ICON_NONE);
uiItemR(layout, ptr, "use_merge_vertices", 0, IFACE_("Merge"), ICON_NONE);
}
static void symmetry_panel_draw(const bContext *C, Panel *panel)
static void symmetry_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayout *col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_merge_vertices"));
uiItemR(col, &ptr, "merge_threshold", 0, IFACE_("Distance"), ICON_NONE);
uiItemR(col, &ptr, "use_merge_vertices_cap", 0, IFACE_("First and Last Copies"), ICON_NONE);
uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_merge_vertices"));
uiItemR(col, ptr, "merge_threshold", 0, IFACE_("Distance"), ICON_NONE);
uiItemR(col, ptr, "use_merge_vertices_cap", 0, IFACE_("First and Last Copies"), ICON_NONE);
}
static void uv_panel_draw(const bContext *C, Panel *panel)
static void uv_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "offset_u", UI_ITEM_R_EXPAND, IFACE_("Offset U"), ICON_NONE);
uiItemR(col, &ptr, "offset_v", UI_ITEM_R_EXPAND, IFACE_("V"), ICON_NONE);
uiItemR(col, ptr, "offset_u", UI_ITEM_R_EXPAND, IFACE_("Offset U"), ICON_NONE);
uiItemR(col, ptr, "offset_v", UI_ITEM_R_EXPAND, IFACE_("V"), ICON_NONE);
}
static void caps_panel_draw(const bContext *C, Panel *panel)
static void caps_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "start_cap", 0, IFACE_("Cap Start"), ICON_NONE);
uiItemR(col, &ptr, "end_cap", 0, IFACE_("End"), ICON_NONE);
uiItemR(col, ptr, "start_cap", 0, IFACE_("Cap Start"), ICON_NONE);
uiItemR(col, ptr, "end_cap", 0, IFACE_("End"), ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -276,63 +276,61 @@ static bool isDisabled(const Scene *UNUSED(scene), ModifierData *md, bool UNUSED
return (bmd->value == 0.0f);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
bool edge_bevel = RNA_enum_get(&ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
bool edge_bevel = RNA_enum_get(ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
uiItemR(layout, &ptr, "affect", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "affect", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "offset_type", 0, NULL, ICON_NONE);
if (RNA_enum_get(&ptr, "offset_type") == BEVEL_AMT_PERCENT) {
uiItemR(col, &ptr, "width_pct", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "offset_type", 0, NULL, ICON_NONE);
if (RNA_enum_get(ptr, "offset_type") == BEVEL_AMT_PERCENT) {
uiItemR(col, ptr, "width_pct", 0, NULL, ICON_NONE);
}
else {
uiItemR(col, &ptr, "width", 0, IFACE_("Amount"), ICON_NONE);
uiItemR(col, ptr, "width", 0, IFACE_("Amount"), ICON_NONE);
}
uiItemR(layout, &ptr, "segments", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "segments", 0, NULL, ICON_NONE);
uiItemS(layout);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "limit_method", 0, NULL, ICON_NONE);
int limit_method = RNA_enum_get(&ptr, "limit_method");
uiItemR(col, ptr, "limit_method", 0, NULL, ICON_NONE);
int limit_method = RNA_enum_get(ptr, "limit_method");
if (limit_method == MOD_BEVEL_ANGLE) {
sub = uiLayoutColumn(col, false);
uiLayoutSetActive(sub, edge_bevel);
uiItemR(col, &ptr, "angle_limit", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "angle_limit", 0, NULL, ICON_NONE);
}
else if (limit_method == MOD_BEVEL_VGROUP) {
modifier_vgroup_ui(col, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(col, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
}
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void profile_panel_draw(const bContext *C, Panel *panel)
static void profile_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
int profile_type = RNA_enum_get(&ptr, "profile_type");
int miter_inner = RNA_enum_get(&ptr, "miter_inner");
int miter_outer = RNA_enum_get(&ptr, "miter_outer");
bool edge_bevel = RNA_enum_get(&ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
int profile_type = RNA_enum_get(ptr, "profile_type");
int miter_inner = RNA_enum_get(ptr, "miter_inner");
int miter_outer = RNA_enum_get(ptr, "miter_outer");
bool edge_bevel = RNA_enum_get(ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
uiItemR(layout, &ptr, "profile_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "profile_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
@@ -344,7 +342,7 @@ static void profile_panel_draw(const bContext *C, Panel *panel)
(profile_type == MOD_BEVEL_PROFILE_CUSTOM && edge_bevel &&
!((miter_inner == MOD_BEVEL_MITER_SHARP) && (miter_outer == MOD_BEVEL_MITER_SHARP))));
uiItemR(row,
&ptr,
ptr,
"profile",
UI_ITEM_R_SLIDER,
(profile_type == MOD_BEVEL_PROFILE_SUPERELLIPSE) ? IFACE_("Shape") :
@@ -354,66 +352,64 @@ static void profile_panel_draw(const bContext *C, Panel *panel)
if (profile_type == MOD_BEVEL_PROFILE_CUSTOM) {
uiLayout *sub = uiLayoutColumn(layout, false);
uiLayoutSetPropDecorate(sub, false);
uiTemplateCurveProfile(sub, &ptr, "custom_profile");
uiTemplateCurveProfile(sub, ptr, "custom_profile");
}
}
}
static void geometry_panel_draw(const bContext *C, Panel *panel)
static void geometry_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
bool edge_bevel = RNA_enum_get(&ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
bool edge_bevel = RNA_enum_get(ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
uiLayoutSetPropSep(layout, true);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, edge_bevel);
uiItemR(row, &ptr, "miter_outer", 0, IFACE_("Miter Outer"), ICON_NONE);
uiItemR(row, ptr, "miter_outer", 0, IFACE_("Miter Outer"), ICON_NONE);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, edge_bevel);
uiItemR(row, &ptr, "miter_inner", 0, IFACE_("Inner"), ICON_NONE);
if (RNA_enum_get(&ptr, "miter_inner") == BEVEL_MITER_ARC) {
uiItemR(row, ptr, "miter_inner", 0, IFACE_("Inner"), ICON_NONE);
if (RNA_enum_get(ptr, "miter_inner") == BEVEL_MITER_ARC) {
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, edge_bevel);
uiItemR(row, &ptr, "spread", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "spread", 0, NULL, ICON_NONE);
}
uiItemS(layout);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, edge_bevel);
uiItemR(row, &ptr, "vmesh_method", 0, IFACE_("Intersections"), ICON_NONE);
uiItemR(layout, &ptr, "use_clamp_overlap", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "vmesh_method", 0, IFACE_("Intersections"), ICON_NONE);
uiItemR(layout, ptr, "use_clamp_overlap", 0, NULL, ICON_NONE);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, edge_bevel);
uiItemR(row, &ptr, "loop_slide", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "loop_slide", 0, NULL, ICON_NONE);
}
static void shading_panel_draw(const bContext *C, Panel *panel)
static void shading_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
bool edge_bevel = RNA_enum_get(&ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
bool edge_bevel = RNA_enum_get(ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "harden_normals", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "harden_normals", 0, NULL, ICON_NONE);
col = uiLayoutColumnWithHeading(layout, true, IFACE_("Mark"));
uiLayoutSetActive(col, edge_bevel);
uiItemR(col, &ptr, "mark_seam", 0, IFACE_("Seam"), ICON_NONE);
uiItemR(col, &ptr, "mark_sharp", 0, IFACE_("Sharp"), ICON_NONE);
uiItemR(col, ptr, "mark_seam", 0, IFACE_("Seam"), ICON_NONE);
uiItemR(col, ptr, "mark_sharp", 0, IFACE_("Sharp"), ICON_NONE);
uiItemR(layout, &ptr, "material", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "face_strength_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "material", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "face_strength_mode", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -382,32 +382,31 @@ static void requiredDataMask(Object *UNUSED(ob),
r_cddata_masks->fmask |= CD_MASK_MTFACE;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "operation", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "operation", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
const bool use_exact = RNA_enum_get(&ptr, "solver") == eBooleanModifierSolver_Exact;
const bool use_exact = RNA_enum_get(ptr, "solver") == eBooleanModifierSolver_Exact;
uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "solver", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "solver", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
if (!use_exact) {
uiItemR(layout, &ptr, "double_threshold", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "double_threshold", 0, NULL, ICON_NONE);
}
if (G.debug) {
uiLayout *col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "debug_options", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "debug_options", 0, NULL, ICON_NONE);
}
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -284,43 +284,40 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, struct
return result;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "frame_start", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "frame_duration", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_reverse", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "frame_start", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "frame_duration", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_reverse", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void random_panel_header_draw(const bContext *C, Panel *panel)
static void random_panel_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_random_order", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_random_order", 0, NULL, ICON_NONE);
}
static void random_panel_draw(const bContext *C, Panel *panel)
static void random_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "use_random_order"));
uiItemR(layout, &ptr, "seed", 0, NULL, ICON_NONE);
uiLayoutSetActive(layout, RNA_boolean_get(ptr, "use_random_order"));
uiItemR(layout, ptr, "seed", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -535,40 +535,39 @@ static void deformVertsEM(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA cast_object_ptr = RNA_pointer_get(&ptr, "object");
PointerRNA cast_object_ptr = RNA_pointer_get(ptr, "object");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "cast_type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "cast_type", 0, NULL, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Axis"));
uiItemR(row, &ptr, "use_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_z", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_z", toggles_flag, NULL, ICON_NONE);
uiItemR(layout, &ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "radius", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "size", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_radius_as_size", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "radius", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "size", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_radius_as_size", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
if (!RNA_pointer_is_null(&cast_object_ptr)) {
uiItemR(layout, &ptr, "use_transform", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_transform", 0, NULL, ICON_NONE);
}
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -264,16 +264,15 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemL(layout, IFACE_("Settings are inside the Physics tab"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -254,16 +254,15 @@ static void updateDepsgraph(ModifierData *UNUSED(md), const ModifierUpdateDepsgr
DEG_add_modifier_to_transform_relation(ctx->node, "Collision Modifier");
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemL(layout, IFACE_("Settings are inside the Physics tab"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -783,35 +783,34 @@ static void deformVertsEM(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "factor", 0, IFACE_("Factor"), ICON_NONE);
uiItemR(layout, &ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "scale", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "smooth_type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "factor", 0, IFACE_("Factor"), ICON_NONE);
uiItemR(layout, ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "scale", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "smooth_type", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemR(layout, &ptr, "use_only_smooth", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_pin_boundary", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_only_smooth", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_pin_boundary", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "rest_source", 0, NULL, ICON_NONE);
if (RNA_enum_get(&ptr, "rest_source") == MOD_CORRECTIVESMOOTH_RESTSOURCE_BIND) {
uiItemR(layout, ptr, "rest_source", 0, NULL, ICON_NONE);
if (RNA_enum_get(ptr, "rest_source") == MOD_CORRECTIVESMOOTH_RESTSOURCE_BIND) {
uiItemO(layout,
(RNA_boolean_get(&ptr, "is_bind") ? IFACE_("Unbind") : IFACE_("Bind")),
(RNA_boolean_get(ptr, "is_bind") ? IFACE_("Unbind") : IFACE_("Bind")),
ICON_NONE,
"OBJECT_OT_correctivesmooth_bind");
}
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -192,22 +192,21 @@ static void deformVertsEM(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "object", 0, IFACE_("Curve Object"), ICON_NONE);
uiItemR(layout, &ptr, "deform_axis", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, IFACE_("Curve Object"), ICON_NONE);
uiItemR(layout, ptr, "deform_axis", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -247,200 +247,187 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return result;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
row = uiLayoutRow(layout, true);
uiItemR(row, &ptr, "object", 0, IFACE_("Source"), ICON_NONE);
uiItemR(row, ptr, "object", 0, IFACE_("Source"), ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "use_object_transform", 0, "", ICON_ORIENTATION_GLOBAL);
uiItemR(sub, ptr, "use_object_transform", 0, "", ICON_ORIENTATION_GLOBAL);
uiItemR(layout, &ptr, "mix_mode", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "mix_factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mix_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mix_factor", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemO(layout, "Generate Data Layers", ICON_NONE, "OBJECT_OT_datalayout_transfer");
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void vertex_panel_draw_header(const bContext *C, Panel *panel)
static void vertex_panel_draw_header(const bContext *UNUSED(C), Panel *panel)
{
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayout *layout = panel->layout;
uiItemR(layout, &ptr, "use_vert_data", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_vert_data", 0, NULL, ICON_NONE);
}
static void vertex_panel_draw(const bContext *C, Panel *panel)
static void vertex_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
bool use_vert_data = RNA_boolean_get(&ptr, "use_vert_data");
bool use_vert_data = RNA_boolean_get(ptr, "use_vert_data");
uiLayoutSetActive(layout, use_vert_data);
uiItemR(layout, &ptr, "data_types_verts", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "data_types_verts", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "vert_mapping", 0, IFACE_("Mapping"), ICON_NONE);
uiItemR(layout, ptr, "vert_mapping", 0, IFACE_("Mapping"), ICON_NONE);
}
static void vertex_vgroup_panel_draw(const bContext *C, Panel *panel)
static void vertex_vgroup_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetActive(layout, RNA_enum_get(&ptr, "data_types_verts") & DT_TYPE_MDEFORMVERT);
uiLayoutSetActive(layout, RNA_enum_get(ptr, "data_types_verts") & DT_TYPE_MDEFORMVERT);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "layers_vgroup_select_src", 0, IFACE_("Layer Selection"), ICON_NONE);
uiItemR(layout, &ptr, "layers_vgroup_select_dst", 0, IFACE_("Layer Mapping"), ICON_NONE);
uiItemR(layout, ptr, "layers_vgroup_select_src", 0, IFACE_("Layer Selection"), ICON_NONE);
uiItemR(layout, ptr, "layers_vgroup_select_dst", 0, IFACE_("Layer Mapping"), ICON_NONE);
}
static void edge_panel_draw_header(const bContext *C, Panel *panel)
static void edge_panel_draw_header(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_edge_data", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_edge_data", 0, NULL, ICON_NONE);
}
static void edge_panel_draw(const bContext *C, Panel *panel)
static void edge_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "use_edge_data"));
uiLayoutSetActive(layout, RNA_boolean_get(ptr, "use_edge_data"));
uiItemR(layout, &ptr, "data_types_edges", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "data_types_edges", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "edge_mapping", 0, IFACE_("Mapping"), ICON_NONE);
uiItemR(layout, ptr, "edge_mapping", 0, IFACE_("Mapping"), ICON_NONE);
}
static void face_corner_panel_draw_header(const bContext *C, Panel *panel)
static void face_corner_panel_draw_header(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_loop_data", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_loop_data", 0, NULL, ICON_NONE);
}
static void face_corner_panel_draw(const bContext *C, Panel *panel)
static void face_corner_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "use_loop_data"));
uiLayoutSetActive(layout, RNA_boolean_get(ptr, "use_loop_data"));
uiItemR(layout, &ptr, "data_types_loops", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "data_types_loops", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "loop_mapping", 0, IFACE_("Mapping"), ICON_NONE);
uiItemR(layout, ptr, "loop_mapping", 0, IFACE_("Mapping"), ICON_NONE);
}
static void face_corner_vcol_panel_draw(const bContext *C, Panel *panel)
static void face_corner_vcol_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(layout, RNA_enum_get(&ptr, "data_types_loops") & DT_TYPE_VCOL);
uiLayoutSetActive(layout, RNA_enum_get(ptr, "data_types_loops") & DT_TYPE_VCOL);
uiItemR(layout, &ptr, "layers_vcol_select_src", 0, IFACE_("Layer Selection"), ICON_NONE);
uiItemR(layout, &ptr, "layers_vcol_select_dst", 0, IFACE_("Layer Mapping"), ICON_NONE);
uiItemR(layout, ptr, "layers_vcol_select_src", 0, IFACE_("Layer Selection"), ICON_NONE);
uiItemR(layout, ptr, "layers_vcol_select_dst", 0, IFACE_("Layer Mapping"), ICON_NONE);
}
static void face_corner_uv_panel_draw(const bContext *C, Panel *panel)
static void face_corner_uv_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(layout, RNA_enum_get(&ptr, "data_types_loops") & DT_TYPE_UV);
uiLayoutSetActive(layout, RNA_enum_get(ptr, "data_types_loops") & DT_TYPE_UV);
uiItemR(layout, &ptr, "layers_uv_select_src", 0, IFACE_("Layer Selection"), ICON_NONE);
uiItemR(layout, &ptr, "layers_uv_select_dst", 0, IFACE_("Layer Mapping"), ICON_NONE);
uiItemR(layout, &ptr, "islands_precision", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "layers_uv_select_src", 0, IFACE_("Layer Selection"), ICON_NONE);
uiItemR(layout, ptr, "layers_uv_select_dst", 0, IFACE_("Layer Mapping"), ICON_NONE);
uiItemR(layout, ptr, "islands_precision", 0, NULL, ICON_NONE);
}
static void face_panel_draw_header(const bContext *C, Panel *panel)
static void face_panel_draw_header(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_poly_data", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_poly_data", 0, NULL, ICON_NONE);
}
static void face_panel_draw(const bContext *C, Panel *panel)
static void face_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "use_poly_data"));
uiLayoutSetActive(layout, RNA_boolean_get(ptr, "use_poly_data"));
uiItemR(layout, &ptr, "data_types_polys", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "data_types_polys", 0, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "poly_mapping", 0, IFACE_("Mapping"), ICON_NONE);
uiItemR(layout, ptr, "poly_mapping", 0, IFACE_("Mapping"), ICON_NONE);
}
static void advanced_panel_draw(const bContext *C, Panel *panel)
static void advanced_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Max Distance"));
uiItemR(row, &ptr, "use_max_distance", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_max_distance", 0, "", ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_max_distance"));
uiItemR(sub, &ptr, "max_distance", 0, "", ICON_NONE);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_max_distance"));
uiItemR(sub, ptr, "max_distance", 0, "", ICON_NONE);
uiItemR(layout, &ptr, "ray_radius", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "ray_radius", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -226,50 +226,49 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return result;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
int decimate_type = RNA_enum_get(&ptr, "decimate_type");
int decimate_type = RNA_enum_get(ptr, "decimate_type");
char count_info[32];
snprintf(count_info, 32, "%s: %d", IFACE_("Face Count"), RNA_int_get(&ptr, "face_count"));
snprintf(count_info, 32, "%s: %d", IFACE_("Face Count"), RNA_int_get(ptr, "face_count"));
uiItemR(layout, &ptr, "decimate_type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "decimate_type", 0, NULL, ICON_NONE);
if (decimate_type == MOD_DECIM_MODE_COLLAPSE) {
uiItemR(layout, &ptr, "ratio", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "ratio", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Symmetry"));
uiLayoutSetPropDecorate(row, false);
sub = uiLayoutRow(row, true);
uiItemR(sub, &ptr, "use_symmetry", 0, "", ICON_NONE);
uiItemR(sub, ptr, "use_symmetry", 0, "", ICON_NONE);
sub = uiLayoutRow(sub, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_symmetry"));
uiItemR(sub, &ptr, "symmetry_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemDecoratorR(row, &ptr, "symmetry_axis", 0);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_symmetry"));
uiItemR(sub, ptr, "symmetry_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemDecoratorR(row, ptr, "symmetry_axis", 0);
uiItemR(layout, &ptr, "use_collapse_triangulate", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_collapse_triangulate", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
}
else if (decimate_type == MOD_DECIM_MODE_UNSUBDIV) {
uiItemR(layout, &ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "iterations", 0, NULL, ICON_NONE);
}
else { /* decimate_type == MOD_DECIM_MODE_DISSOLVE. */
uiItemR(layout, &ptr, "angle_limit", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "delimit", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_dissolve_boundaries", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "angle_limit", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "delimit", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_dissolve_boundaries", 0, NULL, ICON_NONE);
}
uiItemL(layout, count_info, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -435,31 +435,30 @@ static void panel_draw(const bContext *C, Panel *panel)
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
PointerRNA texture_ptr = RNA_pointer_get(&ptr, "texture");
PointerRNA texture_ptr = RNA_pointer_get(ptr, "texture");
bool has_texture = !RNA_pointer_is_null(&texture_ptr);
int texture_coords = RNA_enum_get(&ptr, "texture_coords");
int texture_coords = RNA_enum_get(ptr, "texture_coords");
uiLayoutSetPropSep(layout, true);
uiTemplateID(layout, C, &ptr, "texture", "texture.new", NULL, NULL, 0, ICON_NONE, NULL);
uiTemplateID(layout, C, ptr, "texture", "texture.new", NULL, NULL, 0, ICON_NONE, NULL);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, has_texture);
uiItemR(col, &ptr, "texture_coords", 0, IFACE_("Coordinates"), ICON_NONE);
uiItemR(col, ptr, "texture_coords", 0, IFACE_("Coordinates"), ICON_NONE);
if (texture_coords == MOD_DISP_MAP_OBJECT) {
uiItemR(col, &ptr, "texture_coords_object", 0, IFACE_("Object"), ICON_NONE);
PointerRNA texture_coords_obj_ptr = RNA_pointer_get(&ptr, "texture_coords_object");
uiItemR(col, ptr, "texture_coords_object", 0, IFACE_("Object"), ICON_NONE);
PointerRNA texture_coords_obj_ptr = RNA_pointer_get(ptr, "texture_coords_object");
if (!RNA_pointer_is_null(&texture_coords_obj_ptr) &&
(RNA_enum_get(&texture_coords_obj_ptr, "type") == OB_ARMATURE)) {
PointerRNA texture_coords_obj_data_ptr = RNA_pointer_get(&texture_coords_obj_ptr, "data");
uiItemPointerR(col,
&ptr,
ptr,
"texture_coords_bone",
&texture_coords_obj_data_ptr,
"bones",
@@ -468,30 +467,30 @@ static void panel_draw(const bContext *C, Panel *panel)
}
}
else if (texture_coords == MOD_DISP_MAP_UV && RNA_enum_get(&ob_ptr, "type") == OB_MESH) {
uiItemPointerR(col, &ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
uiItemPointerR(col, ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
}
uiItemS(layout);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "direction", 0, 0, ICON_NONE);
if (ELEM(RNA_enum_get(&ptr, "direction"),
uiItemR(col, ptr, "direction", 0, 0, ICON_NONE);
if (ELEM(RNA_enum_get(ptr, "direction"),
MOD_DISP_DIR_X,
MOD_DISP_DIR_Y,
MOD_DISP_DIR_Z,
MOD_DISP_DIR_RGB_XYZ)) {
uiItemR(col, &ptr, "space", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "space", 0, NULL, ICON_NONE);
}
uiItemS(layout);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "strength", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "mid_level", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "strength", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "mid_level", 0, NULL, ICON_NONE);
modifier_vgroup_ui(col, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(col, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -183,16 +183,15 @@ static void foreachTexLink(ModifierData *UNUSED(md),
// walk(userData, ob, md, ""); /* re-enable when possible */
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemL(layout, IFACE_("Settings are inside the Physics tab"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -138,25 +138,24 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *UNUSED(ctx)
return result;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Edge Angle"));
uiItemR(row, &ptr, "use_edge_angle", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_edge_angle", 0, "", ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_edge_angle"));
uiItemR(sub, &ptr, "split_angle", 0, "", ICON_NONE);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_edge_angle"));
uiItemR(sub, ptr, "split_angle", 0, "", ICON_NONE);
uiItemR(layout, &ptr, "use_edge_sharp", 0, IFACE_("Sharp Edges"), ICON_NONE);
uiItemR(layout, ptr, "use_edge_sharp", 0, IFACE_("Sharp Edges"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -1186,43 +1186,42 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return mesh;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *col;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0;
uiLayoutSetPropSep(layout, true);
uiItemPointerR(layout, &ptr, "particle_uv", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
uiItemPointerR(layout, ptr, "particle_uv", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Show"));
uiItemR(row, &ptr, "show_alive", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "show_dead", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "show_unborn", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "show_alive", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "show_dead", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "show_unborn", toggles_flag, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "use_edge_cut", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_size", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_edge_cut", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_size", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, has_vertex_group);
uiItemR(row, &ptr, "protect", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "protect", 0, NULL, ICON_NONE);
uiItemO(layout, IFACE_("Refresh"), ICON_NONE, "OBJECT_OT_explode_refresh");
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -205,16 +205,15 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemL(layout, IFACE_("Settings are inside the Physics tab"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -455,30 +455,29 @@ static void deformVertsEM(struct ModifierData *md,
deformVerts_do(hmd, ctx, ctx->object, mesh, mesh ? NULL : editData, vertexCos, numVerts);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA hook_object_ptr = RNA_pointer_get(&ptr, "object");
PointerRNA hook_object_ptr = RNA_pointer_get(ptr, "object");
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "object", 0, NULL, ICON_NONE);
if (!RNA_pointer_is_null(&hook_object_ptr) &&
RNA_enum_get(&hook_object_ptr, "type") == OB_ARMATURE) {
PointerRNA hook_object_data_ptr = RNA_pointer_get(&hook_object_ptr, "data");
uiItemPointerR(
col, &ptr, "subtarget", &hook_object_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
col, ptr, "subtarget", &hook_object_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
}
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemR(layout, &ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
if (RNA_enum_get(&ob_ptr, "mode") == OB_MODE_EDIT) {
row = uiLayoutRow(layout, true);
@@ -489,31 +488,30 @@ static void panel_draw(const bContext *C, Panel *panel)
uiItemO(row, "Assign", ICON_NONE, "OBJECT_OT_hook_assign");
}
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void falloff_panel_draw(const bContext *C, Panel *panel)
static void falloff_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
bool use_falloff = RNA_enum_get(&ptr, "falloff_type") != eWarp_Falloff_None;
bool use_falloff = RNA_enum_get(ptr, "falloff_type") != eWarp_Falloff_None;
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "falloff_type", 0, IFACE_("Type"), ICON_NONE);
uiItemR(layout, ptr, "falloff_type", 0, IFACE_("Type"), ICON_NONE);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, use_falloff);
uiItemR(row, &ptr, "falloff_radius", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "falloff_radius", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_falloff_uniform", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_falloff_uniform", 0, NULL, ICON_NONE);
if (RNA_enum_get(&ptr, "falloff_type") == eWarp_Falloff_Curve) {
uiTemplateCurveMapping(layout, &ptr, "falloff_curve", 0, false, false, false, false);
if (RNA_enum_get(ptr, "falloff_type") == eWarp_Falloff_Curve) {
uiTemplateCurveMapping(layout, ptr, "falloff_curve", 0, false, false, false, false);
}
}

View File

@@ -822,23 +822,22 @@ static void freeData(ModifierData *md)
lmd->total_verts = 0;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
bool is_bind = RNA_boolean_get(&ptr, "is_bind");
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
bool is_bind = RNA_boolean_get(ptr, "is_bind");
bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0;
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "iterations", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemS(layout);
@@ -849,7 +848,7 @@ static void panel_draw(const bContext *C, Panel *panel)
ICON_NONE,
"OBJECT_OT_laplaciandeform_bind");
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -584,34 +584,33 @@ static void deformVertsEM(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "iterations", 0, NULL, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Axis"));
uiItemR(row, &ptr, "use_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_z", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_z", toggles_flag, NULL, ICON_NONE);
uiItemR(layout, &ptr, "lambda_factor", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "lambda_border", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "lambda_factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "lambda_border", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_volume_preserve", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_normalized", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_volume_preserve", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_normalized", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -147,23 +147,22 @@ static void deformVertsEM(ModifierData *md,
lmd->object, ctx->object, vertexCos, numVerts, lmd->flag, lmd->name, lmd->strength, em);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemR(layout, &ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -398,35 +398,34 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
return mmd->ob_arm && mmd->ob_arm->type != OB_ARMATURE;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiItemR(layout, &ptr, "mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
if (mode == MOD_MASK_MODE_ARM) {
row = uiLayoutRow(layout, true);
uiItemR(row, &ptr, "armature", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "armature", 0, NULL, ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
uiItemR(sub, ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
}
else if (mode == MOD_MASK_MODE_VGROUP) {
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
}
uiItemR(layout, &ptr, "threshold", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "threshold", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -297,72 +297,69 @@ static void deformVertsEM(ModifierData *md,
meshcache_do(mcmd, scene, ctx->object, vertexCos, numVerts);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "cache_format", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "filepath", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "cache_format", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "filepath", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "factor", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, &ptr, "deform_mode", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "interpolation", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "factor", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "deform_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "interpolation", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void time_remapping_panel_draw(const bContext *C, Panel *panel)
static void time_remapping_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "time_mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "time_mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "play_mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "play_mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
if (RNA_enum_get(&ptr, "play_mode") == MOD_MESHCACHE_PLAY_CFEA) {
uiItemR(layout, &ptr, "frame_start", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "frame_scale", 0, NULL, ICON_NONE);
if (RNA_enum_get(ptr, "play_mode") == MOD_MESHCACHE_PLAY_CFEA) {
uiItemR(layout, ptr, "frame_start", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "frame_scale", 0, NULL, ICON_NONE);
}
else { /* play_mode == MOD_MESHCACHE_PLAY_EVAL */
int time_mode = RNA_enum_get(&ptr, "time_mode");
int time_mode = RNA_enum_get(ptr, "time_mode");
if (time_mode == MOD_MESHCACHE_TIME_FRAME) {
uiItemR(layout, &ptr, "eval_frame", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "eval_frame", 0, NULL, ICON_NONE);
}
else if (time_mode == MOD_MESHCACHE_TIME_SECONDS) {
uiItemR(layout, &ptr, "eval_time", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "eval_time", 0, NULL, ICON_NONE);
}
else { /* time_mode == MOD_MESHCACHE_TIME_FACTOR */
uiItemR(layout, &ptr, "eval_factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "eval_factor", 0, NULL, ICON_NONE);
}
}
}
static void axis_mapping_panel_draw(const bContext *C, Panel *panel)
static void axis_mapping_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, true);
uiLayoutSetRedAlert(col, RNA_enum_get(&ptr, "forward_axis") == RNA_enum_get(&ptr, "up_axis"));
uiItemR(col, &ptr, "forward_axis", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "up_axis", 0, NULL, ICON_NONE);
uiLayoutSetRedAlert(col, RNA_enum_get(ptr, "forward_axis") == RNA_enum_get(ptr, "up_axis"));
uiItemR(col, ptr, "forward_axis", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "up_axis", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "flip_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "flip_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -560,36 +560,35 @@ void BKE_modifier_mdef_compact_influences(ModifierData *md)
mmd->bindweights = NULL;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
bool is_bound = RNA_boolean_get(&ptr, "is_bound");
bool is_bound = RNA_boolean_get(ptr, "is_bound");
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, true);
uiLayoutSetEnabled(col, !is_bound);
uiItemR(col, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "object", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
col = uiLayoutColumn(layout, false);
uiLayoutSetEnabled(col, !is_bound);
uiItemR(col, &ptr, "precision", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_dynamic_bind", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "precision", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_dynamic_bind", 0, NULL, ICON_NONE);
uiItemO(layout,
is_bound ? IFACE_("Unbind") : IFACE_("Bind"),
ICON_NONE,
"OBJECT_OT_meshdeform_bind");
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -222,28 +222,27 @@ static void panel_draw(const bContext *C, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA cache_file_ptr = RNA_pointer_get(&ptr, "cache_file");
PointerRNA cache_file_ptr = RNA_pointer_get(ptr, "cache_file");
bool has_cache_file = !RNA_pointer_is_null(&cache_file_ptr);
uiLayoutSetPropSep(layout, true);
uiTemplateCacheFile(layout, C, &ptr, "cache_file");
uiTemplateCacheFile(layout, C, ptr, "cache_file");
if (has_cache_file) {
uiItemPointerR(layout, &ptr, "object_path", &cache_file_ptr, "object_paths", NULL, ICON_NONE);
uiItemPointerR(layout, ptr, "object_path", &cache_file_ptr, "object_paths", NULL, ICON_NONE);
}
if (RNA_enum_get(&ob_ptr, "type") == OB_MESH) {
uiItemR(layout, &ptr, "read_data", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "read_data", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
}
uiItemR(layout, &ptr, "velocity_scale", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "velocity_scale", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -124,60 +124,58 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return result;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *col, *sub;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PropertyRNA *prop;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
col = uiLayoutColumn(layout, false);
uiLayoutSetPropSep(col, true);
prop = RNA_struct_find_property(&ptr, "use_axis");
prop = RNA_struct_find_property(ptr, "use_axis");
row = uiLayoutRowWithHeading(col, true, IFACE_("Axis"));
uiItemFullR(row, &ptr, prop, 0, 0, toggles_flag, IFACE_("X"), ICON_NONE);
uiItemFullR(row, &ptr, prop, 1, 0, toggles_flag, IFACE_("Y"), ICON_NONE);
uiItemFullR(row, &ptr, prop, 2, 0, toggles_flag, IFACE_("Z"), ICON_NONE);
uiItemFullR(row, ptr, prop, 0, 0, toggles_flag, IFACE_("X"), ICON_NONE);
uiItemFullR(row, ptr, prop, 1, 0, toggles_flag, IFACE_("Y"), ICON_NONE);
uiItemFullR(row, ptr, prop, 2, 0, toggles_flag, IFACE_("Z"), ICON_NONE);
prop = RNA_struct_find_property(&ptr, "use_bisect_axis");
prop = RNA_struct_find_property(ptr, "use_bisect_axis");
row = uiLayoutRowWithHeading(col, true, IFACE_("Bisect"));
uiItemFullR(row, &ptr, prop, 0, 0, toggles_flag, IFACE_("X"), ICON_NONE);
uiItemFullR(row, &ptr, prop, 1, 0, toggles_flag, IFACE_("Y"), ICON_NONE);
uiItemFullR(row, &ptr, prop, 2, 0, toggles_flag, IFACE_("Z"), ICON_NONE);
uiItemFullR(row, ptr, prop, 0, 0, toggles_flag, IFACE_("X"), ICON_NONE);
uiItemFullR(row, ptr, prop, 1, 0, toggles_flag, IFACE_("Y"), ICON_NONE);
uiItemFullR(row, ptr, prop, 2, 0, toggles_flag, IFACE_("Z"), ICON_NONE);
prop = RNA_struct_find_property(&ptr, "use_bisect_flip_axis");
prop = RNA_struct_find_property(ptr, "use_bisect_flip_axis");
row = uiLayoutRowWithHeading(col, true, IFACE_("Flip"));
uiItemFullR(row, &ptr, prop, 0, 0, toggles_flag, IFACE_("X"), ICON_NONE);
uiItemFullR(row, &ptr, prop, 1, 0, toggles_flag, IFACE_("Y"), ICON_NONE);
uiItemFullR(row, &ptr, prop, 2, 0, toggles_flag, IFACE_("Z"), ICON_NONE);
uiItemFullR(row, ptr, prop, 0, 0, toggles_flag, IFACE_("X"), ICON_NONE);
uiItemFullR(row, ptr, prop, 1, 0, toggles_flag, IFACE_("Y"), ICON_NONE);
uiItemFullR(row, ptr, prop, 2, 0, toggles_flag, IFACE_("Z"), ICON_NONE);
uiItemS(col);
uiItemR(col, &ptr, "mirror_object", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "mirror_object", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_clip", 0, IFACE_("Clipping"), ICON_NONE);
uiItemR(col, ptr, "use_clip", 0, IFACE_("Clipping"), ICON_NONE);
row = uiLayoutRowWithHeading(col, true, IFACE_("Merge"));
uiItemR(row, &ptr, "use_mirror_merge", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_mirror_merge", 0, "", ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_mirror_merge"));
uiItemR(sub, &ptr, "merge_threshold", 0, "", ICON_NONE);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_mirror_merge"));
uiItemR(sub, ptr, "merge_threshold", 0, "", ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void data_panel_draw(const bContext *C, Panel *panel)
static void data_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col, *row, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
@@ -185,27 +183,27 @@ static void data_panel_draw(const bContext *C, Panel *panel)
row = uiLayoutRowWithHeading(col, true, IFACE_("Mirror U"));
uiLayoutSetPropDecorate(row, false);
sub = uiLayoutRow(row, true);
uiItemR(sub, &ptr, "use_mirror_u", 0, "", ICON_NONE);
uiItemR(sub, ptr, "use_mirror_u", 0, "", ICON_NONE);
sub = uiLayoutRow(sub, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_mirror_u"));
uiItemR(sub, &ptr, "mirror_offset_u", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemDecoratorR(row, &ptr, "mirror_offset_u", 0);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_mirror_u"));
uiItemR(sub, ptr, "mirror_offset_u", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemDecoratorR(row, ptr, "mirror_offset_u", 0);
row = uiLayoutRowWithHeading(col, true, IFACE_("V"));
uiLayoutSetPropDecorate(row, false);
sub = uiLayoutRow(row, true);
uiItemR(sub, &ptr, "use_mirror_v", 0, "", ICON_NONE);
uiItemR(sub, ptr, "use_mirror_v", 0, "", ICON_NONE);
sub = uiLayoutRow(sub, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_mirror_v"));
uiItemR(sub, &ptr, "mirror_offset_v", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemDecoratorR(row, &ptr, "mirror_offset_v", 0);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_mirror_v"));
uiItemR(sub, ptr, "mirror_offset_v", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemDecoratorR(row, ptr, "mirror_offset_v", 0);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "offset_u", UI_ITEM_R_SLIDER, IFACE_("Offset U"), ICON_NONE);
uiItemR(col, &ptr, "offset_v", UI_ITEM_R_SLIDER, IFACE_("V"), ICON_NONE);
uiItemR(col, ptr, "offset_u", UI_ITEM_R_SLIDER, IFACE_("Offset U"), ICON_NONE);
uiItemR(col, ptr, "offset_v", UI_ITEM_R_SLIDER, IFACE_("V"), ICON_NONE);
uiItemR(layout, &ptr, "use_mirror_vertex_groups", 0, IFACE_("Vertex Groups"), ICON_NONE);
uiItemR(layout, &ptr, "use_mirror_udim", 0, IFACE_("Flip UDIM"), ICON_NONE);
uiItemR(layout, ptr, "use_mirror_vertex_groups", 0, IFACE_("Vertex Groups"), ICON_NONE);
uiItemR(layout, ptr, "use_mirror_udim", 0, IFACE_("Flip UDIM"), ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -333,39 +333,37 @@ static void panel_draw(const bContext *C, Panel *panel)
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "levels", 0, IFACE_("Level Viewport"), ICON_NONE);
uiItemR(col, &ptr, "sculpt_levels", 0, IFACE_("Sculpt"), ICON_NONE);
uiItemR(col, &ptr, "render_levels", 0, IFACE_("Render"), ICON_NONE);
uiItemR(col, ptr, "levels", 0, IFACE_("Level Viewport"), ICON_NONE);
uiItemR(col, ptr, "sculpt_levels", 0, IFACE_("Sculpt"), ICON_NONE);
uiItemR(col, ptr, "render_levels", 0, IFACE_("Render"), ICON_NONE);
const bool is_sculpt_mode = CTX_data_active_object(C)->mode & OB_MODE_SCULPT;
uiBlock *block = uiLayoutGetBlock(panel->layout);
UI_block_lock_set(block, !is_sculpt_mode, IFACE_("Sculpt Base Mesh"));
uiItemR(col, &ptr, "use_sculpt_base_mesh", 0, IFACE_("Sculpt Base Mesh"), ICON_NONE);
uiItemR(col, ptr, "use_sculpt_base_mesh", 0, IFACE_("Sculpt Base Mesh"), ICON_NONE);
UI_block_lock_clear(block);
uiItemR(layout, &ptr, "show_only_control_edges", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "show_only_control_edges", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void subdivisions_panel_draw(const bContext *C, Panel *panel)
static void subdivisions_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetEnabled(layout, RNA_enum_get(&ob_ptr, "mode") != OB_MODE_EDIT);
MultiresModifierData *mmd = (MultiresModifierData *)ptr.data;
MultiresModifierData *mmd = (MultiresModifierData *)ptr->data;
/**
* Changing some of the properties can not be done once there is an
@@ -418,14 +416,13 @@ static void subdivisions_panel_draw(const bContext *C, Panel *panel)
uiItemO(layout, IFACE_("Delete Higher"), ICON_NONE, "OBJECT_OT_multires_higher_levels_delete");
}
static void shape_panel_draw(const bContext *C, Panel *panel)
static void shape_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetEnabled(layout, RNA_enum_get(&ob_ptr, "mode") != OB_MODE_EDIT);
@@ -434,16 +431,15 @@ static void shape_panel_draw(const bContext *C, Panel *panel)
uiItemO(row, IFACE_("Apply Base"), ICON_NONE, "OBJECT_OT_multires_base_apply");
}
static void generate_panel_draw(const bContext *C, Panel *panel)
static void generate_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col, *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
MultiresModifierData *mmd = (MultiresModifierData *)ptr.data;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
MultiresModifierData *mmd = (MultiresModifierData *)ptr->data;
bool is_external = RNA_boolean_get(&ptr, "is_external");
bool is_external = RNA_boolean_get(ptr, "is_external");
if (mmd->totlvl == 0) {
uiItemO(
@@ -456,36 +452,35 @@ static void generate_panel_draw(const bContext *C, Panel *panel)
uiItemO(row, IFACE_("Pack External"), ICON_NONE, "OBJECT_OT_multires_external_pack");
uiLayoutSetPropSep(col, true);
row = uiLayoutRow(col, false);
uiItemR(row, &ptr, "filepath", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "filepath", 0, NULL, ICON_NONE);
}
else {
uiItemO(col, IFACE_("Save External..."), ICON_NONE, "OBJECT_OT_multires_external_save");
}
}
static void advanced_panel_draw(const bContext *C, Panel *panel)
static void advanced_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
bool has_displacement = RNA_int_get(&ptr, "total_levels") != 0;
bool has_displacement = RNA_int_get(ptr, "total_levels") != 0;
uiLayoutSetPropSep(layout, true);
uiLayoutSetEnabled(layout, !has_displacement);
uiItemR(layout, &ptr, "subdivision_type", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "quality", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "subdivision_type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "quality", 0, NULL, ICON_NONE);
col = uiLayoutColumn(layout, false);
uiLayoutSetEnabled(col, true);
uiItemR(col, &ptr, "uv_smooth", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "uv_smooth", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_creases", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_custom_normals", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_creases", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_custom_normals", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -702,75 +702,72 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return normalEditModifier_do((NormalEditModifierData *)md, ctx, ctx->object, mesh);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiItemR(layout, &ptr, "mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "target", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "target", 0, NULL, ICON_NONE);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, mode == MOD_NORMALEDIT_MODE_DIRECTIONAL);
uiItemR(col, &ptr, "use_direction_parallel", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_direction_parallel", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
/* This panel could be open by default, but it isn't currently. */
static void mix_mode_panel_draw(const bContext *C, Panel *panel)
static void mix_mode_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "mix_mode", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "mix_factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mix_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mix_factor", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
row = uiLayoutRow(layout, true);
uiItemR(row, &ptr, "mix_limit", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "mix_limit", 0, NULL, ICON_NONE);
uiItemR(row,
&ptr,
ptr,
"no_polynors_fix",
0,
"",
(RNA_boolean_get(&ptr, "no_polynors_fix") ? ICON_LOCKED : ICON_UNLOCKED));
(RNA_boolean_get(ptr, "no_polynors_fix") ? ICON_LOCKED : ICON_UNLOCKED));
}
static void offset_panel_draw(const bContext *C, Panel *panel)
static void offset_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
int mode = RNA_enum_get(&ptr, "mode");
PointerRNA target_ptr = RNA_pointer_get(&ptr, "target");
int mode = RNA_enum_get(ptr, "mode");
PointerRNA target_ptr = RNA_pointer_get(ptr, "target");
bool needs_object_offset = (mode == MOD_NORMALEDIT_MODE_RADIAL &&
RNA_pointer_is_null(&target_ptr)) ||
(mode == MOD_NORMALEDIT_MODE_DIRECTIONAL &&
RNA_boolean_get(&ptr, "use_direction_parallel"));
RNA_boolean_get(ptr, "use_direction_parallel"));
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(layout, needs_object_offset);
uiItemR(layout, &ptr, "offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "offset", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -546,169 +546,160 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return result;
}
// #define WITH_OCEANSIM
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
#ifdef WITH_OCEANSIM
uiLayout *col, *sub;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "geometry_mode", 0, NULL, ICON_NONE);
if (RNA_enum_get(&ptr, "geometry_mode") == MOD_OCEAN_GEOM_GENERATE) {
uiItemR(col, ptr, "geometry_mode", 0, NULL, ICON_NONE);
if (RNA_enum_get(ptr, "geometry_mode") == MOD_OCEAN_GEOM_GENERATE) {
sub = uiLayoutColumn(col, true);
uiItemR(sub, &ptr, "repeat_x", 0, IFACE_("Repeat X"), ICON_NONE);
uiItemR(sub, &ptr, "repeat_y", 0, IFACE_("Y"), ICON_NONE);
uiItemR(sub, ptr, "repeat_x", 0, IFACE_("Repeat X"), ICON_NONE);
uiItemR(sub, ptr, "repeat_y", 0, IFACE_("Y"), ICON_NONE);
}
sub = uiLayoutColumn(col, true);
uiItemR(sub, &ptr, "viewport_resolution", 0, IFACE_("Resolution Viewport"), ICON_NONE);
uiItemR(sub, &ptr, "resolution", 0, IFACE_("Render"), ICON_NONE);
uiItemR(sub, ptr, "viewport_resolution", 0, IFACE_("Resolution Viewport"), ICON_NONE);
uiItemR(sub, ptr, "resolution", 0, IFACE_("Render"), ICON_NONE);
uiItemR(col, &ptr, "time", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "time", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "depth", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "size", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "spatial_size", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "depth", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "size", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "spatial_size", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "random_seed", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "random_seed", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_normals", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_normals", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
#else /* WITH_OCEANSIM */
uiItemL(layout, IFACE_("Built without Ocean modifier"), ICON_NONE);
UNUSED_VARS(C);
#endif /* WITH_OCEANSIM */
}
#ifdef WITH_OCEANSIM
static void waves_panel_draw(const bContext *C, Panel *panel)
static void waves_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "wave_scale", 0, IFACE_("Scale"), ICON_NONE);
uiItemR(col, &ptr, "wave_scale_min", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "choppiness", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "wind_velocity", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "wave_scale", 0, IFACE_("Scale"), ICON_NONE);
uiItemR(col, ptr, "wave_scale_min", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "choppiness", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "wind_velocity", 0, NULL, ICON_NONE);
uiItemS(layout);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "wave_alignment", UI_ITEM_R_SLIDER, IFACE_("Alignment"), ICON_NONE);
uiItemR(col, ptr, "wave_alignment", UI_ITEM_R_SLIDER, IFACE_("Alignment"), ICON_NONE);
sub = uiLayoutColumn(col, false);
uiLayoutSetActive(sub, RNA_float_get(&ptr, "wave_alignment") > 0.0f);
uiItemR(sub, &ptr, "wave_direction", 0, IFACE_("Direction"), ICON_NONE);
uiItemR(sub, &ptr, "damping", 0, NULL, ICON_NONE);
uiLayoutSetActive(sub, RNA_float_get(ptr, "wave_alignment") > 0.0f);
uiItemR(sub, ptr, "wave_direction", 0, IFACE_("Direction"), ICON_NONE);
uiItemR(sub, ptr, "damping", 0, NULL, ICON_NONE);
}
static void foam_panel_draw_header(const bContext *C, Panel *panel)
static void foam_panel_draw_header(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_foam", 0, IFACE_("Foam"), ICON_NONE);
uiItemR(layout, ptr, "use_foam", 0, IFACE_("Foam"), ICON_NONE);
}
static void foam_panel_draw(const bContext *C, Panel *panel)
static void foam_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
bool use_foam = RNA_boolean_get(&ptr, "use_foam");
bool use_foam = RNA_boolean_get(ptr, "use_foam");
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, use_foam);
uiItemR(col, &ptr, "foam_layer_name", 0, IFACE_("Data Layer"), ICON_NONE);
uiItemR(col, &ptr, "foam_coverage", 0, IFACE_("Coverage"), ICON_NONE);
uiItemR(col, ptr, "foam_layer_name", 0, IFACE_("Data Layer"), ICON_NONE);
uiItemR(col, ptr, "foam_coverage", 0, IFACE_("Coverage"), ICON_NONE);
}
static void spray_panel_draw_header(const bContext *C, Panel *panel)
static void spray_panel_draw_header(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
bool use_foam = RNA_boolean_get(&ptr, "use_foam");
bool use_foam = RNA_boolean_get(ptr, "use_foam");
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, use_foam);
uiItemR(row, &ptr, "use_spray", 0, IFACE_("Spray"), ICON_NONE);
uiItemR(row, ptr, "use_spray", 0, IFACE_("Spray"), ICON_NONE);
}
static void spray_panel_draw(const bContext *C, Panel *panel)
static void spray_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
bool use_foam = RNA_boolean_get(&ptr, "use_foam");
bool use_spray = RNA_boolean_get(&ptr, "use_spray");
bool use_foam = RNA_boolean_get(ptr, "use_foam");
bool use_spray = RNA_boolean_get(ptr, "use_spray");
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, use_foam && use_spray);
uiItemR(col, &ptr, "spray_layer_name", 0, IFACE_("Data Layer"), ICON_NONE);
uiItemR(col, &ptr, "invert_spray", 0, IFACE_("Invert"), ICON_NONE);
uiItemR(col, ptr, "spray_layer_name", 0, IFACE_("Data Layer"), ICON_NONE);
uiItemR(col, ptr, "invert_spray", 0, IFACE_("Invert"), ICON_NONE);
}
static void spectrum_panel_draw(const bContext *C, Panel *panel)
static void spectrum_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
int spectrum = RNA_enum_get(&ptr, "spectrum");
int spectrum = RNA_enum_get(ptr, "spectrum");
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "spectrum", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "spectrum", 0, NULL, ICON_NONE);
if (ELEM(spectrum, MOD_OCEAN_SPECTRUM_TEXEL_MARSEN_ARSLOE, MOD_OCEAN_SPECTRUM_JONSWAP)) {
uiItemR(col, &ptr, "sharpen_peak_jonswap", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, &ptr, "fetch_jonswap", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "sharpen_peak_jonswap", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "fetch_jonswap", 0, NULL, ICON_NONE);
}
}
static void bake_panel_draw(const bContext *C, Panel *panel)
static void bake_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
bool is_cached = RNA_boolean_get(&ptr, "is_cached");
bool use_foam = RNA_boolean_get(&ptr, "use_foam");
bool is_cached = RNA_boolean_get(ptr, "is_cached");
bool use_foam = RNA_boolean_get(ptr, "use_foam");
if (is_cached) {
PointerRNA op_ptr;
@@ -726,16 +717,16 @@ static void bake_panel_draw(const bContext *C, Panel *panel)
uiItemO(layout, NULL, ICON_NONE, "OBJECT_OT_ocean_bake");
}
uiItemR(layout, &ptr, "filepath", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "filepath", 0, NULL, ICON_NONE);
col = uiLayoutColumn(layout, true);
uiLayoutSetEnabled(col, !is_cached);
uiItemR(col, &ptr, "frame_start", 0, IFACE_("Frame Start"), ICON_NONE);
uiItemR(col, &ptr, "frame_end", 0, IFACE_("End"), ICON_NONE);
uiItemR(col, ptr, "frame_start", 0, IFACE_("Frame Start"), ICON_NONE);
uiItemR(col, ptr, "frame_end", 0, IFACE_("End"), ICON_NONE);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, use_foam);
uiItemR(col, &ptr, "bake_foam_fade", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "bake_foam_fade", 0, NULL, ICON_NONE);
}
#endif /* WITH_OCEANSIM */

View File

@@ -557,24 +557,23 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return result;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA particle_obj_ptr = RNA_pointer_get(&ptr, "object");
PointerRNA particle_obj_ptr = RNA_pointer_get(ptr, "object");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
if (!RNA_pointer_is_null(&particle_obj_ptr)) {
uiItemPointerR(layout,
&ptr,
ptr,
"particle_system",
&particle_obj_ptr,
"particle_systems",
@@ -582,74 +581,71 @@ static void panel_draw(const bContext *C, Panel *panel)
ICON_NONE);
}
else {
uiItemR(layout, &ptr, "particle_system_index", 0, IFACE_("Particle System"), ICON_NONE);
uiItemR(layout, ptr, "particle_system_index", 0, IFACE_("Particle System"), ICON_NONE);
}
uiItemS(layout);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Create Instances"));
uiItemR(row, &ptr, "use_normal", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_children", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_size", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_normal", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_children", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_size", toggles_flag, NULL, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Show"));
uiItemR(row, &ptr, "show_alive", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "show_dead", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "show_unborn", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "show_alive", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "show_dead", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "show_unborn", toggles_flag, NULL, ICON_NONE);
uiItemR(layout, &ptr, "particle_amount", 0, IFACE_("Amount"), ICON_NONE);
uiItemR(layout, &ptr, "particle_offset", 0, IFACE_("Offset"), ICON_NONE);
uiItemR(layout, ptr, "particle_amount", 0, IFACE_("Amount"), ICON_NONE);
uiItemR(layout, ptr, "particle_offset", 0, IFACE_("Offset"), ICON_NONE);
uiItemS(layout);
uiItemR(layout, &ptr, "space", 0, IFACE_("Coordinate Space"), ICON_NONE);
uiItemR(layout, ptr, "space", 0, IFACE_("Coordinate Space"), ICON_NONE);
row = uiLayoutRow(layout, true);
uiItemR(row, &ptr, "axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(row, ptr, "axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void path_panel_draw_header(const bContext *C, Panel *panel)
static void path_panel_draw_header(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_path", 0, IFACE_("Create Along Paths"), ICON_NONE);
uiItemR(layout, ptr, "use_path", 0, IFACE_("Create Along Paths"), ICON_NONE);
}
static void path_panel_draw(const bContext *C, Panel *panel)
static void path_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "use_path"));
uiLayoutSetActive(layout, RNA_boolean_get(ptr, "use_path"));
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "position", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, &ptr, "random_position", UI_ITEM_R_SLIDER, IFACE_("Random"), ICON_NONE);
uiItemR(col, ptr, "position", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "random_position", UI_ITEM_R_SLIDER, IFACE_("Random"), ICON_NONE);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "rotation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, &ptr, "random_rotation", UI_ITEM_R_SLIDER, IFACE_("Random"), ICON_NONE);
uiItemR(col, ptr, "rotation", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "random_rotation", UI_ITEM_R_SLIDER, IFACE_("Random"), ICON_NONE);
uiItemR(layout, &ptr, "use_preserve_shape", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_preserve_shape", 0, NULL, ICON_NONE);
}
static void layers_panel_draw(const bContext *C, Panel *panel)
static void layers_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
@@ -657,9 +653,9 @@ static void layers_panel_draw(const bContext *C, Panel *panel)
col = uiLayoutColumn(layout, false);
uiItemPointerR(
col, &ptr, "index_layer_name", &obj_data_ptr, "vertex_colors", IFACE_("Index"), ICON_NONE);
col, ptr, "index_layer_name", &obj_data_ptr, "vertex_colors", IFACE_("Index"), ICON_NONE);
uiItemPointerR(
col, &ptr, "value_layer_name", &obj_data_ptr, "vertex_colors", IFACE_("Value"), ICON_NONE);
col, ptr, "value_layer_name", &obj_data_ptr, "vertex_colors", IFACE_("Value"), ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -260,16 +260,15 @@ static void deformVertsEM(ModifierData *md,
}
#endif
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
Object *ob = ob_ptr.data;
ModifierData *md = (ModifierData *)ptr.data;
ModifierData *md = (ModifierData *)ptr->data;
ParticleSystem *psys = ((ParticleSystemModifierData *)md)->psys;
uiItemL(layout, IFACE_("Settings are in the particle tab"), ICON_NONE);
@@ -289,7 +288,7 @@ static void panel_draw(const bContext *C, Panel *panel)
}
}
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -237,47 +237,45 @@ static Mesh *modifyMesh(ModifierData *UNUSED(md),
#endif /* !WITH_MOD_REMESH */
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
#ifdef WITH_MOD_REMESH
uiLayout *row, *col;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiItemR(layout, &ptr, "mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
if (mode == MOD_REMESH_VOXEL) {
uiItemR(col, &ptr, "voxel_size", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "adaptivity", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "voxel_size", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "adaptivity", 0, NULL, ICON_NONE);
}
else {
uiItemR(col, &ptr, "octree_depth", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "scale", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "octree_depth", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "scale", 0, NULL, ICON_NONE);
if (mode == MOD_REMESH_SHARP_FEATURES) {
uiItemR(col, &ptr, "sharpness", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "sharpness", 0, NULL, ICON_NONE);
}
uiItemR(layout, &ptr, "use_remove_disconnected", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_remove_disconnected", 0, NULL, ICON_NONE);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, RNA_boolean_get(&ptr, "use_remove_disconnected"));
uiItemR(layout, &ptr, "threshold", 0, NULL, ICON_NONE);
uiLayoutSetActive(row, RNA_boolean_get(ptr, "use_remove_disconnected"));
uiItemR(layout, ptr, "threshold", 0, NULL, ICON_NONE);
}
uiItemR(layout, &ptr, "use_smooth_shade", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_smooth_shade", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
#else /* WITH_MOD_REMESH */
uiItemL(layout, IFACE_("Built without Remesh modifier"), ICON_NONE);
UNUSED_VARS(C);
#endif /* WITH_MOD_REMESH */
}

View File

@@ -1168,74 +1168,72 @@ static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk,
walk(userData, ob, &ltmd->ob_axis, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *row, *col;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA screw_obj_ptr = RNA_pointer_get(&ptr, "object");
PointerRNA screw_obj_ptr = RNA_pointer_get(ptr, "object");
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "angle", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "angle", 0, NULL, ICON_NONE);
row = uiLayoutRow(col, false);
uiLayoutSetActive(row,
RNA_pointer_is_null(&screw_obj_ptr) ||
!RNA_boolean_get(&ptr, "use_object_screw_offset"));
uiItemR(row, &ptr, "screw_offset", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "iterations", 0, NULL, ICON_NONE);
!RNA_boolean_get(ptr, "use_object_screw_offset"));
uiItemR(row, ptr, "screw_offset", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "iterations", 0, NULL, ICON_NONE);
uiItemS(layout);
col = uiLayoutColumn(layout, false);
row = uiLayoutRow(col, false);
uiItemR(row, &ptr, "axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(col, &ptr, "object", 0, IFACE_("Axis Object"), ICON_NONE);
uiItemR(row, ptr, "axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(col, ptr, "object", 0, IFACE_("Axis Object"), ICON_NONE);
sub = uiLayoutColumn(col, false);
uiLayoutSetActive(sub, !RNA_pointer_is_null(&screw_obj_ptr));
uiItemR(sub, &ptr, "use_object_screw_offset", 0, NULL, ICON_NONE);
uiItemR(sub, ptr, "use_object_screw_offset", 0, NULL, ICON_NONE);
uiItemS(layout);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "steps", 0, IFACE_("Steps Viewport"), ICON_NONE);
uiItemR(col, &ptr, "render_steps", 0, IFACE_("Render"), ICON_NONE);
uiItemR(col, ptr, "steps", 0, IFACE_("Steps Viewport"), ICON_NONE);
uiItemR(col, ptr, "render_steps", 0, IFACE_("Render"), ICON_NONE);
uiItemS(layout);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Merge"));
uiItemR(row, &ptr, "use_merge_vertices", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_merge_vertices", 0, "", ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_merge_vertices"));
uiItemR(sub, &ptr, "merge_threshold", 0, "", ICON_NONE);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_merge_vertices"));
uiItemR(sub, ptr, "merge_threshold", 0, "", ICON_NONE);
uiItemS(layout);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Stretch UVs"));
uiItemR(row, &ptr, "use_stretch_u", toggles_flag, IFACE_("U"), ICON_NONE);
uiItemR(row, &ptr, "use_stretch_v", toggles_flag, IFACE_("V"), ICON_NONE);
uiItemR(row, ptr, "use_stretch_u", toggles_flag, IFACE_("U"), ICON_NONE);
uiItemR(row, ptr, "use_stretch_v", toggles_flag, IFACE_("V"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void normals_panel_draw(const bContext *C, Panel *panel)
static void normals_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "use_smooth_shade", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_normal_calculate", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_normal_flip", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_smooth_shade", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_normal_calculate", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_normal_flip", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -215,59 +215,58 @@ static bool dependsOnNormals(ModifierData *md)
return false;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *col;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
int wrap_method = RNA_enum_get(&ptr, "wrap_method");
int wrap_method = RNA_enum_get(ptr, "wrap_method");
uiItemR(layout, &ptr, "wrap_method", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "wrap_method", 0, NULL, ICON_NONE);
if (ELEM(wrap_method,
MOD_SHRINKWRAP_PROJECT,
MOD_SHRINKWRAP_NEAREST_SURFACE,
MOD_SHRINKWRAP_TARGET_PROJECT)) {
uiItemR(layout, &ptr, "wrap_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "wrap_mode", 0, NULL, ICON_NONE);
}
if (wrap_method == MOD_SHRINKWRAP_PROJECT) {
uiItemR(layout, &ptr, "project_limit", 0, IFACE_("Limit"), ICON_NONE);
uiItemR(layout, &ptr, "subsurf_levels", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "project_limit", 0, IFACE_("Limit"), ICON_NONE);
uiItemR(layout, ptr, "subsurf_levels", 0, NULL, ICON_NONE);
col = uiLayoutColumn(layout, false);
row = uiLayoutRowWithHeading(col, true, IFACE_("Axis"));
uiItemR(row, &ptr, "use_project_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_project_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_project_z", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_project_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_project_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_project_z", toggles_flag, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_negative_direction", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_positive_direction", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_negative_direction", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_positive_direction", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "cull_face", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "cull_face", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col,
RNA_boolean_get(&ptr, "use_negative_direction") &&
RNA_enum_get(&ptr, "cull_face") != 0);
uiItemR(col, &ptr, "use_invert_cull", 0, NULL, ICON_NONE);
RNA_boolean_get(ptr, "use_negative_direction") &&
RNA_enum_get(ptr, "cull_face") != 0);
uiItemR(col, ptr, "use_invert_cull", 0, NULL, ICON_NONE);
}
uiItemR(layout, &ptr, "target", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "target", 0, NULL, ICON_NONE);
if (wrap_method == MOD_SHRINKWRAP_PROJECT) {
uiItemR(layout, &ptr, "auxiliary_target", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "auxiliary_target", 0, NULL, ICON_NONE);
}
uiItemR(layout, &ptr, "offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "offset", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -464,70 +464,68 @@ static void deformVertsEM(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int deform_method = RNA_enum_get(&ptr, "deform_method");
int deform_method = RNA_enum_get(ptr, "deform_method");
row = uiLayoutRow(layout, false);
uiItemR(row, &ptr, "deform_method", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(row, ptr, "deform_method", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
if (ELEM(deform_method, MOD_SIMPLEDEFORM_MODE_TAPER, MOD_SIMPLEDEFORM_MODE_STRETCH)) {
uiItemR(layout, &ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "factor", 0, NULL, ICON_NONE);
}
else {
uiItemR(layout, &ptr, "angle", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "angle", 0, NULL, ICON_NONE);
}
uiItemR(layout, &ptr, "origin", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "deform_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "origin", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "deform_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void restrictions_panel_draw(const bContext *C, Panel *panel)
static void restrictions_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int deform_method = RNA_enum_get(&ptr, "deform_method");
int deform_method = RNA_enum_get(ptr, "deform_method");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "limits", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "limits", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
if (ELEM(deform_method,
MOD_SIMPLEDEFORM_MODE_TAPER,
MOD_SIMPLEDEFORM_MODE_STRETCH,
MOD_SIMPLEDEFORM_MODE_TWIST)) {
int deform_axis = RNA_enum_get(&ptr, "deform_axis");
int deform_axis = RNA_enum_get(ptr, "deform_axis");
row = uiLayoutRowWithHeading(layout, true, IFACE_("Lock"));
if (deform_axis != 0) {
uiItemR(row, &ptr, "lock_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "lock_x", toggles_flag, NULL, ICON_NONE);
}
if (deform_axis != 1) {
uiItemR(row, &ptr, "lock_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "lock_y", toggles_flag, NULL, ICON_NONE);
}
if (deform_axis != 2) {
uiItemR(row, &ptr, "lock_z", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "lock_z", toggles_flag, NULL, ICON_NONE);
}
}
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -121,21 +121,20 @@ static PointCloud *modifyPointCloud(ModifierData *md,
return pointcloud;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiLayoutSetPropDecorate(layout, false);
uiItemR(layout, &ptr, "simulation", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "data_path", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "simulation", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "data_path", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -1950,28 +1950,27 @@ static void requiredDataMask(Object *UNUSED(ob),
r_cddata_masks->vmask |= CD_MASK_MVERT_SKIN | CD_MASK_MDEFORMVERT;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA op_ptr;
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "branch_smoothing", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "branch_smoothing", 0, NULL, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Symmetry"));
uiItemR(row, &ptr, "use_x_symmetry", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_y_symmetry", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_z_symmetry", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_x_symmetry", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_y_symmetry", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_z_symmetry", toggles_flag, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_smooth_shade", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_smooth_shade", 0, NULL, ICON_NONE);
row = uiLayoutRow(layout, false);
uiItemO(row, IFACE_("Create Armature"), ICON_NONE, "OBJECT_OT_skin_armature_create");
@@ -2000,7 +1999,7 @@ static void panel_draw(const bContext *C, Panel *panel)
uiItemO(layout, IFACE_("Mark Root"), ICON_NONE, "OBJECT_OT_skin_root_mark");
uiItemO(layout, IFACE_("Equalize Radii"), ICON_NONE, "OBJECT_OT_skin_radii_equalize");
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -238,30 +238,29 @@ static void deformVertsEM(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *col;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Axis"));
uiItemR(row, &ptr, "use_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_z", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_z", toggles_flag, NULL, ICON_NONE);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "iterations", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -84,16 +84,15 @@ static void updateDepsgraph(ModifierData *UNUSED(md), const ModifierUpdateDepsgr
DEG_add_modifier_to_transform_relation(ctx->node, "SoftBody Modifier");
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemL(layout, IFACE_("Settings are inside the Physics tab"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -97,150 +97,144 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return mesh;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *row, *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int solidify_mode = RNA_enum_get(&ptr, "solidify_mode");
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
int solidify_mode = RNA_enum_get(ptr, "solidify_mode");
bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0;
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "solidify_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "solidify_mode", 0, NULL, ICON_NONE);
if (solidify_mode == MOD_SOLIDIFY_MODE_NONMANIFOLD) {
uiItemR(layout, &ptr, "nonmanifold_thickness_mode", 0, IFACE_("Thickness Mode"), ICON_NONE);
uiItemR(layout, &ptr, "nonmanifold_boundary_mode", 0, IFACE_("Boundary"), ICON_NONE);
uiItemR(layout, ptr, "nonmanifold_thickness_mode", 0, IFACE_("Thickness Mode"), ICON_NONE);
uiItemR(layout, ptr, "nonmanifold_boundary_mode", 0, IFACE_("Boundary"), ICON_NONE);
}
uiItemR(layout, &ptr, "thickness", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "thickness", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "offset", 0, NULL, ICON_NONE);
if (solidify_mode == MOD_SOLIDIFY_MODE_NONMANIFOLD) {
uiItemR(layout, &ptr, "nonmanifold_merge_threshold", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "nonmanifold_merge_threshold", 0, NULL, ICON_NONE);
}
else {
uiItemR(layout, &ptr, "use_even_offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_even_offset", 0, NULL, ICON_NONE);
}
col = uiLayoutColumnWithHeading(layout, false, IFACE_("Rim"));
uiItemR(col, &ptr, "use_rim", 0, IFACE_("Fill"), ICON_NONE);
uiItemR(col, ptr, "use_rim", 0, IFACE_("Fill"), ICON_NONE);
sub = uiLayoutColumn(col, false);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_rim"));
uiItemR(sub, &ptr, "use_rim_only", 0, NULL, ICON_NONE);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_rim"));
uiItemR(sub, ptr, "use_rim_only", 0, NULL, ICON_NONE);
uiItemS(layout);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, has_vertex_group);
uiItemR(row, &ptr, "thickness_vertex_group", 0, IFACE_("Factor"), ICON_NONE);
uiItemR(row, ptr, "thickness_vertex_group", 0, IFACE_("Factor"), ICON_NONE);
if (solidify_mode == MOD_SOLIDIFY_MODE_NONMANIFOLD) {
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, has_vertex_group);
uiItemR(row, &ptr, "use_flat_faces", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "use_flat_faces", 0, NULL, ICON_NONE);
}
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void normals_panel_draw(const bContext *C, Panel *panel)
static void normals_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int solidify_mode = RNA_enum_get(&ptr, "solidify_mode");
int solidify_mode = RNA_enum_get(ptr, "solidify_mode");
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "use_flip_normals", 0, IFACE_("Flip"), ICON_NONE);
uiItemR(col, ptr, "use_flip_normals", 0, IFACE_("Flip"), ICON_NONE);
if (solidify_mode == MOD_SOLIDIFY_MODE_EXTRUDE) {
uiItemR(col, &ptr, "use_quality_normals", 0, IFACE_("High Quality"), ICON_NONE);
uiItemR(col, ptr, "use_quality_normals", 0, IFACE_("High Quality"), ICON_NONE);
}
}
static void materials_panel_draw(const bContext *C, Panel *panel)
static void materials_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "material_offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "material_offset", 0, NULL, ICON_NONE);
col = uiLayoutColumn(layout, true);
uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_rim"));
uiItemR(col, &ptr, "material_offset_rim", 0, IFACE_("Rim"), ICON_NONE);
uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_rim"));
uiItemR(col, ptr, "material_offset_rim", 0, IFACE_("Rim"), ICON_NONE);
}
static void edge_data_panel_draw(const bContext *C, Panel *panel)
static void edge_data_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int solidify_mode = RNA_enum_get(&ptr, "solidify_mode");
int solidify_mode = RNA_enum_get(ptr, "solidify_mode");
uiLayoutSetPropSep(layout, true);
if (solidify_mode == MOD_SOLIDIFY_MODE_EXTRUDE) {
uiLayout *col;
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "edge_crease_inner", 0, IFACE_("Crease Inner"), ICON_NONE);
uiItemR(col, &ptr, "edge_crease_outer", 0, IFACE_("Outer"), ICON_NONE);
uiItemR(col, &ptr, "edge_crease_rim", 0, IFACE_("Rim"), ICON_NONE);
uiItemR(col, ptr, "edge_crease_inner", 0, IFACE_("Crease Inner"), ICON_NONE);
uiItemR(col, ptr, "edge_crease_outer", 0, IFACE_("Outer"), ICON_NONE);
uiItemR(col, ptr, "edge_crease_rim", 0, IFACE_("Rim"), ICON_NONE);
}
uiItemR(layout, &ptr, "bevel_convex", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "bevel_convex", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
}
static void clamp_panel_draw(const bContext *C, Panel *panel)
static void clamp_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "thickness_clamp", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "thickness_clamp", 0, NULL, ICON_NONE);
row = uiLayoutRow(col, false);
uiLayoutSetActive(row, RNA_float_get(&ptr, "thickness_clamp") > 0.0f);
uiItemR(row, &ptr, "use_thickness_angle_clamp", 0, NULL, ICON_NONE);
uiLayoutSetActive(row, RNA_float_get(ptr, "thickness_clamp") > 0.0f);
uiItemR(row, ptr, "use_thickness_angle_clamp", 0, NULL, ICON_NONE);
}
static void vertex_group_panel_draw(const bContext *C, Panel *panel)
static void vertex_group_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemPointerR(col, &ptr, "shell_vertex_group", &ob_ptr, "vertex_groups", "Shell", ICON_NONE);
uiItemPointerR(col, &ptr, "rim_vertex_group", &ob_ptr, "vertex_groups", "Rim", ICON_NONE);
uiItemPointerR(col, ptr, "shell_vertex_group", &ob_ptr, "vertex_groups", "Shell", ICON_NONE);
uiItemPointerR(col, ptr, "rim_vertex_group", &ob_ptr, "vertex_groups", "Rim", ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -339,9 +339,8 @@ static bool get_show_adaptive_options(const bContext *C, Panel *panel)
}
/* Only show adaptive options if this is the last modifier. */
PointerRNA md_ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &md_ptr);
ModifierData *md = md_ptr.data;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
ModifierData *md = ptr->data;
if (md->next != NULL) {
return false;
}
@@ -365,9 +364,8 @@ static void panel_draw(const bContext *C, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
/* Only test for adaptive subdivision if built with cycles. */
bool show_adaptive_options = false;
@@ -386,9 +384,11 @@ static void panel_draw(const bContext *C, Panel *panel)
show_adaptive_options = get_show_adaptive_options(C, panel);
}
}
#else
UNUSED_VARS(C);
#endif
uiItemR(layout, &ptr, "subdivision_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "subdivision_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetPropSep(layout, true);
@@ -414,26 +414,25 @@ static void panel_draw(const bContext *C, Panel *panel)
uiItemS(layout);
uiItemR(layout, &ptr, "levels", 0, IFACE_("Levels Viewport"), ICON_NONE);
uiItemR(layout, ptr, "levels", 0, IFACE_("Levels Viewport"), ICON_NONE);
}
else {
uiLayout *col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "levels", 0, IFACE_("Levels Viewport"), ICON_NONE);
uiItemR(col, &ptr, "render_levels", 0, IFACE_("Render"), ICON_NONE);
uiItemR(col, ptr, "levels", 0, IFACE_("Levels Viewport"), ICON_NONE);
uiItemR(col, ptr, "render_levels", 0, IFACE_("Render"), ICON_NONE);
}
uiItemR(layout, &ptr, "show_only_control_edges", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "show_only_control_edges", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void advanced_panel_draw(const bContext *C, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
bool ob_use_adaptive_subdivision = false;
bool show_adaptive_options = false;
@@ -446,15 +445,17 @@ static void advanced_panel_draw(const bContext *C, Panel *panel)
show_adaptive_options = get_show_adaptive_options(C, panel);
}
}
#else
UNUSED_VARS(C);
#endif
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(layout, !(show_adaptive_options && ob_use_adaptive_subdivision));
uiItemR(layout, &ptr, "quality", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "uv_smooth", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_creases", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_custom_normals", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "quality", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "uv_smooth", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_creases", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_custom_normals", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -195,16 +195,15 @@ static void deformVerts(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiItemL(layout, IFACE_("Settings are inside the Physics tab"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -1397,29 +1397,28 @@ static bool isDisabled(const Scene *UNUSED(scene), ModifierData *md, bool UNUSED
!(smd->verts != NULL && !(smd->flags & MOD_SDEF_BIND));
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA target_ptr = RNA_pointer_get(&ptr, "target");
PointerRNA target_ptr = RNA_pointer_get(ptr, "target");
bool is_bound = RNA_boolean_get(&ptr, "is_bound");
bool is_bound = RNA_boolean_get(ptr, "is_bound");
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, !is_bound);
uiItemR(col, &ptr, "target", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "target", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "falloff", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "strength", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "falloff", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "strength", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemS(layout);
@@ -1431,7 +1430,7 @@ static void panel_draw(const bContext *C, Panel *panel)
uiLayoutSetActive(col, !RNA_pointer_is_null(&target_ptr));
uiItemO(col, IFACE_("Bind"), ICON_NONE, "OBJECT_OT_surfacedeform_bind");
}
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -126,22 +126,21 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *UNUSED(ctx)
return result;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "quad_method", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "ngon_method", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "min_vertices", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "keep_custom_normals", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "quad_method", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "ngon_method", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "min_vertices", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "keep_custom_normals", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -69,9 +69,9 @@ static bool modifier_ui_poll(const bContext *C, PanelType *UNUSED(pt))
*/
static void modifier_reorder(bContext *C, Panel *panel, int new_index)
{
Object *ob = ED_object_active_context(C);
PointerRNA *md_ptr = UI_panel_custom_data_get(panel);
ModifierData *md = (ModifierData *)md_ptr->data;
ModifierData *md = BLI_findlink(&ob->modifiers, panel->runtime.list_index);
PointerRNA props_ptr;
wmOperatorType *ot = WM_operatortype_find("OBJECT_OT_modifier_move_to_index", false);
WM_operator_properties_create_ptr(&props_ptr, ot);
@@ -81,17 +81,17 @@ static void modifier_reorder(bContext *C, Panel *panel, int new_index)
WM_operator_properties_free(&props_ptr);
}
static short get_modifier_expand_flag(const bContext *C, Panel *panel)
static short get_modifier_expand_flag(const bContext *UNUSED(C), Panel *panel)
{
Object *ob = ED_object_active_context(C);
ModifierData *md = BLI_findlink(&ob->modifiers, panel->runtime.list_index);
PointerRNA *md_ptr = UI_panel_custom_data_get(panel);
ModifierData *md = (ModifierData *)md_ptr->data;
return md->ui_expand_flag;
}
static void set_modifier_expand_flag(const bContext *C, Panel *panel, short expand_flag)
static void set_modifier_expand_flag(const bContext *UNUSED(C), Panel *panel, short expand_flag)
{
Object *ob = ED_object_active_context(C);
ModifierData *md = BLI_findlink(&ob->modifiers, panel->runtime.list_index);
PointerRNA *md_ptr = UI_panel_custom_data_get(panel);
ModifierData *md = (ModifierData *)md_ptr->data;
md->ui_expand_flag = expand_flag;
}
@@ -116,27 +116,26 @@ void modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
/**
* 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.
*
* \note The modifier #PointerRNA is owned by the panel so we only need a pointer to it.
*/
#define ERROR_LIBDATA_MESSAGE TIP_("External library data")
void modifier_panel_get_property_pointers(const bContext *C,
Panel *panel,
PointerRNA *r_ob_ptr,
PointerRNA *r_md_ptr)
PointerRNA *modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
{
Object *ob = ED_object_active_context(C);
ModifierData *md = BLI_findlink(&ob->modifiers, panel->runtime.list_index);
RNA_pointer_create(&ob->id, &RNA_Modifier, md, r_md_ptr);
PointerRNA *ptr = UI_panel_custom_data_get(panel);
BLI_assert(!RNA_pointer_is_null(ptr));
BLI_assert(RNA_struct_is_a(ptr->type, &RNA_Modifier));
if (r_ob_ptr != NULL) {
RNA_pointer_create(&ob->id, &RNA_Object, ob, r_ob_ptr);
RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id, r_ob_ptr);
}
uiBlock *block = uiLayoutGetBlock(panel->layout);
UI_block_lock_set(block, ID_IS_LINKED(ob), ERROR_LIBDATA_MESSAGE);
UI_block_lock_set(block, ID_IS_LINKED((Object *)ptr->owner_id), ERROR_LIBDATA_MESSAGE);
uiLayoutSetContextPointer(panel->layout, "modifier", r_md_ptr);
uiLayoutSetContextPointer(panel->layout, "modifier", ptr);
return ptr;
}
/**
@@ -296,24 +295,23 @@ static void modifier_panel_header(const bContext *C, Panel *panel)
uiLayout *row, *sub, *name_row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
Object *ob = ED_object_active_context(C);
/* Don't use #modifier_panel_get_property_pointers, we don't want to lock the header. */
ModifierData *md = BLI_findlink(&ob->modifiers, panel->runtime.list_index);
RNA_pointer_create(&ob->id, &RNA_Modifier, md, &ptr);
uiLayoutSetContextPointer(panel->layout, "modifier", &ptr);
PointerRNA *ptr = UI_panel_custom_data_get(panel);
ModifierData *md = (ModifierData *)ptr->data;
Object *ob = (Object *)ptr->owner_id;
uiLayoutSetContextPointer(panel->layout, "modifier", ptr);
const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);
Scene *scene = CTX_data_scene(C);
int index = panel->runtime.list_index;
int index = BLI_findindex(&ob->modifiers, md);
/* Modifier Icon. */
sub = uiLayoutRow(layout, true);
if (mti->isDisabled && mti->isDisabled(scene, md, 0)) {
uiLayoutSetRedAlert(sub, true);
}
uiItemL(sub, "", RNA_struct_ui_icon(ptr.type));
uiItemL(sub, "", RNA_struct_ui_icon(ptr->type));
row = uiLayoutRow(layout, true);
@@ -331,14 +329,14 @@ static void modifier_panel_header(const bContext *C, Panel *panel)
if (index < cage_index || !BKE_modifier_couldbe_cage(scene, md)) {
uiLayoutSetActive(sub, false);
}
uiItemR(sub, &ptr, "show_on_cage", 0, "", ICON_NONE);
uiItemR(sub, ptr, "show_on_cage", 0, "", ICON_NONE);
buttons_number++;
}
} /* Tessellation point for curve-typed objects. */
else if (ELEM(ob->type, OB_CURVE, OB_SURF, OB_FONT)) {
if (mti->type != eModifierTypeType_Constructive) {
/* Constructive modifiers tessellates curve before applying. */
uiItemR(row, &ptr, "use_apply_on_spline", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_apply_on_spline", 0, "", ICON_NONE);
buttons_number++;
}
}
@@ -348,11 +346,11 @@ static void modifier_panel_header(const bContext *C, Panel *panel)
if (mti->flags & eModifierTypeFlag_SupportsEditmode) {
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, (md->mode & eModifierMode_Realtime));
uiItemR(sub, &ptr, "show_in_editmode", 0, "", ICON_NONE);
uiItemR(sub, ptr, "show_in_editmode", 0, "", ICON_NONE);
buttons_number++;
}
uiItemR(row, &ptr, "show_viewport", 0, "", ICON_NONE);
uiItemR(row, &ptr, "show_render", 0, "", ICON_NONE);
uiItemR(row, ptr, "show_viewport", 0, "", ICON_NONE);
uiItemR(row, ptr, "show_render", 0, "", ICON_NONE);
buttons_number += 2;
}
@@ -381,7 +379,7 @@ static void modifier_panel_header(const bContext *C, Panel *panel)
bool display_name = (panel->sizex / UI_UNIT_X - buttons_number > 5) || (panel->sizex == 0);
if (display_name) {
uiItemR(name_row, &ptr, "name", 0, "", ICON_NONE);
uiItemR(name_row, ptr, "name", 0, "", ICON_NONE);
}
else {
uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_RIGHT);

View File

@@ -46,10 +46,8 @@ void modifier_vgroup_ui(struct uiLayout *layout,
void modifier_panel_end(struct uiLayout *layout, PointerRNA *ptr);
void modifier_panel_get_property_pointers(const bContext *C,
struct Panel *panel,
struct PointerRNA *r_ob_ptr,
struct PointerRNA *r_ptr);
struct PointerRNA *modifier_panel_get_property_pointers(struct Panel *panel,
struct PointerRNA *r_ob_ptr);
struct PanelType *modifier_panel_register(struct ARegionType *region_type,
ModifierType type,

View File

@@ -326,36 +326,35 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return result;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
uiLayoutSetPropSep(layout, true);
uiItemPointerR(layout, &ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
uiItemPointerR(layout, ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
sub = uiLayoutColumn(layout, true);
uiItemR(sub, &ptr, "aspect_x", 0, IFACE_("Aspect X"), ICON_NONE);
uiItemR(sub, &ptr, "aspect_y", 0, IFACE_("Y"), ICON_NONE);
uiItemR(sub, ptr, "aspect_x", 0, IFACE_("Aspect X"), ICON_NONE);
uiItemR(sub, ptr, "aspect_y", 0, IFACE_("Y"), ICON_NONE);
sub = uiLayoutColumn(layout, true);
uiItemR(sub, &ptr, "scale_x", 0, IFACE_("Scale X"), ICON_NONE);
uiItemR(sub, &ptr, "scale_y", 0, IFACE_("Y"), ICON_NONE);
uiItemR(sub, ptr, "scale_x", 0, IFACE_("Scale X"), ICON_NONE);
uiItemR(sub, ptr, "scale_y", 0, IFACE_("Y"), ICON_NONE);
uiItemR(layout, &ptr, "projector_count", 0, IFACE_("Projectors"), ICON_NONE);
RNA_BEGIN (&ptr, projector_ptr, "projectors") {
uiItemR(layout, ptr, "projector_count", 0, IFACE_("Projectors"), ICON_NONE);
RNA_BEGIN (ptr, projector_ptr, "projectors") {
uiItemR(layout, &projector_ptr, "object", 0, NULL, ICON_NONE);
}
RNA_END;
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -260,61 +260,59 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
DEG_add_modifier_to_transform_relation(ctx->node, "UVWarp Modifier");
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
PointerRNA warp_obj_ptr;
PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
uiLayoutSetPropSep(layout, true);
uiItemPointerR(layout, &ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
uiItemPointerR(layout, ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "center", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "center", 0, NULL, ICON_NONE);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "axis_u", 0, IFACE_("Axis U"), ICON_NONE);
uiItemR(col, &ptr, "axis_v", 0, IFACE_("V"), ICON_NONE);
uiItemR(col, ptr, "axis_u", 0, IFACE_("Axis U"), ICON_NONE);
uiItemR(col, ptr, "axis_v", 0, IFACE_("V"), ICON_NONE);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "object_from", 0, NULL, ICON_NONE);
warp_obj_ptr = RNA_pointer_get(&ptr, "object_from");
uiItemR(col, ptr, "object_from", 0, NULL, ICON_NONE);
warp_obj_ptr = RNA_pointer_get(ptr, "object_from");
if (!RNA_pointer_is_null(&warp_obj_ptr) && RNA_enum_get(&warp_obj_ptr, "type") == OB_ARMATURE) {
PointerRNA warp_obj_data_ptr = RNA_pointer_get(&warp_obj_ptr, "data");
uiItemPointerR(col, &ptr, "bone_from", &warp_obj_data_ptr, "bones", NULL, ICON_NONE);
uiItemPointerR(col, ptr, "bone_from", &warp_obj_data_ptr, "bones", NULL, ICON_NONE);
}
uiItemR(col, &ptr, "object_to", 0, IFACE_("To"), ICON_NONE);
warp_obj_ptr = RNA_pointer_get(&ptr, "object_to");
uiItemR(col, ptr, "object_to", 0, IFACE_("To"), ICON_NONE);
warp_obj_ptr = RNA_pointer_get(ptr, "object_to");
if (!RNA_pointer_is_null(&warp_obj_ptr) && RNA_enum_get(&warp_obj_ptr, "type") == OB_ARMATURE) {
PointerRNA warp_obj_data_ptr = RNA_pointer_get(&warp_obj_ptr, "data");
uiItemPointerR(col, &ptr, "bone_to", &warp_obj_data_ptr, "bones", NULL, ICON_NONE);
uiItemPointerR(col, ptr, "bone_to", &warp_obj_data_ptr, "bones", NULL, ICON_NONE);
}
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void transform_panel_draw(const bContext *C, Panel *panel)
static void transform_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "offset", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "scale", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "rotation", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "scale", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "rotation", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -406,62 +406,60 @@ static void deformVertsEM(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "object_from", 0, NULL, ICON_NONE);
PointerRNA from_obj_ptr = RNA_pointer_get(&ptr, "object_from");
uiItemR(col, ptr, "object_from", 0, NULL, ICON_NONE);
PointerRNA from_obj_ptr = RNA_pointer_get(ptr, "object_from");
if (!RNA_pointer_is_null(&from_obj_ptr) && RNA_enum_get(&from_obj_ptr, "type") == OB_ARMATURE) {
PointerRNA from_obj_data_ptr = RNA_pointer_get(&from_obj_ptr, "data");
uiItemPointerR(col, &ptr, "bone_from", &from_obj_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
uiItemPointerR(col, ptr, "bone_from", &from_obj_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
}
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "object_to", 0, NULL, ICON_NONE);
PointerRNA to_obj_ptr = RNA_pointer_get(&ptr, "object_to");
uiItemR(col, ptr, "object_to", 0, NULL, ICON_NONE);
PointerRNA to_obj_ptr = RNA_pointer_get(ptr, "object_to");
if (!RNA_pointer_is_null(&to_obj_ptr) && RNA_enum_get(&to_obj_ptr, "type") == OB_ARMATURE) {
PointerRNA to_obj_data_ptr = RNA_pointer_get(&to_obj_ptr, "data");
uiItemPointerR(col, &ptr, "bone_to", &to_obj_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
uiItemPointerR(col, ptr, "bone_to", &to_obj_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
}
uiItemR(layout, &ptr, "use_volume_preserve", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_volume_preserve", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "strength", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "strength", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void falloff_panel_draw(const bContext *C, Panel *panel)
static void falloff_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
bool use_falloff = (RNA_enum_get(&ptr, "falloff_type") != eWarp_Falloff_None);
bool use_falloff = (RNA_enum_get(ptr, "falloff_type") != eWarp_Falloff_None);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "falloff_type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "falloff_type", 0, NULL, ICON_NONE);
if (use_falloff) {
uiItemR(layout, &ptr, "falloff_radius", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "falloff_radius", 0, NULL, ICON_NONE);
}
if (use_falloff && RNA_enum_get(&ptr, "falloff_type") == eWarp_Falloff_Curve) {
uiTemplateCurveMapping(layout, &ptr, "falloff_curve", 0, false, false, false, false);
if (use_falloff && RNA_enum_get(ptr, "falloff_type") == eWarp_Falloff_Curve) {
uiTemplateCurveMapping(layout, ptr, "falloff_curve", 0, false, false, false, false);
}
}
@@ -470,26 +468,25 @@ static void texture_panel_draw(const bContext *C, Panel *panel)
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int texture_coords = RNA_enum_get(&ptr, "texture_coords");
int texture_coords = RNA_enum_get(ptr, "texture_coords");
uiTemplateID(layout, C, &ptr, "texture", "texture.new", NULL, NULL, 0, ICON_NONE, NULL);
uiTemplateID(layout, C, ptr, "texture", "texture.new", NULL, NULL, 0, ICON_NONE, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "texture_coords", 0, IFACE_("Coordinates"), ICON_NONE);
uiItemR(col, ptr, "texture_coords", 0, IFACE_("Coordinates"), ICON_NONE);
if (texture_coords == MOD_DISP_MAP_OBJECT) {
uiItemR(col, &ptr, "texture_coords_object", 0, IFACE_("Object"), ICON_NONE);
PointerRNA texture_coords_obj_ptr = RNA_pointer_get(&ptr, "texture_coords_object");
uiItemR(col, ptr, "texture_coords_object", 0, IFACE_("Object"), ICON_NONE);
PointerRNA texture_coords_obj_ptr = RNA_pointer_get(ptr, "texture_coords_object");
if (!RNA_pointer_is_null(&texture_coords_obj_ptr) &&
(RNA_enum_get(&texture_coords_obj_ptr, "type") == OB_ARMATURE)) {
PointerRNA texture_coords_obj_data_ptr = RNA_pointer_get(&texture_coords_obj_ptr, "data");
uiItemPointerR(col,
&ptr,
ptr,
"texture_coords_bone",
&texture_coords_obj_data_ptr,
"bones",
@@ -499,7 +496,7 @@ static void texture_panel_draw(const bContext *C, Panel *panel)
}
else if (texture_coords == MOD_DISP_MAP_UV && RNA_enum_get(&ob_ptr, "type") == OB_MESH) {
PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
uiItemPointerR(col, &ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
uiItemPointerR(col, ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
}
}

View File

@@ -377,74 +377,71 @@ static void deformVertsEM(ModifierData *md,
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *row, *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Motion"));
uiItemR(row, &ptr, "use_x", UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_y", UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE, NULL, ICON_NONE);
uiItemR(row, ptr, "use_x", UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE, NULL, ICON_NONE);
uiItemR(row, ptr, "use_y", UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_cyclic", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_cyclic", 0, NULL, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Along Normals"));
uiItemR(row, &ptr, "use_normal", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_normal", 0, "", ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_normal"));
uiItemR(sub, &ptr, "use_normal_x", UI_ITEM_R_TOGGLE, "X", ICON_NONE);
uiItemR(sub, &ptr, "use_normal_y", UI_ITEM_R_TOGGLE, "Y", ICON_NONE);
uiItemR(sub, &ptr, "use_normal_z", UI_ITEM_R_TOGGLE, "Z", ICON_NONE);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_normal"));
uiItemR(sub, ptr, "use_normal_x", UI_ITEM_R_TOGGLE, "X", ICON_NONE);
uiItemR(sub, ptr, "use_normal_y", UI_ITEM_R_TOGGLE, "Y", ICON_NONE);
uiItemR(sub, ptr, "use_normal_z", UI_ITEM_R_TOGGLE, "Z", ICON_NONE);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "falloff_radius", 0, "Falloff", ICON_NONE);
uiItemR(col, &ptr, "height", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, &ptr, "width", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, &ptr, "narrowness", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "falloff_radius", 0, "Falloff", ICON_NONE);
uiItemR(col, ptr, "height", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "width", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "narrowness", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void position_panel_draw(const bContext *C, Panel *panel)
static void position_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "start_position_object", 0, IFACE_("Object"), ICON_NONE);
uiItemR(layout, ptr, "start_position_object", 0, IFACE_("Object"), ICON_NONE);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "start_position_x", 0, "Start Position X", ICON_NONE);
uiItemR(col, &ptr, "start_position_y", 0, "Y", ICON_NONE);
uiItemR(col, ptr, "start_position_x", 0, "Start Position X", ICON_NONE);
uiItemR(col, ptr, "start_position_y", 0, "Y", ICON_NONE);
}
static void time_panel_draw(const bContext *C, Panel *panel)
static void time_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "time_offset", 0, "Offset", ICON_NONE);
uiItemR(col, &ptr, "lifetime", 0, "Life", ICON_NONE);
uiItemR(col, &ptr, "damping_time", 0, "Damping", ICON_NONE);
uiItemR(col, &ptr, "speed", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(col, ptr, "time_offset", 0, "Offset", ICON_NONE);
uiItemR(col, ptr, "lifetime", 0, "Life", ICON_NONE);
uiItemR(col, ptr, "damping_time", 0, "Damping", ICON_NONE);
uiItemR(col, ptr, "speed", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
}
static void texture_panel_draw(const bContext *C, Panel *panel)
@@ -452,26 +449,25 @@ static void texture_panel_draw(const bContext *C, Panel *panel)
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
int texture_coords = RNA_enum_get(&ptr, "texture_coords");
int texture_coords = RNA_enum_get(ptr, "texture_coords");
uiTemplateID(layout, C, &ptr, "texture", "texture.new", NULL, NULL, 0, ICON_NONE, NULL);
uiTemplateID(layout, C, ptr, "texture", "texture.new", NULL, NULL, 0, ICON_NONE, NULL);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "texture_coords", 0, IFACE_("Coordinates"), ICON_NONE);
uiItemR(col, ptr, "texture_coords", 0, IFACE_("Coordinates"), ICON_NONE);
if (texture_coords == MOD_DISP_MAP_OBJECT) {
uiItemR(col, &ptr, "texture_coords_object", 0, IFACE_("Object"), ICON_NONE);
PointerRNA texture_coords_obj_ptr = RNA_pointer_get(&ptr, "texture_coords_object");
uiItemR(col, ptr, "texture_coords_object", 0, IFACE_("Object"), ICON_NONE);
PointerRNA texture_coords_obj_ptr = RNA_pointer_get(ptr, "texture_coords_object");
if (!RNA_pointer_is_null(&texture_coords_obj_ptr) &&
(RNA_enum_get(&texture_coords_obj_ptr, "type") == OB_ARMATURE)) {
PointerRNA texture_coords_obj_data_ptr = RNA_pointer_get(&texture_coords_obj_ptr, "data");
uiItemPointerR(col,
&ptr,
ptr,
"texture_coords_bone",
&texture_coords_obj_data_ptr,
"bones",
@@ -481,7 +477,7 @@ static void texture_panel_draw(const bContext *C, Panel *panel)
}
else if (texture_coords == MOD_DISP_MAP_UV && RNA_enum_get(&ob_ptr, "type") == OB_MESH) {
PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
uiItemPointerR(col, &ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
uiItemPointerR(col, ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
}
}

View File

@@ -714,29 +714,28 @@ static bool dependsOnNormals(ModifierData *UNUSED(md))
return true;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "weight", 0, IFACE_("Weight"), ICON_NONE);
uiItemR(layout, &ptr, "thresh", 0, IFACE_("Threshold"), ICON_NONE);
uiItemR(layout, ptr, "weight", 0, IFACE_("Weight"), ICON_NONE);
uiItemR(layout, ptr, "thresh", 0, IFACE_("Threshold"), ICON_NONE);
col = uiLayoutColumn(layout, false);
uiItemR(col, &ptr, "keep_sharp", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "face_influence", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "keep_sharp", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "face_influence", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -318,67 +318,65 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return mesh;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *sub, *col, *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, true);
uiItemPointerR(col, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
uiItemPointerR(col, ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
uiItemR(layout, &ptr, "default_weight", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "default_weight", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
col = uiLayoutColumnWithHeading(layout, false, IFACE_("Group Add"));
row = uiLayoutRow(col, true);
uiLayoutSetPropDecorate(row, false);
sub = uiLayoutRow(row, true);
uiItemR(sub, &ptr, "use_add", 0, "", ICON_NONE);
uiItemR(sub, ptr, "use_add", 0, "", ICON_NONE);
sub = uiLayoutRow(sub, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_add"));
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_add"));
uiLayoutSetPropSep(sub, false);
uiItemR(sub, &ptr, "add_threshold", UI_ITEM_R_SLIDER, "Threshold", ICON_NONE);
uiItemDecoratorR(row, &ptr, "add_threshold", 0);
uiItemR(sub, ptr, "add_threshold", UI_ITEM_R_SLIDER, "Threshold", ICON_NONE);
uiItemDecoratorR(row, ptr, "add_threshold", 0);
col = uiLayoutColumnWithHeading(layout, false, IFACE_("Group Remove"));
row = uiLayoutRow(col, true);
uiLayoutSetPropDecorate(row, false);
sub = uiLayoutRow(row, true);
uiItemR(sub, &ptr, "use_remove", 0, "", ICON_NONE);
uiItemR(sub, ptr, "use_remove", 0, "", ICON_NONE);
sub = uiLayoutRow(sub, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_remove"));
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_remove"));
uiLayoutSetPropSep(sub, false);
uiItemR(sub, &ptr, "remove_threshold", UI_ITEM_R_SLIDER, "Threshold", ICON_NONE);
uiItemDecoratorR(row, &ptr, "remove_threshold", 0);
uiItemR(sub, ptr, "remove_threshold", UI_ITEM_R_SLIDER, "Threshold", ICON_NONE);
uiItemDecoratorR(row, ptr, "remove_threshold", 0);
uiItemR(layout, &ptr, "normalize", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "normalize", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void falloff_panel_draw(const bContext *C, Panel *panel)
static void falloff_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
row = uiLayoutRow(layout, true);
uiItemR(row, &ptr, "falloff_type", 0, IFACE_("Type"), ICON_NONE);
uiItemR(row, ptr, "falloff_type", 0, IFACE_("Type"), ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetPropSep(sub, false);
uiItemR(row, &ptr, "invert_falloff", 0, "", ICON_ARROW_LEFTRIGHT);
if (RNA_enum_get(&ptr, "falloff_type") == MOD_WVG_MAPPING_CURVE) {
uiTemplateCurveMapping(layout, &ptr, "map_curve", 0, false, false, false, false);
uiItemR(row, ptr, "invert_falloff", 0, "", ICON_ARROW_LEFTRIGHT);
if (RNA_enum_get(ptr, "falloff_type") == MOD_WVG_MAPPING_CURVE) {
uiTemplateCurveMapping(layout, ptr, "map_curve", 0, false, false, false, false);
}
}
@@ -386,11 +384,10 @@ static void influence_panel_draw(const bContext *C, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
weightvg_ui_common(C, &ob_ptr, &ptr, layout);
weightvg_ui_common(C, &ob_ptr, ptr, layout);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -461,44 +461,41 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return mesh;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group_a", "invert_vertex_group_a", NULL);
modifier_vgroup_ui(
layout, &ptr, &ob_ptr, "vertex_group_b", "invert_vertex_group_b", IFACE_("B"));
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group_a", "invert_vertex_group_a", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group_b", "invert_vertex_group_b", IFACE_("B"));
uiItemS(layout);
uiItemR(layout, &ptr, "default_weight_a", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "default_weight_b", 0, IFACE_("B"), ICON_NONE);
uiItemR(layout, ptr, "default_weight_a", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "default_weight_b", 0, IFACE_("B"), ICON_NONE);
uiItemS(layout);
uiItemR(layout, &ptr, "mix_set", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "mix_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mix_set", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mix_mode", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "normalize", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "normalize", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void influence_panel_draw(const bContext *C, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
weightvg_ui_common(C, &ob_ptr, &ptr, layout);
weightvg_ui_common(C, &ob_ptr, ptr, layout);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -643,63 +643,60 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return mesh;
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemPointerR(layout, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
uiItemPointerR(layout, ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
uiItemR(layout, &ptr, "target", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "target", 0, NULL, ICON_NONE);
uiItemS(layout);
uiItemR(layout, &ptr, "proximity_mode", 0, NULL, ICON_NONE);
if (RNA_enum_get(&ptr, "proximity_mode") == MOD_WVG_PROXIMITY_GEOMETRY) {
uiItemR(layout, &ptr, "proximity_geometry", UI_ITEM_R_EXPAND, IFACE_("Geometry"), ICON_NONE);
uiItemR(layout, ptr, "proximity_mode", 0, NULL, ICON_NONE);
if (RNA_enum_get(ptr, "proximity_mode") == MOD_WVG_PROXIMITY_GEOMETRY) {
uiItemR(layout, ptr, "proximity_geometry", UI_ITEM_R_EXPAND, IFACE_("Geometry"), ICON_NONE);
}
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "min_dist", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "max_dist", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "min_dist", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "max_dist", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "normalize", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "normalize", 0, NULL, ICON_NONE);
}
static void falloff_panel_draw(const bContext *C, Panel *panel)
static void falloff_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
row = uiLayoutRow(layout, true);
uiItemR(row, &ptr, "falloff_type", 0, IFACE_("Type"), ICON_NONE);
uiItemR(row, ptr, "falloff_type", 0, IFACE_("Type"), ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetPropSep(sub, false);
uiItemR(row, &ptr, "invert_falloff", 0, "", ICON_ARROW_LEFTRIGHT);
modifier_panel_end(layout, &ptr);
uiItemR(row, ptr, "invert_falloff", 0, "", ICON_ARROW_LEFTRIGHT);
modifier_panel_end(layout, ptr);
}
static void influence_panel_draw(const bContext *C, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
weightvg_ui_common(C, &ob_ptr, &ptr, layout);
weightvg_ui_common(C, &ob_ptr, ptr, layout);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -1949,21 +1949,20 @@ static void requiredDataMask(Object *UNUSED(ob),
}
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "merge_threshold", 0, IFACE_("Distance"), ICON_NONE);
uiItemR(layout, &ptr, "max_interactions", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemR(layout, ptr, "merge_threshold", 0, IFACE_("Distance"), ICON_NONE);
uiItemR(layout, ptr, "max_interactions", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -117,57 +117,55 @@ static Mesh *modifyMesh(ModifierData *md, const struct ModifierEvalContext *ctx,
return WireframeModifier_do((WireframeModifierData *)md, ctx->object, mesh);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col, *row, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "thickness", 0, IFACE_("Thickness"), ICON_NONE);
uiItemR(layout, &ptr, "offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "thickness", 0, IFACE_("Thickness"), ICON_NONE);
uiItemR(layout, ptr, "offset", 0, NULL, ICON_NONE);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "use_boundary", 0, IFACE_("Boundary"), ICON_NONE);
uiItemR(col, &ptr, "use_replace", 0, IFACE_("Replace Original"), ICON_NONE);
uiItemR(col, ptr, "use_boundary", 0, IFACE_("Boundary"), ICON_NONE);
uiItemR(col, ptr, "use_replace", 0, IFACE_("Replace Original"), ICON_NONE);
col = uiLayoutColumnWithHeading(layout, true, IFACE_("Thickness"));
uiItemR(col, &ptr, "use_even_offset", 0, IFACE_("Even"), ICON_NONE);
uiItemR(col, &ptr, "use_relative_offset", 0, IFACE_("Relative"), ICON_NONE);
uiItemR(col, ptr, "use_even_offset", 0, IFACE_("Even"), ICON_NONE);
uiItemR(col, ptr, "use_relative_offset", 0, IFACE_("Relative"), ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Crease Edges"));
uiItemR(row, &ptr, "use_crease", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_crease", 0, "", ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_crease"));
uiItemR(sub, &ptr, "crease_weight", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_crease"));
uiItemR(sub, ptr, "crease_weight", UI_ITEM_R_SLIDER, "", ICON_NONE);
uiItemR(layout, &ptr, "material_offset", 0, IFACE_("Material Offset"), ICON_NONE);
uiItemR(layout, ptr, "material_offset", 0, IFACE_("Material Offset"), ICON_NONE);
modifier_panel_end(layout, &ptr);
modifier_panel_end(layout, ptr);
}
static void vertex_group_panel_draw(const bContext *C, Panel *panel)
static void vertex_group_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0;
uiLayoutSetPropSep(layout, true);
modifier_vgroup_ui(layout, &ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
row = uiLayoutRow(layout, true);
uiLayoutSetActive(row, has_vertex_group);
uiItemR(row, &ptr, "thickness_vertex_group", 0, IFACE_("Factor"), ICON_NONE);
uiItemR(row, ptr, "thickness_vertex_group", 0, IFACE_("Factor"), ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -54,25 +54,24 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target)
BKE_shaderfx_copydata_generic(md, target);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "samples", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "samples", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_dof_mode", 0, IFACE_("Use Depth of Field"), ICON_NONE);
uiItemR(layout, ptr, "use_dof_mode", 0, IFACE_("Use Depth of Field"), ICON_NONE);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, !RNA_boolean_get(&ptr, "use_dof_mode"));
uiItemR(col, &ptr, "size", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "rotation", 0, NULL, ICON_NONE);
uiLayoutSetActive(col, !RNA_boolean_get(ptr, "use_dof_mode"));
uiItemR(col, ptr, "size", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "rotation", 0, NULL, ICON_NONE);
shaderfx_panel_end(layout, &ptr);
shaderfx_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -55,31 +55,30 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target)
BKE_shaderfx_copydata_generic(md, target);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", 0, NULL, ICON_NONE);
if (ELEM(mode, eShaderFxColorizeMode_Custom, eShaderFxColorizeMode_Duotone)) {
const char *text = (mode == eShaderFxColorizeMode_Duotone) ? IFACE_("Low Color") :
IFACE_("Color");
uiItemR(layout, &ptr, "low_color", 0, text, ICON_NONE);
uiItemR(layout, ptr, "low_color", 0, text, ICON_NONE);
}
if (mode == eShaderFxColorizeMode_Duotone) {
uiItemR(layout, &ptr, "high_color", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "high_color", 0, NULL, ICON_NONE);
}
uiItemR(layout, &ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "factor", 0, NULL, ICON_NONE);
shaderfx_panel_end(layout, &ptr);
shaderfx_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -54,22 +54,21 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target)
BKE_shaderfx_copydata_generic(md, target);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
int toggles_flag = UI_ITEM_R_TOGGLE | UI_ITEM_R_FORCE_BLANK_DECORATE;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Axis"));
uiItemR(row, &ptr, "flip_horizontal", toggles_flag, NULL, ICON_NONE);
uiItemR(row, &ptr, "flip_vertical", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "flip_horizontal", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "flip_vertical", toggles_flag, NULL, ICON_NONE);
shaderfx_panel_end(layout, &ptr);
shaderfx_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -59,37 +59,36 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target)
BKE_shaderfx_copydata_generic(md, target);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
int mode = RNA_enum_get(&ptr, "mode");
int mode = RNA_enum_get(ptr, "mode");
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", 0, NULL, ICON_NONE);
if (mode == eShaderFxGlowMode_Luminance) {
uiItemR(layout, &ptr, "threshold", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "threshold", 0, NULL, ICON_NONE);
}
else {
uiItemR(layout, &ptr, "select_color", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "select_color", 0, NULL, ICON_NONE);
}
uiItemR(layout, &ptr, "glow_color", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "glow_color", 0, NULL, ICON_NONE);
uiItemS(layout);
uiItemR(layout, &ptr, "blend_mode", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "opacity", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "size", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "rotation", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "samples", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "use_glow_under", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "blend_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "opacity", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "size", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "rotation", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "samples", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_glow_under", 0, NULL, ICON_NONE);
shaderfx_panel_end(layout, &ptr);
shaderfx_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -52,25 +52,24 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target)
BKE_shaderfx_copydata_generic(md, target);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
/* Add the X, Y labels manually because size is a #PROP_PIXEL. */
col = uiLayoutColumn(layout, true);
PropertyRNA *prop = RNA_struct_find_property(&ptr, "size");
uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Size X"), ICON_NONE);
uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
PropertyRNA *prop = RNA_struct_find_property(ptr, "size");
uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Size X"), ICON_NONE);
uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
uiItemR(layout, &ptr, "use_antialiasing", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_antialiasing", 0, NULL, ICON_NONE);
shaderfx_panel_end(layout, &ptr);
shaderfx_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -58,46 +58,44 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target)
BKE_shaderfx_copydata_generic(md, target);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "rim_color", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "mask_color", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "mode", 0, IFACE_("Blend Mode"), ICON_NONE);
uiItemR(layout, ptr, "rim_color", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mask_color", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mode", 0, IFACE_("Blend Mode"), ICON_NONE);
/* Add the X, Y labels manually because offset is a #PROP_PIXEL. */
col = uiLayoutColumn(layout, true);
PropertyRNA *prop = RNA_struct_find_property(&ptr, "offset");
uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Offset X"), ICON_NONE);
uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
PropertyRNA *prop = RNA_struct_find_property(ptr, "offset");
uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Offset X"), ICON_NONE);
uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
shaderfx_panel_end(layout, &ptr);
shaderfx_panel_end(layout, ptr);
}
static void blur_panel_draw(const bContext *C, Panel *panel)
static void blur_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
/* Add the X, Y labels manually because blur is a #PROP_PIXEL. */
col = uiLayoutColumn(layout, true);
PropertyRNA *prop = RNA_struct_find_property(&ptr, "blur");
uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Blur X"), ICON_NONE);
uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
PropertyRNA *prop = RNA_struct_find_property(ptr, "blur");
uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Blur X"), ICON_NONE);
uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
uiItemR(layout, &ptr, "samples", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "samples", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -99,78 +99,74 @@ static void foreachObjectLink(ShaderFxData *fx,
walk(userData, ob, &fxd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *row, *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "shadow_color", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "shadow_color", 0, NULL, ICON_NONE);
/* Add the X, Y labels manually because size is a #PROP_PIXEL. */
col = uiLayoutColumn(layout, true);
PropertyRNA *prop = RNA_struct_find_property(&ptr, "offset");
uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Offset X"), ICON_NONE);
uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
PropertyRNA *prop = RNA_struct_find_property(ptr, "offset");
uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Offset X"), ICON_NONE);
uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
uiItemR(layout, &ptr, "scale", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "rotation", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "scale", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "rotation", 0, NULL, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Object Pivot"));
uiItemR(row, &ptr, "use_object", 0, "", ICON_NONE);
uiItemR(row, &ptr, "object", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_object", 0, "", ICON_NONE);
uiItemR(row, ptr, "object", 0, "", ICON_NONE);
shaderfx_panel_end(layout, &ptr);
shaderfx_panel_end(layout, ptr);
}
static void blur_panel_draw(const bContext *C, Panel *panel)
static void blur_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
/* Add the X, Y labels manually because size is a #PROP_PIXEL. */
col = uiLayoutColumn(layout, true);
PropertyRNA *prop = RNA_struct_find_property(&ptr, "blur");
uiItemFullR(col, &ptr, prop, 0, 0, 0, IFACE_("Blur X"), ICON_NONE);
uiItemFullR(col, &ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
PropertyRNA *prop = RNA_struct_find_property(ptr, "blur");
uiItemFullR(col, ptr, prop, 0, 0, 0, IFACE_("Blur X"), ICON_NONE);
uiItemFullR(col, ptr, prop, 1, 0, 0, IFACE_("Y"), ICON_NONE);
uiItemR(layout, &ptr, "samples", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "samples", 0, NULL, ICON_NONE);
}
static void wave_header_draw(const bContext *C, Panel *panel)
static void wave_header_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiItemR(layout, &ptr, "use_wave", 0, IFACE_("Wave Effect"), ICON_NONE);
uiItemR(layout, ptr, "use_wave", 0, IFACE_("Wave Effect"), ICON_NONE);
}
static void wave_panel_draw(const bContext *C, Panel *panel)
static void wave_panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "use_wave"));
uiLayoutSetActive(layout, RNA_boolean_get(ptr, "use_wave"));
uiItemR(layout, &ptr, "orientation", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, &ptr, "amplitude", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "period", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "phase", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "orientation", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "amplitude", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "period", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "phase", 0, NULL, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -86,21 +86,19 @@ static void foreachObjectLink(ShaderFxData *fx,
walk(userData, ob, &fxd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
shaderfx_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "radius", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "angle", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "radius", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "angle", 0, NULL, ICON_NONE);
shaderfx_panel_end(layout, &ptr);
shaderfx_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -55,21 +55,20 @@ static void copyData(const ShaderFxData *md, ShaderFxData *target)
BKE_shaderfx_copydata_generic(md, target);
}
static void panel_draw(const bContext *C, Panel *panel)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, &ptr, "orientation", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, &ptr, "amplitude", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "period", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "phase", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "orientation", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "amplitude", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "period", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "phase", 0, NULL, ICON_NONE);
shaderfx_panel_end(layout, &ptr);
shaderfx_panel_end(layout, ptr);
}
static void panelRegister(ARegionType *region_type)

View File

@@ -56,9 +56,9 @@
*/
static void shaderfx_reorder(bContext *C, Panel *panel, int new_index)
{
Object *ob = ED_object_active_context(C);
PointerRNA *fx_ptr = UI_panel_custom_data_get(panel);
ShaderFxData *fx = (ShaderFxData *)fx_ptr->data;
ShaderFxData *fx = BLI_findlink(&ob->shader_fx, panel->runtime.list_index);
PointerRNA props_ptr;
wmOperatorType *ot = WM_operatortype_find("OBJECT_OT_shaderfx_move_to_index", false);
WM_operator_properties_create_ptr(&props_ptr, ot);
@@ -71,20 +71,20 @@ static void shaderfx_reorder(bContext *C, Panel *panel, int new_index)
/**
* Get the expand flag from the active effect to use for the panel.
*/
static short get_shaderfx_expand_flag(const bContext *C, Panel *panel)
static short get_shaderfx_expand_flag(const bContext *UNUSED(C), Panel *panel)
{
Object *ob = ED_object_active_context(C);
ShaderFxData *fx = BLI_findlink(&ob->shader_fx, panel->runtime.list_index);
PointerRNA *fx_ptr = UI_panel_custom_data_get(panel);
ShaderFxData *fx = (ShaderFxData *)fx_ptr->data;
return fx->ui_expand_flag;
}
/**
* Save the expand flag for the panel and sub-panels to the effect.
*/
static void set_shaderfx_expand_flag(const bContext *C, Panel *panel, short expand_flag)
static void set_shaderfx_expand_flag(const bContext *UNUSED(C), Panel *panel, short expand_flag)
{
Object *ob = ED_object_active_context(C);
ShaderFxData *fx = BLI_findlink(&ob->shader_fx, panel->runtime.list_index);
PointerRNA *fx_ptr = UI_panel_custom_data_get(panel);
ShaderFxData *fx = (ShaderFxData *)fx_ptr->data;
fx->ui_expand_flag = expand_flag;
}
@@ -109,34 +109,30 @@ void shaderfx_panel_end(uiLayout *layout, PointerRNA *ptr)
/**
* Gets RNA pointers for the active object and the panel's shaderfx data.
*/
void shaderfx_panel_get_property_pointers(const bContext *C,
Panel *panel,
PointerRNA *r_ob_ptr,
PointerRNA *r_md_ptr)
PointerRNA *shaderfx_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
{
Object *ob = ED_object_active_context(C);
ShaderFxData *md = BLI_findlink(&ob->shader_fx, panel->runtime.list_index);
RNA_pointer_create(&ob->id, &RNA_ShaderFx, md, r_md_ptr);
PointerRNA *ptr = UI_panel_custom_data_get(panel);
BLI_assert(RNA_struct_is_a(ptr->type, &RNA_ShaderFx));
if (r_ob_ptr != NULL) {
RNA_pointer_create(&ob->id, &RNA_Object, ob, r_ob_ptr);
RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id, r_ob_ptr);
}
uiLayoutSetContextPointer(panel->layout, "shaderfx", r_md_ptr);
uiLayoutSetContextPointer(panel->layout, "shaderfx", ptr);
return ptr;
}
#define ERROR_LIBDATA_MESSAGE TIP_("External library data")
static void shaderfx_panel_header(const bContext *C, Panel *panel)
static void shaderfx_panel_header(const bContext *UNUSED(C), Panel *panel)
{
uiLayout *layout = panel->layout;
bool narrow_panel = (panel->sizex < UI_UNIT_X * 7 && panel->sizex != 0);
PointerRNA ptr;
shaderfx_panel_get_property_pointers(C, panel, NULL, &ptr);
Object *ob = ED_object_active_context(C);
ShaderFxData *fx = (ShaderFxData *)ptr.data;
PointerRNA *ptr = shaderfx_panel_get_property_pointers(panel, NULL);
Object *ob = (Object *)ptr->owner_id;
ShaderFxData *fx = (ShaderFxData *)ptr->data;
const ShaderFxTypeInfo *fxti = BKE_shaderfx_get_info(fx->type);
@@ -147,22 +143,22 @@ static void shaderfx_panel_header(const bContext *C, Panel *panel)
if (fxti->isDisabled && fxti->isDisabled(fx, 0)) {
uiLayoutSetRedAlert(row, true);
}
uiItemL(row, "", RNA_struct_ui_icon(ptr.type));
uiItemL(row, "", RNA_struct_ui_icon(ptr->type));
/* Effect name. */
row = uiLayoutRow(layout, true);
if (!narrow_panel) {
uiItemR(row, &ptr, "name", 0, "", ICON_NONE);
uiItemR(row, ptr, "name", 0, "", ICON_NONE);
}
/* Mode enabling buttons. */
if (fxti->flags & eShaderFxTypeFlag_SupportsEditmode) {
uiLayout *sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, false);
uiItemR(sub, &ptr, "show_in_editmode", 0, "", ICON_NONE);
uiItemR(sub, ptr, "show_in_editmode", 0, "", ICON_NONE);
}
uiItemR(row, &ptr, "show_viewport", 0, "", ICON_NONE);
uiItemR(row, &ptr, "show_render", 0, "", ICON_NONE);
uiItemR(row, ptr, "show_viewport", 0, "", ICON_NONE);
uiItemR(row, ptr, "show_render", 0, "", ICON_NONE);
row = uiLayoutRow(row, false);
uiLayoutSetEmboss(row, UI_EMBOSS_NONE);

View File

@@ -34,10 +34,8 @@ typedef void (*PanelDrawFn)(const bContext *, Panel *);
void shaderfx_panel_end(struct uiLayout *layout, PointerRNA *ptr);
void shaderfx_panel_get_property_pointers(const bContext *C,
struct Panel *panel,
struct PointerRNA *r_ob_ptr,
struct PointerRNA *r_ptr);
struct PointerRNA *shaderfx_panel_get_property_pointers(struct Panel *panel,
struct PointerRNA *r_ob_ptr);
PanelType *shaderfx_panel_register(ARegionType *region_type, ShaderFxType type, PanelDrawFn draw);