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!
This commit is contained in:
Bastien Montagne 2014-08-26 14:43:33 +02:00
parent 8f15be2fee
commit 3d6ed42c3b
Notes: blender-bot 2023-02-14 11:03:52 +01:00
Referenced by issue #38999, Tool tabs and Old Addons living in perfect harmony
2 changed files with 7 additions and 1 deletions

View File

@ -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,

View File

@ -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);