[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22963] branches/blender2.5/blender/source /blender: Grease Pencil: Datablock bugfixes

Joshua Leung aligorith at gmail.com
Thu Sep 3 07:12:35 CEST 2009


Revision: 22963
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22963
Author:   aligorith
Date:     2009-09-03 07:12:34 +0200 (Thu, 03 Sep 2009)

Log Message:
-----------
Grease Pencil: Datablock bugfixes

* Grease Pencil datablocks can now be properly browsed/added/unlinked from the UI panels

* Made Grease Pencil use the brush icon for now. A proper icon for this would be nice ;)

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/gpencil/gpencil_buttons.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_gpencil.c

Modified: branches/blender2.5/blender/source/blender/editors/gpencil/gpencil_buttons.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/gpencil/gpencil_buttons.c	2009-09-03 02:55:23 UTC (rev 22962)
+++ branches/blender2.5/blender/source/blender/editors/gpencil/gpencil_buttons.c	2009-09-03 05:12:34 UTC (rev 22963)
@@ -238,12 +238,15 @@
 	col= uiLayoutColumn(layout, 0);
 		/* current Grease Pencil block */
 		// TODO: show some info about who owns this?
-		//uiTemplateID(col, C, ctx_ptr, "grease_pencil", "GPENCIL_OT_data_new", "GPENCIL_OT_data_unlink"); // XXX not working
-		uiItemR(col, NULL, 0, ctx_ptr, "grease_pencil", 0); // XXX this will have to do for now...
+		uiTemplateID(col, C, ctx_ptr, "grease_pencil", "GPENCIL_OT_data_add", "GPENCIL_OT_data_unlink"); 
 		
-		/* add new layer button */
+		/* add new layer button - can be used even when no data, since it can add a new block too */
 		uiItemO(col, NULL, 0, "GPENCIL_OT_layer_add");
 	
+	/* sanity checks... */
+	if (gpd == NULL)
+		return;
+	
 	/* draw each layer --------------------------------------------- */
 	for (gpl= gpd->layers.first; gpl; gpl= gpl->next) {
 		col= uiLayoutColumn(layout, 1);
@@ -271,7 +274,7 @@
 	/* get pointer to Grease Pencil Data */
 	gpd_ptr= gpencil_data_get_pointers((bContext *)C, &ptr);
 	
-	if (gpd_ptr && *gpd_ptr)
+	if (gpd_ptr)
 		draw_gpencil_panel((bContext *)C, pa->layout, *gpd_ptr, &ptr);
 }
 

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c	2009-09-03 02:55:23 UTC (rev 22962)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c	2009-09-03 05:12:34 UTC (rev 22963)
@@ -65,6 +65,7 @@
 	if(RNA_struct_is_a(type, &RNA_Brush)) return ID_BR;
 	if(RNA_struct_is_a(type, &RNA_Camera)) return ID_CA;
 	if(RNA_struct_is_a(type, &RNA_Curve)) return ID_CU;
+	if(RNA_struct_is_a(type, &RNA_GreasePencil)) return ID_GD;
 	if(RNA_struct_is_a(type, &RNA_Group)) return ID_GR;
 	if(RNA_struct_is_a(type, &RNA_Image)) return ID_IM;
 	if(RNA_struct_is_a(type, &RNA_Key)) return ID_KE;

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_gpencil.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_gpencil.c	2009-09-03 02:55:23 UTC (rev 22962)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_gpencil.c	2009-09-03 05:12:34 UTC (rev 22963)
@@ -223,7 +223,7 @@
 	srna= RNA_def_struct(brna, "GreasePencil", "ID");
 	RNA_def_struct_sdna(srna, "bGPdata");
 	RNA_def_struct_ui_text(srna, "Grease Pencil", "Freehand annotation sketchbook.");
-	//RNA_def_struct_ui_icon(srna, ICON_GPENCIL);
+	RNA_def_struct_ui_icon(srna, ICON_BRUSH_DATA); // XXX: ICON_GPENCIL!!!
 	
 	/* Layers */
 	prop= RNA_def_property(srna, "layers", PROP_COLLECTION, PROP_NONE);





More information about the Bf-blender-cvs mailing list