[Bf-blender-cvs] [3d6ed42] master: Fix T38999: Tool tabs and Old Addons living in perfect harmony.

Bastien Montagne noreply at git.blender.org
Tue Aug 26 14:51:05 CEST 2014


Commit: 3d6ed42c3bd8a36fca074457271712d56bd4c8e5
Author: Bastien Montagne
Date:   Tue Aug 26 14:43:33 2014 +0200
Branches: master
https://developer.blender.org/rB3d6ed42c3bd8a36fca074457271712d56bd4c8e5

Fix T38999: Tool tabs and Old Addons living in perfect harmony.

Just have a default 'Misc' category (harmless for panels in non-cat context).
In case we would still want a panel to show in all tabs (rather unlikely),
just explicitely give an empty string to its bl_category property.

Note I choose 'Misc' because it's much shorter than 'Uncategorized' (space
is an issue here), it's a one-liner to change it anyway if UI Mafia does not like it!

===================================================================

M	source/blender/makesdna/DNA_screen_types.h
M	source/blender/makesrna/intern/rna_ui.c

===================================================================

diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index 556923c..b96349e 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -315,6 +315,9 @@ enum {
 #define PNL_DEFAULT_CLOSED		1
 #define PNL_NO_HEADER			2
 
+/* Default panel category. */
+#define PNL_DEFAULT_CATEGORY "Misc"
+
 /* uiList layout_type */
 enum {
 	UILST_LAYOUT_DEFAULT          = 0,
diff --git a/source/blender/makesrna/intern/rna_ui.c b/source/blender/makesrna/intern/rna_ui.c
index f14fadf..0357864 100644
--- a/source/blender/makesrna/intern/rna_ui.c
+++ b/source/blender/makesrna/intern/rna_ui.c
@@ -201,6 +201,9 @@ static StructRNA *rna_Panel_register(Main *bmain, ReportList *reports, void *dat
 	/* We have to set default context! Else we get a void string... */
 	strcpy(dummypt.translation_context, BLF_I18NCONTEXT_DEFAULT_BPYRNA);
 
+	/* We have to set default category! Else we get a void string, and panel goes everywhere! */
+	strcpy(dummypt.category, PNL_DEFAULT_CATEGORY);
+
 	/* validate the python class */
 	if (validate(&dummyptr, data, have_function) != 0)
 		return NULL;
@@ -987,7 +990,7 @@ static void rna_def_panel(BlenderRNA *brna)
 
 	prop = RNA_def_property(srna, "bl_category", PROP_STRING, PROP_NONE);
 	RNA_def_property_string_sdna(prop, NULL, "type->category");
-	RNA_def_property_string_default(prop, BLF_I18NCONTEXT_DEFAULT_BPYRNA);
+	RNA_def_property_string_default(prop, PNL_DEFAULT_CATEGORY);
 	RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL);
 
 	prop = RNA_def_property(srna, "bl_space_type", PROP_ENUM, PROP_NONE);




More information about the Bf-blender-cvs mailing list