[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49157] trunk/blender/source/blender/ makesrna/intern: mask layer rna api: add exception when removing incorrect masklayer from mask, add mask.layers .clear()
Campbell Barton
ideasman42 at gmail.com
Mon Jul 23 23:47:13 CEST 2012
Revision: 49157
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49157
Author: campbellbarton
Date: 2012-07-23 21:47:11 +0000 (Mon, 23 Jul 2012)
Log Message:
-----------
mask layer rna api: add exception when removing incorrect masklayer from mask, add mask.layers.clear()
Modified Paths:
--------------
trunk/blender/source/blender/makesrna/intern/rna_mask.c
trunk/blender/source/blender/makesrna/intern/rna_object.c
Modified: trunk/blender/source/blender/makesrna/intern/rna_mask.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_mask.c 2012-07-23 21:09:13 UTC (rev 49156)
+++ trunk/blender/source/blender/makesrna/intern/rna_mask.c 2012-07-23 21:47:11 UTC (rev 49157)
@@ -324,7 +324,7 @@
/* ** API ** */
-static MaskLayer *rna_Mask_layer_new(Mask *mask, const char *name)
+static MaskLayer *rna_Mask_layers_new(Mask *mask, const char *name)
{
MaskLayer *masklay = BKE_mask_layer_new(mask, name);
@@ -333,13 +333,25 @@
return masklay;
}
-void rna_Mask_layer_remove(Mask *mask, MaskLayer *masklay)
+void rna_Mask_layers_remove(Mask *mask, ReportList *reports, MaskLayer *masklay)
{
+ if (BLI_findindex(&mask->masklayers, masklay) == -1) {
+ BKE_reportf(reports, RPT_ERROR, "MaskLayer '%s' not found in mask '%s'", masklay->name, mask->id.name + 2);
+ return;
+ }
+
BKE_mask_layer_remove(mask, masklay);
WM_main_add_notifier(NC_MASK | NA_EDITED, mask);
}
+static void rna_Mask_layers_clear(Mask *mask)
+{
+ BKE_mask_layer_free_list(&mask->masklayers);
+
+ WM_main_add_notifier(NC_MASK | NA_EDITED, mask);
+}
+
static void rna_MaskLayer_spline_add(ID *id, MaskLayer *masklay, int number)
{
Mask *mask = (Mask*) id;
@@ -680,16 +692,21 @@
RNA_def_struct_sdna(srna, "Mask");
RNA_def_struct_ui_text(srna, "Mask Layers", "Collection of layers used by mask");
- func = RNA_def_function(srna, "new", "rna_Mask_layer_new");
+ func = RNA_def_function(srna, "new", "rna_Mask_layers_new");
RNA_def_function_ui_description(func, "Add layer to this mask");
RNA_def_string(func, "name", "", 0, "Name", "Name of new layer");
parm = RNA_def_pointer(func, "layer", "MaskLayer", "", "New mask layer");
RNA_def_function_return(func, parm);
- func = RNA_def_function(srna, "remove", "rna_Mask_layer_remove");
+ func = RNA_def_function(srna, "remove", "rna_Mask_layers_remove");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
RNA_def_function_ui_description(func, "Remove layer from this mask");
RNA_def_pointer(func, "layer", "MaskLayer", "", "Shape to be removed");
+ /* clear all layers */
+ func = RNA_def_function(srna, "clear", "rna_Mask_layers_clear");
+ RNA_def_function_ui_description(func, "Remove all mask layers");
+
/* active layer */
prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "MaskLayer");
Modified: trunk/blender/source/blender/makesrna/intern/rna_object.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_object.c 2012-07-23 21:09:13 UTC (rev 49156)
+++ trunk/blender/source/blender/makesrna/intern/rna_object.c 2012-07-23 21:47:11 UTC (rev 49157)
@@ -1759,7 +1759,7 @@
/* RNA_def_property_collection_active(prop, prop_act); */
#endif
- /* add target */
+ /* add modifier */
func = RNA_def_function(srna, "new", "rna_Object_modifier_new");
RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
RNA_def_function_ui_description(func, "Add a new modifier");
@@ -1772,11 +1772,11 @@
parm = RNA_def_pointer(func, "modifier", "Modifier", "", "Newly created modifier");
RNA_def_function_return(func, parm);
- /* remove target */
+ /* remove modifier */
func = RNA_def_function(srna, "remove", "rna_Object_modifier_remove");
RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
RNA_def_function_ui_description(func, "Remove an existing modifier from the object");
- /* target to remove*/
+ /* modifier to remove */
parm = RNA_def_pointer(func, "modifier", "Modifier", "", "Modifier to remove");
RNA_def_property_flag(parm, PROP_REQUIRED | PROP_NEVER_NULL);
More information about the Bf-blender-cvs
mailing list