[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