From d863b5182e911b63f874c075f6c24a4c5933811e Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 18 Mar 2017 09:39:36 +1100 Subject: [PATCH 1/9] Cleanup: use return args last and 'r_' prefix. --- source/blender/editors/interface/interface.c | 14 +++++++------- source/blender/editors/util/numinput.c | 2 +- source/blender/python/BPY_extern.h | 2 +- source/blender/python/generic/py_capi_utils.c | 14 +++++++------- source/blender/python/generic/py_capi_utils.h | 6 +++--- source/blender/python/intern/bpy_interface.c | 10 ++++++---- 6 files changed, 25 insertions(+), 23 deletions(-) diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 0328d09ef9a..57f3d228a17 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -2288,7 +2288,7 @@ char *ui_but_string_get_dynamic(uiBut *but, int *r_str_size) #ifdef WITH_PYTHON -static bool ui_set_but_string_eval_num_unit(bContext *C, uiBut *but, const char *str, double *value) +static bool ui_set_but_string_eval_num_unit(bContext *C, uiBut *but, const char *str, double *r_value) { char str_unit_convert[256]; const int unit_type = UI_but_unit_type_get(but); @@ -2300,13 +2300,13 @@ static bool ui_set_but_string_eval_num_unit(bContext *C, uiBut *but, const char bUnit_ReplaceString(str_unit_convert, sizeof(str_unit_convert), but->drawstr, ui_get_but_scale_unit(but, 1.0), but->block->unit->system, RNA_SUBTYPE_UNIT_VALUE(unit_type)); - return BPY_execute_string_as_number(C, str_unit_convert, value, true); + return BPY_execute_string_as_number(C, str_unit_convert, true, r_value); } #endif /* WITH_PYTHON */ -bool ui_but_string_set_eval_num(bContext *C, uiBut *but, const char *str, double *value) +bool ui_but_string_set_eval_num(bContext *C, uiBut *but, const char *str, double *r_value) { bool ok = false; @@ -2315,13 +2315,13 @@ bool ui_but_string_set_eval_num(bContext *C, uiBut *but, const char *str, double if (str[0] != '\0') { bool is_unit_but = (ui_but_is_float(but) && ui_but_is_unit(but)); /* only enable verbose if we won't run again with units */ - if (BPY_execute_string_as_number(C, str, value, is_unit_but == false)) { + if (BPY_execute_string_as_number(C, str, is_unit_but == false, r_value)) { /* if the value parsed ok without unit conversion this button may still need a unit multiplier */ if (is_unit_but) { char str_new[128]; - BLI_snprintf(str_new, sizeof(str_new), "%f", *value); - ok = ui_set_but_string_eval_num_unit(C, but, str_new, value); + BLI_snprintf(str_new, sizeof(str_new), "%f", *r_value); + ok = ui_set_but_string_eval_num_unit(C, but, str_new, r_value); } else { ok = true; /* parse normal string via py (no unit conversion needed) */ @@ -2329,7 +2329,7 @@ bool ui_but_string_set_eval_num(bContext *C, uiBut *but, const char *str, double } else if (is_unit_but) { /* parse failed, this is a unit but so run replacements and parse again */ - ok = ui_set_but_string_eval_num_unit(C, but, str, value); + ok = ui_set_but_string_eval_num_unit(C, but, str, r_value); } } diff --git a/source/blender/editors/util/numinput.c b/source/blender/editors/util/numinput.c index e07831358d6..3727be1842c 100644 --- a/source/blender/editors/util/numinput.c +++ b/source/blender/editors/util/numinput.c @@ -497,7 +497,7 @@ bool handleNumInput(bContext *C, NumInput *n, const wmEvent *event) n->unit_sys, n->unit_type[idx]); /* Note: with angles, we always get values as radians here... */ - if (BPY_execute_string_as_number(C, str_unit_convert, &val, false)) { + if (BPY_execute_string_as_number(C, str_unit_convert, false, &val)) { n->val[idx] = (float)val; n->val_flag[idx] &= ~NUM_INVALID; } diff --git a/source/blender/python/BPY_extern.h b/source/blender/python/BPY_extern.h index 3148dab3c50..451ac271cdc 100644 --- a/source/blender/python/BPY_extern.h +++ b/source/blender/python/BPY_extern.h @@ -75,7 +75,7 @@ void BPY_thread_restore(BPy_ThreadStatePtr tstate); bool BPY_execute_filepath(struct bContext *C, const char *filepath, struct ReportList *reports); bool BPY_execute_text(struct bContext *C, struct Text *text, struct ReportList *reports, const bool do_jump); -bool BPY_execute_string_as_number(struct bContext *C, const char *expr, double *value, const bool verbose); +bool BPY_execute_string_as_number(struct bContext *C, const char *expr, const bool verbose, double *r_value); bool BPY_execute_string_ex(struct bContext *C, const char *expr, bool use_eval); bool BPY_execute_string(struct bContext *C, const char *expr); diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c index 7b2d58a1268..a2dc27f18e2 100644 --- a/source/blender/python/generic/py_capi_utils.c +++ b/source/blender/python/generic/py_capi_utils.c @@ -918,11 +918,11 @@ char *PyC_FlagSet_AsString(PyC_FlagSet *item) return cstring; } -int PyC_FlagSet_ValueFromID_int(PyC_FlagSet *item, const char *identifier, int *value) +int PyC_FlagSet_ValueFromID_int(PyC_FlagSet *item, const char *identifier, int *r_value) { for ( ; item->identifier; item++) { if (STREQ(item->identifier, identifier)) { - *value = item->value; + *r_value = item->value; return 1; } } @@ -930,9 +930,9 @@ int PyC_FlagSet_ValueFromID_int(PyC_FlagSet *item, const char *identifier, int * return 0; } -int PyC_FlagSet_ValueFromID(PyC_FlagSet *item, const char *identifier, int *value, const char *error_prefix) +int PyC_FlagSet_ValueFromID(PyC_FlagSet *item, const char *identifier, int *r_value, const char *error_prefix) { - if (PyC_FlagSet_ValueFromID_int(item, identifier, value) == 0) { + if (PyC_FlagSet_ValueFromID_int(item, identifier, r_value) == 0) { const char *enum_str = PyC_FlagSet_AsString(item); PyErr_Format(PyExc_ValueError, "%s: '%.200s' not found in (%s)", @@ -1006,7 +1006,7 @@ PyObject *PyC_FlagSet_FromBitfield(PyC_FlagSet *items, int flag) * * \note it is caller's responsibility to acquire & release GIL! */ -bool PyC_RunString_AsNumber(const char *expr, double *value, const char *filename) +bool PyC_RunString_AsNumber(const char *expr, const char *filename, double *r_value) { PyObject *py_dict, *mod, *retval; bool ok = true; @@ -1058,10 +1058,10 @@ bool PyC_RunString_AsNumber(const char *expr, double *value, const char *filenam ok = false; } else if (!isfinite(val)) { - *value = 0.0; + *r_value = 0.0; } else { - *value = val; + *r_value = val; } } diff --git a/source/blender/python/generic/py_capi_utils.h b/source/blender/python/generic/py_capi_utils.h index 04cfc8801eb..e0c66641e54 100644 --- a/source/blender/python/generic/py_capi_utils.h +++ b/source/blender/python/generic/py_capi_utils.h @@ -75,12 +75,12 @@ typedef struct PyC_FlagSet { } PyC_FlagSet; char *PyC_FlagSet_AsString(PyC_FlagSet *item); -int PyC_FlagSet_ValueFromID_int(PyC_FlagSet *item, const char *identifier, int *value); -int PyC_FlagSet_ValueFromID(PyC_FlagSet *item, const char *identifier, int *value, const char *error_prefix); +int PyC_FlagSet_ValueFromID_int(PyC_FlagSet *item, const char *identifier, int *r_value); +int PyC_FlagSet_ValueFromID(PyC_FlagSet *item, const char *identifier, int *r_value, const char *error_prefix); int PyC_FlagSet_ToBitfield(PyC_FlagSet *items, PyObject *value, int *r_value, const char *error_prefix); PyObject *PyC_FlagSet_FromBitfield(PyC_FlagSet *items, int flag); -bool PyC_RunString_AsNumber(const char *expr, double *value, const char *filename); +bool PyC_RunString_AsNumber(const char *expr, const char *filename, double *r_value); int PyC_ParseBool(PyObject *o, void *p); diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index 311f621e13b..1d561517eab 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -572,21 +572,23 @@ void BPY_DECREF_RNA_INVALIDATE(void *pyob_ptr) /** * \return success */ -bool BPY_execute_string_as_number(bContext *C, const char *expr, double *value, const bool verbose) +bool BPY_execute_string_as_number(bContext *C, const char *expr, const bool verbose, double *r_value) { PyGILState_STATE gilstate; bool ok = true; - if (!value || !expr) return -1; + if (!r_value || !expr) { + return -1; + } if (expr[0] == '\0') { - *value = 0.0; + *r_value = 0.0; return ok; } bpy_context_set(C, &gilstate); - ok = PyC_RunString_AsNumber(expr, value, ""); + ok = PyC_RunString_AsNumber(expr, "", r_value); if (ok == false) { if (verbose) { From e392bb49372a76cb4abd7d64d73e37f9c7fcb806 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 18 Mar 2017 12:19:03 +1100 Subject: [PATCH 2/9] PyAPI: add BPY_execute_string_as_string Utility to execute a string and get the resulting string, matching BPY_execute_string_as_number. Not used just yet but generally useful function. --- source/blender/python/BPY_extern.h | 1 + source/blender/python/generic/py_capi_utils.c | 37 +++++++++++++++++++ source/blender/python/generic/py_capi_utils.h | 1 + source/blender/python/intern/bpy_interface.c | 36 ++++++++++++++++++ 4 files changed, 75 insertions(+) diff --git a/source/blender/python/BPY_extern.h b/source/blender/python/BPY_extern.h index 451ac271cdc..b4c36a7c516 100644 --- a/source/blender/python/BPY_extern.h +++ b/source/blender/python/BPY_extern.h @@ -76,6 +76,7 @@ void BPY_thread_restore(BPy_ThreadStatePtr tstate); bool BPY_execute_filepath(struct bContext *C, const char *filepath, struct ReportList *reports); bool BPY_execute_text(struct bContext *C, struct Text *text, struct ReportList *reports, const bool do_jump); bool BPY_execute_string_as_number(struct bContext *C, const char *expr, const bool verbose, double *r_value); +bool BPY_execute_string_as_string(struct bContext *C, const char *expr, const bool verbose, char **r_value); bool BPY_execute_string_ex(struct bContext *C, const char *expr, bool use_eval); bool BPY_execute_string(struct bContext *C, const char *expr); diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c index a2dc27f18e2..2e789d6d4b3 100644 --- a/source/blender/python/generic/py_capi_utils.c +++ b/source/blender/python/generic/py_capi_utils.c @@ -1070,4 +1070,41 @@ bool PyC_RunString_AsNumber(const char *expr, const char *filename, double *r_va return ok; } +bool PyC_RunString_AsString(const char *expr, const char *filename, char **r_value) +{ + PyObject *py_dict, *retval; + bool ok = true; + PyObject *main_mod = NULL; + + PyC_MainModule_Backup(&main_mod); + + py_dict = PyC_DefaultNameSpace(filename); + + retval = PyRun_String(expr, Py_eval_input, py_dict, py_dict); + + if (retval == NULL) { + ok = false; + } + else { + const char *val; + Py_ssize_t val_len; + + val = _PyUnicode_AsStringAndSize(retval, &val_len); + if (val == NULL && PyErr_Occurred()) { + ok = false; + } + else { + char *val_alloc = MEM_mallocN(val_len + 1, __func__); + memcpy(val_alloc, val, val_len + 1); + *r_value = val_alloc; + } + + Py_DECREF(retval); + } + + PyC_MainModule_Restore(main_mod); + + return ok; +} + #endif /* #ifndef MATH_STANDALONE */ diff --git a/source/blender/python/generic/py_capi_utils.h b/source/blender/python/generic/py_capi_utils.h index e0c66641e54..3f89e1d82a0 100644 --- a/source/blender/python/generic/py_capi_utils.h +++ b/source/blender/python/generic/py_capi_utils.h @@ -81,6 +81,7 @@ int PyC_FlagSet_ToBitfield(PyC_FlagSet *items, PyObject *value, int *r_val PyObject *PyC_FlagSet_FromBitfield(PyC_FlagSet *items, int flag); bool PyC_RunString_AsNumber(const char *expr, const char *filename, double *r_value); +bool PyC_RunString_AsString(const char *expr, const char *filename, char **r_value); int PyC_ParseBool(PyObject *o, void *p); diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index 1d561517eab..55e477b0214 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -604,6 +604,42 @@ bool BPY_execute_string_as_number(bContext *C, const char *expr, const bool verb return ok; } +/** + * \return success + */ +bool BPY_execute_string_as_string(bContext *C, const char *expr, const bool verbose, char **r_value) +{ + PyGILState_STATE gilstate; + bool ok = true; + + if (!r_value || !expr) { + return -1; + } + + if (expr[0] == '\0') { + *r_value = NULL; + return ok; + } + + bpy_context_set(C, &gilstate); + + ok = PyC_RunString_AsString(expr, "", r_value); + + if (ok == false) { + if (verbose) { + BPy_errors_to_report_ex(CTX_wm_reports(C), false, false); + } + else { + PyErr_Clear(); + } + } + + bpy_context_clear(C, &gilstate); + + return ok; +} + + bool BPY_execute_string_ex(bContext *C, const char *expr, bool use_eval) { PyGILState_STATE gilstate; From 3ceb68c8338e1c23f7e625aee393a71b54a242ce Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 18 Mar 2017 12:33:42 +1100 Subject: [PATCH 3/9] Missing from recent commit --- source/blender/python/intern/bpy_utils_units.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/python/intern/bpy_utils_units.c b/source/blender/python/intern/bpy_utils_units.c index 974d7c5549c..e0c70483e3c 100644 --- a/source/blender/python/intern/bpy_utils_units.c +++ b/source/blender/python/intern/bpy_utils_units.c @@ -201,7 +201,7 @@ static PyObject *bpyunits_to_value(PyObject *UNUSED(self), PyObject *args, PyObj bUnit_ReplaceString(str, (int)str_len, uref, scale, usys, ucat); - if (!PyC_RunString_AsNumber(str, &result, "")) { + if (!PyC_RunString_AsNumber(str, "", &result)) { if (PyErr_Occurred()) { PyErr_Print(); PyErr_Clear(); From 2fbc50e4c1714d393453209ff6c305c01bb3421f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 18 Mar 2017 18:29:16 +1100 Subject: [PATCH 4/9] Alternate fix for T50899 object_get_derived_final shouldn't have been assuming mesh objects. It's even valid to use a curve as a target for a shrink-wrap modifier. --- source/blender/blenkernel/intern/DerivedMesh.c | 13 +++++++------ source/blender/blenkernel/intern/shrinkwrap.c | 9 ++------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 160adcc3988..8b7329cf940 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -2912,9 +2912,6 @@ DerivedMesh *editbmesh_get_derived_base(Object *obedit, BMEditMesh *em, CustomDa /* get derived mesh from an object, using editbmesh if available. */ DerivedMesh *object_get_derived_final(Object *ob, const bool for_render) { - Mesh *me = ob->data; - BMEditMesh *em = me->edit_btmesh; - if (for_render) { /* TODO(sergey): use proper derived render here in the future. */ return ob->derivedFinal; @@ -2922,9 +2919,13 @@ DerivedMesh *object_get_derived_final(Object *ob, const bool for_render) /* only return the editmesh if its from this object because * we don't a mesh from another object's modifier stack: T43122 */ - if (em && (em->ob == ob)) { - DerivedMesh *dm = em->derivedFinal; - return dm; + if (ob->type == OB_MESH) { + Mesh *me = ob->data; + BMEditMesh *em = me->edit_btmesh; + if (em && (em->ob == ob)) { + DerivedMesh *dm = em->derivedFinal; + return dm; + } } return ob->derivedFinal; diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c index b14ed2d67ad..7094d5a3547 100644 --- a/source/blender/blenkernel/intern/shrinkwrap.c +++ b/source/blender/blenkernel/intern/shrinkwrap.c @@ -588,13 +588,8 @@ void shrinkwrapModifier_deform(ShrinkwrapModifierData *smd, Object *ob, DerivedM DerivedMesh *ss_mesh = NULL; ShrinkwrapCalcData calc = NULL_ShrinkwrapCalcData; - /* remove loop dependencies on derived meshes (TODO should this be done elsewhere?) - * This also ensure the target is of type OBJ_MESH avoiding crash in `object_get_derived_final` (see T50899). */ - if (smd->target) { - if (smd->target->type != OB_MESH || smd->target == ob) { - smd->target = NULL; - } - } + /* remove loop dependencies on derived meshes (TODO should this be done elsewhere?) */ + if (smd->target == ob) smd->target = NULL; if (smd->auxTarget == ob) smd->auxTarget = NULL; From 9bdda427e6ffa2b07f924530b7d2a2db6adbb797 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 18 Mar 2017 20:03:24 +1100 Subject: [PATCH 5/9] PyAPI: remove bpy.utils.register_module() In preparation for it being removed, see: T47811 --- .../scripts/startup/bl_operators/__init__.py | 10 +- .../startup/bl_operators/add_mesh_torus.py | 5 + release/scripts/startup/bl_operators/anim.py | 8 + release/scripts/startup/bl_operators/clip.py | 14 ++ .../scripts/startup/bl_operators/console.py | 9 ++ release/scripts/startup/bl_operators/file.py | 5 + release/scripts/startup/bl_operators/image.py | 8 + release/scripts/startup/bl_operators/mask.py | 5 + release/scripts/startup/bl_operators/mesh.py | 7 + release/scripts/startup/bl_operators/node.py | 11 ++ .../scripts/startup/bl_operators/object.py | 19 +++ .../startup/bl_operators/object_align.py | 5 + .../bl_operators/object_quick_effects.py | 8 + .../object_randomize_transform.py | 5 + .../scripts/startup/bl_operators/presets.py | 23 +++ .../scripts/startup/bl_operators/rigidbody.py | 7 + .../bl_operators/screen_play_rendered_anim.py | 5 + .../scripts/startup/bl_operators/sequencer.py | 7 + .../bl_operators/uvcalc_follow_active.py | 5 + .../startup/bl_operators/uvcalc_lightmap.py | 5 + .../bl_operators/uvcalc_smart_project.py | 5 + .../startup/bl_operators/vertexpaint_dirt.py | 5 + .../scripts/startup/bl_operators/view3d.py | 8 + release/scripts/startup/bl_operators/wm.py | 55 +++++++ release/scripts/startup/bl_ui/__init__.py | 11 +- .../startup/bl_ui/properties_animviz.py | 9 +- .../startup/bl_ui/properties_constraint.py | 9 +- .../startup/bl_ui/properties_data_armature.py | 18 ++- .../startup/bl_ui/properties_data_bone.py | 17 +- .../startup/bl_ui/properties_data_camera.py | 17 +- .../startup/bl_ui/properties_data_curve.py | 18 ++- .../startup/bl_ui/properties_data_empty.py | 9 +- .../startup/bl_ui/properties_data_lamp.py | 18 ++- .../startup/bl_ui/properties_data_lattice.py | 11 +- .../startup/bl_ui/properties_data_mesh.py | 21 ++- .../startup/bl_ui/properties_data_metaball.py | 13 +- .../startup/bl_ui/properties_data_modifier.py | 8 +- .../startup/bl_ui/properties_data_speaker.py | 13 +- .../startup/bl_ui/properties_freestyle.py | 4 +- .../scripts/startup/bl_ui/properties_game.py | 27 +++- .../bl_ui/properties_grease_pencil_common.py | 21 +++ .../startup/bl_ui/properties_mask_common.py | 14 +- .../startup/bl_ui/properties_material.py | 35 ++++- .../startup/bl_ui/properties_object.py | 20 ++- .../startup/bl_ui/properties_paint_common.py | 10 ++ .../startup/bl_ui/properties_particle.py | 26 +++- .../startup/bl_ui/properties_physics_cloth.py | 14 +- .../bl_ui/properties_physics_common.py | 9 +- .../bl_ui/properties_physics_dynamicpaint.py | 24 ++- .../startup/bl_ui/properties_physics_field.py | 10 +- .../startup/bl_ui/properties_physics_fluid.py | 13 +- .../bl_ui/properties_physics_rigidbody.py | 11 +- ...properties_physics_rigidbody_constraint.py | 8 +- .../startup/bl_ui/properties_physics_smoke.py | 16 +- .../bl_ui/properties_physics_softbody.py | 15 +- .../startup/bl_ui/properties_render.py | 21 ++- .../startup/bl_ui/properties_render_layer.py | 13 +- .../scripts/startup/bl_ui/properties_scene.py | 22 ++- .../startup/bl_ui/properties_texture.py | 35 ++++- .../scripts/startup/bl_ui/properties_world.py | 17 +- release/scripts/startup/bl_ui/space_clip.py | 66 +++++++- .../scripts/startup/bl_ui/space_console.py | 12 +- .../scripts/startup/bl_ui/space_dopesheet.py | 18 ++- .../startup/bl_ui/space_filebrowser.py | 15 +- release/scripts/startup/bl_ui/space_graph.py | 15 +- release/scripts/startup/bl_ui/space_image.py | 56 ++++++- release/scripts/startup/bl_ui/space_info.py | 20 ++- release/scripts/startup/bl_ui/space_logic.py | 13 +- release/scripts/startup/bl_ui/space_nla.py | 16 +- release/scripts/startup/bl_ui/space_node.py | 29 +++- .../scripts/startup/bl_ui/space_outliner.py | 13 +- .../scripts/startup/bl_ui/space_properties.py | 16 +- .../scripts/startup/bl_ui/space_sequencer.py | 34 +++- release/scripts/startup/bl_ui/space_text.py | 22 ++- release/scripts/startup/bl_ui/space_time.py | 15 +- .../scripts/startup/bl_ui/space_userpref.py | 24 ++- release/scripts/startup/bl_ui/space_view3d.py | 145 +++++++++++++++++- .../startup/bl_ui/space_view3d_toolbar.py | 66 +++++++- .../scripts/startup/keyingsets_builtins.py | 32 +++- 79 files changed, 1367 insertions(+), 81 deletions(-) diff --git a/release/scripts/startup/bl_operators/__init__.py b/release/scripts/startup/bl_operators/__init__.py index a696410ca1c..c28c1461003 100644 --- a/release/scripts/startup/bl_operators/__init__.py +++ b/release/scripts/startup/bl_operators/__init__.py @@ -63,8 +63,14 @@ del _namespace def register(): - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for mod in _modules_loaded: + for cls in mod.classes: + register_class(cls) def unregister(): - bpy.utils.unregister_module(__name__) + from bpy.utils import unregister_class + for mod in reversed(_modules_loaded): + for cls in reversed(mod.classes): + unregister_class(cls) diff --git a/release/scripts/startup/bl_operators/add_mesh_torus.py b/release/scripts/startup/bl_operators/add_mesh_torus.py index 247b91e147f..0e5acea94f9 100644 --- a/release/scripts/startup/bl_operators/add_mesh_torus.py +++ b/release/scripts/startup/bl_operators/add_mesh_torus.py @@ -282,3 +282,8 @@ class AddTorus(Operator, object_utils.AddObjectHelper): object_utils.object_data_add(context, mesh, operator=self) return {'FINISHED'} + + +classes = ( + AddTorus, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/anim.py b/release/scripts/startup/bl_operators/anim.py index c20d591241c..e1a0b3c9908 100644 --- a/release/scripts/startup/bl_operators/anim.py +++ b/release/scripts/startup/bl_operators/anim.py @@ -412,3 +412,11 @@ class UpdateAnimatedTransformConstraint(Operator): text.from_string(log) self.report({'INFO'}, "Complete report available on '%s' text datablock" % text.name) return {'FINISHED'} + + +classes = ( + ANIM_OT_keying_set_export, + BakeAction, + ClearUselessActions, + UpdateAnimatedTransformConstraint, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/clip.py b/release/scripts/startup/bl_operators/clip.py index 0c77ea2ab7e..e82bc0bf2de 100644 --- a/release/scripts/startup/bl_operators/clip.py +++ b/release/scripts/startup/bl_operators/clip.py @@ -1071,3 +1071,17 @@ class CLIP_OT_track_settings_to_track(bpy.types.Operator): setattr(marker_selected, attr, getattr(marker, attr)) return {'FINISHED'} + + +classes = ( + CLIP_OT_bundles_to_mesh, + CLIP_OT_constraint_to_fcurve, + CLIP_OT_delete_proxy, + CLIP_OT_filter_tracks, + CLIP_OT_set_active_clip, + CLIP_OT_set_viewport_background, + CLIP_OT_setup_tracking_scene, + CLIP_OT_track_settings_as_default, + CLIP_OT_track_settings_to_track, + CLIP_OT_track_to_empty, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/console.py b/release/scripts/startup/bl_operators/console.py index 8cfc977294a..fb36f80239e 100644 --- a/release/scripts/startup/bl_operators/console.py +++ b/release/scripts/startup/bl_operators/console.py @@ -159,3 +159,12 @@ class ConsoleLanguage(Operator): remove_duplicates=True) return {'FINISHED'} + + +classes = ( + ConsoleAutocomplete, + ConsoleBanner, + ConsoleCopyAsScript, + ConsoleExec, + ConsoleLanguage, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/file.py b/release/scripts/startup/bl_operators/file.py index 51e079164b6..d710b9af715 100644 --- a/release/scripts/startup/bl_operators/file.py +++ b/release/scripts/startup/bl_operators/file.py @@ -248,3 +248,8 @@ class WM_OT_previews_batch_clear(Operator): return {'FINISHED'} + +classes = ( + WM_OT_previews_batch_clear, + WM_OT_previews_batch_generate, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/image.py b/release/scripts/startup/bl_operators/image.py index d3460383fe7..6a538f0ae33 100644 --- a/release/scripts/startup/bl_operators/image.py +++ b/release/scripts/startup/bl_operators/image.py @@ -242,3 +242,11 @@ class ProjectApply(Operator): bpy.ops.paint.project_image(image=image_name) return {'FINISHED'} + + +classes = ( + EditExternally, + ProjectApply, + ProjectEdit, + SaveDirty, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/mask.py b/release/scripts/startup/bl_operators/mask.py index aa984659430..78a4bd9af27 100644 --- a/release/scripts/startup/bl_operators/mask.py +++ b/release/scripts/startup/bl_operators/mask.py @@ -31,3 +31,8 @@ class MASK_MT_add(Menu): layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("mask.primitive_circle_add", text="Circle", icon='MESH_CIRCLE') layout.operator("mask.primitive_square_add", text="Square", icon='MESH_PLANE') + + +classes = ( + MASK_MT_add, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/mesh.py b/release/scripts/startup/bl_operators/mesh.py index 58eab5436e6..bce38a6bf3a 100644 --- a/release/scripts/startup/bl_operators/mesh.py +++ b/release/scripts/startup/bl_operators/mesh.py @@ -248,3 +248,10 @@ class MehsSetNormalsFromFaces(Operator): return {'FINISHED'} + +classes = ( + MehsSetNormalsFromFaces, + MeshMirrorUV, + MeshSelectNext, + MeshSelectPrev, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/node.py b/release/scripts/startup/bl_operators/node.py index acff259e503..7b280507bbb 100644 --- a/release/scripts/startup/bl_operators/node.py +++ b/release/scripts/startup/bl_operators/node.py @@ -295,3 +295,14 @@ class NODE_OT_tree_path_parent(Operator): space.path.pop() return {'FINISHED'} + + +classes = ( + NodeSetting, + + NODE_OT_add_and_link_node, + NODE_OT_add_node, + NODE_OT_add_search, + NODE_OT_collapse_hide_unused_toggle, + NODE_OT_tree_path_parent, +) diff --git a/release/scripts/startup/bl_operators/object.py b/release/scripts/startup/bl_operators/object.py index 6356da216b1..7e9be607281 100644 --- a/release/scripts/startup/bl_operators/object.py +++ b/release/scripts/startup/bl_operators/object.py @@ -1034,3 +1034,22 @@ class LodGenerate(Operator): scene.objects.active = ob return {'FINISHED'} + + +classes = ( + ClearAllRestrictRender, + DupliOffsetFromCursor, + IsolateTypeRender, + JoinUVs, + LodByName, + LodClearAll, + LodGenerate, + MakeDupliFace, + SelectCamera, + SelectHierarchy, + SelectPattern, + ShapeTransfer, + SubdivisionSet, + TransformsToDeltas, + TransformsToDeltasAnim, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/object_align.py b/release/scripts/startup/bl_operators/object_align.py index a6ee16e6b71..a088898b14d 100644 --- a/release/scripts/startup/bl_operators/object_align.py +++ b/release/scripts/startup/bl_operators/object_align.py @@ -411,3 +411,8 @@ class AlignObjects(Operator): return {'CANCELLED'} else: return {'FINISHED'} + + +classes = ( + AlignObjects, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/object_quick_effects.py b/release/scripts/startup/bl_operators/object_quick_effects.py index 0b9e7fd7305..57d7f03fcd4 100644 --- a/release/scripts/startup/bl_operators/object_quick_effects.py +++ b/release/scripts/startup/bl_operators/object_quick_effects.py @@ -645,3 +645,11 @@ class QuickFluid(Operator): bpy.ops.fluid.bake('INVOKE_DEFAULT') return {'FINISHED'} + + +classes = ( + QuickExplode, + QuickFluid, + QuickFur, + QuickSmoke, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/object_randomize_transform.py b/release/scripts/startup/bl_operators/object_randomize_transform.py index 38110328603..f856b85844e 100644 --- a/release/scripts/startup/bl_operators/object_randomize_transform.py +++ b/release/scripts/startup/bl_operators/object_randomize_transform.py @@ -185,3 +185,8 @@ class RandomizeLocRotSize(Operator): loc, rot, scale, scale_even, scale_min) return {'FINISHED'} + + +classes = ( + RandomizeLocRotSize, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py index cb332c18127..fdacf24f6e0 100644 --- a/release/scripts/startup/bl_operators/presets.py +++ b/release/scripts/startup/bl_operators/presets.py @@ -680,3 +680,26 @@ class AddPresetUnitsLength(AddPresetBase, Operator): ] preset_subdir = "units_length" + + +classes = ( + AddPresetCamera, + AddPresetCloth, + AddPresetFluid, + AddPresetHairDynamics, + AddPresetInteraction, + AddPresetInterfaceTheme, + AddPresetKeyconfig, + AddPresetNodeColor, + AddPresetOperator, + AddPresetRender, + AddPresetSSS, + AddPresetSafeAreas, + AddPresetSunSky, + AddPresetTrackingCamera, + AddPresetTrackingSettings, + AddPresetTrackingTrackColor, + AddPresetUnitsLength, + ExecutePreset, + WM_MT_operator_presets, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/rigidbody.py b/release/scripts/startup/bl_operators/rigidbody.py index 750a5b0bf0f..639a558fbab 100644 --- a/release/scripts/startup/bl_operators/rigidbody.py +++ b/release/scripts/startup/bl_operators/rigidbody.py @@ -309,3 +309,10 @@ class ConnectRigidBodies(Operator): else: self.report({'WARNING'}, "No other objects selected") return {'CANCELLED'} + + +classes = ( + BakeToKeyframes, + ConnectRigidBodies, + CopyRigidbodySettings, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py index a5565699364..f4d6c7065a9 100644 --- a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py +++ b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py @@ -180,3 +180,8 @@ class PlayRenderedAnim(Operator): return {'CANCELLED'} return {'FINISHED'} + + +classes = ( + PlayRenderedAnim, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/sequencer.py b/release/scripts/startup/bl_operators/sequencer.py index 31ca4249a9d..7209b6b478f 100644 --- a/release/scripts/startup/bl_operators/sequencer.py +++ b/release/scripts/startup/bl_operators/sequencer.py @@ -134,3 +134,10 @@ class SequencerDeinterlaceSelectedMovies(Operator): s.use_deinterlace = True return {'FINISHED'} + + +classes = ( + SequencerCrossfadeSounds, + SequencerCutMulticam, + SequencerDeinterlaceSelectedMovies, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/uvcalc_follow_active.py b/release/scripts/startup/bl_operators/uvcalc_follow_active.py index d1ac9e0b586..25ee5cafe81 100644 --- a/release/scripts/startup/bl_operators/uvcalc_follow_active.py +++ b/release/scripts/startup/bl_operators/uvcalc_follow_active.py @@ -248,3 +248,8 @@ class FollowActiveQuads(Operator): def invoke(self, context, event): wm = context.window_manager return wm.invoke_props_dialog(self) + + +classes = ( + FollowActiveQuads, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/uvcalc_lightmap.py b/release/scripts/startup/bl_operators/uvcalc_lightmap.py index 3b095c883a3..8ee29d15d1b 100644 --- a/release/scripts/startup/bl_operators/uvcalc_lightmap.py +++ b/release/scripts/startup/bl_operators/uvcalc_lightmap.py @@ -668,3 +668,8 @@ class LightMapPack(Operator): def invoke(self, context, event): wm = context.window_manager return wm.invoke_props_dialog(self) + + +classes = ( + LightMapPack, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/uvcalc_smart_project.py b/release/scripts/startup/bl_operators/uvcalc_smart_project.py index 52e7b0e0ae4..1dd5b78d599 100644 --- a/release/scripts/startup/bl_operators/uvcalc_smart_project.py +++ b/release/scripts/startup/bl_operators/uvcalc_smart_project.py @@ -1100,3 +1100,8 @@ class SmartProject(Operator): def invoke(self, context, event): wm = context.window_manager return wm.invoke_props_dialog(self) + + +classes = ( + SmartProject, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/vertexpaint_dirt.py b/release/scripts/startup/bl_operators/vertexpaint_dirt.py index 892e1822d68..c006e8e6e92 100644 --- a/release/scripts/startup/bl_operators/vertexpaint_dirt.py +++ b/release/scripts/startup/bl_operators/vertexpaint_dirt.py @@ -182,3 +182,8 @@ class VertexPaintDirt(Operator): ret = applyVertexDirt(mesh, self.blur_iterations, self.blur_strength, self.dirt_angle, self.clean_angle, self.dirt_only) return ret + + +classes = ( + VertexPaintDirt, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/view3d.py b/release/scripts/startup/bl_operators/view3d.py index df4a93bb87f..acec2d8fe91 100644 --- a/release/scripts/startup/bl_operators/view3d.py +++ b/release/scripts/startup/bl_operators/view3d.py @@ -213,3 +213,11 @@ class VIEW3D_OT_select_or_deselect_all(Operator): enumerate=self.enumerate, object=self.object, location=(x, y)) + + +classes = ( + VIEW3D_OT_edit_mesh_extrude_individual_move, + VIEW3D_OT_edit_mesh_extrude_move, + VIEW3D_OT_edit_mesh_extrude_shrink_fatten, + VIEW3D_OT_select_or_deselect_all, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index 869070ed778..42f1e723d1a 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -2192,3 +2192,58 @@ class WM_OT_addon_userpref_show(Operator): bpy.ops.screen.userpref_show('INVOKE_DEFAULT') return {'FINISHED'} + + +classes = ( + BRUSH_OT_active_index_set, + WM_OT_addon_disable, + WM_OT_addon_enable, + WM_OT_addon_expand, + WM_OT_addon_install, + WM_OT_addon_refresh, + WM_OT_addon_remove, + WM_OT_addon_userpref_show, + WM_OT_appconfig_activate, + WM_OT_appconfig_default, + WM_OT_blenderplayer_start, + WM_OT_context_collection_boolean_set, + WM_OT_context_cycle_array, + WM_OT_context_cycle_enum, + WM_OT_context_cycle_int, + WM_OT_context_menu_enum, + WM_OT_context_modal_mouse, + WM_OT_context_pie_enum, + WM_OT_context_scale_float, + WM_OT_context_scale_int, + WM_OT_context_set_boolean, + WM_OT_context_set_enum, + WM_OT_context_set_float, + WM_OT_context_set_id, + WM_OT_context_set_int, + WM_OT_context_set_string, + WM_OT_context_set_value, + WM_OT_context_toggle, + WM_OT_context_toggle_enum, + WM_OT_copy_prev_settings, + WM_OT_doc_view, + WM_OT_doc_view_manual, + WM_OT_keyconfig_activate, + WM_OT_keyconfig_export, + WM_OT_keyconfig_import, + WM_OT_keyconfig_remove, + WM_OT_keyconfig_test, + WM_OT_keyitem_add, + WM_OT_keyitem_remove, + WM_OT_keyitem_restore, + WM_OT_keymap_restore, + WM_OT_operator_cheat_sheet, + WM_OT_operator_pie_enum, + WM_OT_path_open, + WM_OT_properties_add, + WM_OT_properties_context_change, + WM_OT_properties_edit, + WM_OT_properties_remove, + WM_OT_sysinfo, + WM_OT_theme_install, + WM_OT_url_open, +) \ No newline at end of file diff --git a/release/scripts/startup/bl_ui/__init__.py b/release/scripts/startup/bl_ui/__init__.py index 2389be6787d..3e81724c1f9 100644 --- a/release/scripts/startup/bl_ui/__init__.py +++ b/release/scripts/startup/bl_ui/__init__.py @@ -94,7 +94,10 @@ del _namespace def register(): - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for mod in _modules_loaded: + for cls in mod.classes: + register_class(cls) # space_userprefs.py from bpy.props import StringProperty, EnumProperty @@ -143,8 +146,10 @@ def register(): def unregister(): - bpy.utils.unregister_module(__name__) - + from bpy.utils import unregister_class + for mod in reversed(_modules_loaded): + for cls in reversed(mod.classes): + unregister_class(cls) # Define a default UIList, when a list does not need any custom drawing... # Keep in sync with its #defined name in UI_interface.h diff --git a/release/scripts/startup/bl_ui/properties_animviz.py b/release/scripts/startup/bl_ui/properties_animviz.py index 046b5eb2aa5..84bae18dd6f 100644 --- a/release/scripts/startup/bl_ui/properties_animviz.py +++ b/release/scripts/startup/bl_ui/properties_animviz.py @@ -139,6 +139,11 @@ class OnionSkinButtonsPanel: col.label(text="Display:") col.prop(arm, "show_only_ghost_selected", text="Selected Only") + +classes = ( +) + if __name__ == "__main__": # only for live edit. - import bpy - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_constraint.py b/release/scripts/startup/bl_ui/properties_constraint.py index cb5f1595ff3..8a080d855ba 100644 --- a/release/scripts/startup/bl_ui/properties_constraint.py +++ b/release/scripts/startup/bl_ui/properties_constraint.py @@ -941,5 +941,12 @@ class BONE_PT_constraints(ConstraintButtonsPanel, Panel): for con in context.pose_bone.constraints: self.draw_constraint(context, con) +classes = ( + BONE_PT_constraints, + OBJECT_PT_constraints, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py index 8261f0c7770..48ec160c232 100644 --- a/release/scripts/startup/bl_ui/properties_data_armature.py +++ b/release/scripts/startup/bl_ui/properties_data_armature.py @@ -328,5 +328,21 @@ class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, Panel): _context_path = "object.data" _property_type = bpy.types.Armature + +classes = ( + DATA_PT_bone_group_specials, + DATA_PT_bone_groups, + DATA_PT_context_arm, + DATA_PT_custom_props_arm, + DATA_PT_display, + DATA_PT_ghost, + DATA_PT_iksolver_itasc, + DATA_PT_motion_paths, + DATA_PT_pose_library, + DATA_PT_skeleton, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_bone.py b/release/scripts/startup/bl_ui/properties_data_bone.py index 3a5475514c9..75e828e5a02 100644 --- a/release/scripts/startup/bl_ui/properties_data_bone.py +++ b/release/scripts/startup/bl_ui/properties_data_bone.py @@ -449,5 +449,20 @@ class BONE_PT_custom_props(BoneButtonsPanel, PropertyPanel, Panel): else: return "active_bone" + +classes = ( + BONE_PT_context_bone, + BONE_PT_curved, + BONE_PT_custom_props, + BONE_PT_deform, + BONE_PT_display, + BONE_PT_inverse_kinematics, + BONE_PT_relations, + BONE_PT_transform, + BONE_PT_transform_locks, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py index c6fa77aec00..177012dec32 100644 --- a/release/scripts/startup/bl_ui/properties_data_camera.py +++ b/release/scripts/startup/bl_ui/properties_data_camera.py @@ -325,5 +325,20 @@ def draw_display_safe_settings(layout, safe_data, settings): col.prop(safe_data, "action_center", slider=True) +classes = ( + CAMERA_MT_presets, + DATA_PT_camera, + DATA_PT_camera_display, + DATA_PT_camera_dof, + DATA_PT_camera_safe_areas, + DATA_PT_camera_stereoscopy, + DATA_PT_context_camera, + DATA_PT_custom_props_camera, + DATA_PT_lens, + SAFE_AREAS_MT_presets, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py index 33af812b6c4..9c8a4a90f33 100644 --- a/release/scripts/startup/bl_ui/properties_data_curve.py +++ b/release/scripts/startup/bl_ui/properties_data_curve.py @@ -431,5 +431,21 @@ class DATA_PT_custom_props_curve(CurveButtonsPanel, PropertyPanel, Panel): _context_path = "object.data" _property_type = bpy.types.Curve + +classes = ( + DATA_PT_active_spline, + DATA_PT_context_curve, + DATA_PT_curve_texture_space, + DATA_PT_custom_props_curve, + DATA_PT_font, + DATA_PT_geometry_curve, + DATA_PT_paragraph, + DATA_PT_pathanim, + DATA_PT_shape_curve, + DATA_PT_text_boxes, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_empty.py b/release/scripts/startup/bl_ui/properties_data_empty.py index a752d3517de..c66ff87ecbd 100644 --- a/release/scripts/startup/bl_ui/properties_data_empty.py +++ b/release/scripts/startup/bl_ui/properties_data_empty.py @@ -55,5 +55,12 @@ class DATA_PT_empty(DataButtonsPanel, Panel): layout.prop(ob, "empty_draw_size", text="Size") + +classes = ( + DATA_PT_empty, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_lamp.py b/release/scripts/startup/bl_ui/properties_data_lamp.py index 30cd39d2e2f..2213781c7d9 100644 --- a/release/scripts/startup/bl_ui/properties_data_lamp.py +++ b/release/scripts/startup/bl_ui/properties_data_lamp.py @@ -394,5 +394,21 @@ class DATA_PT_custom_props_lamp(DataButtonsPanel, PropertyPanel, Panel): _context_path = "object.data" _property_type = bpy.types.Lamp + +classes = ( + DATA_PT_area, + DATA_PT_context_lamp, + DATA_PT_custom_props_lamp, + DATA_PT_falloff_curve, + DATA_PT_lamp, + DATA_PT_preview, + DATA_PT_shadow, + DATA_PT_spot, + DATA_PT_sunsky, + LAMP_MT_sunsky_presets, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_lattice.py b/release/scripts/startup/bl_ui/properties_data_lattice.py index cbfa6961e8c..7f0294cdd20 100644 --- a/release/scripts/startup/bl_ui/properties_data_lattice.py +++ b/release/scripts/startup/bl_ui/properties_data_lattice.py @@ -82,5 +82,14 @@ class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, Panel): _context_path = "object.data" _property_type = bpy.types.Lattice + +classes = ( + DATA_PT_context_lattice, + DATA_PT_custom_props_lattice, + DATA_PT_lattice, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py index 59907692fe0..8647d5d6644 100644 --- a/release/scripts/startup/bl_ui/properties_data_mesh.py +++ b/release/scripts/startup/bl_ui/properties_data_mesh.py @@ -392,5 +392,24 @@ class DATA_PT_custom_props_mesh(MeshButtonsPanel, PropertyPanel, Panel): _property_type = bpy.types.Mesh +classes = ( + DATA_PT_context_mesh, + DATA_PT_custom_props_mesh, + DATA_PT_customdata, + DATA_PT_normals, + DATA_PT_shape_keys, + DATA_PT_texture_space, + DATA_PT_uv_texture, + DATA_PT_vertex_colors, + DATA_PT_vertex_groups, + MESH_MT_shape_key_specials, + MESH_MT_vertex_group_specials, + MESH_UL_shape_keys, + MESH_UL_uvmaps_vcols, + MESH_UL_vgroups, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_metaball.py b/release/scripts/startup/bl_ui/properties_data_metaball.py index b42258c386a..239d16ed77c 100644 --- a/release/scripts/startup/bl_ui/properties_data_metaball.py +++ b/release/scripts/startup/bl_ui/properties_data_metaball.py @@ -135,5 +135,16 @@ class DATA_PT_custom_props_metaball(DataButtonsPanel, PropertyPanel, Panel): _context_path = "object.data" _property_type = bpy.types.MetaBall + +classes = ( + DATA_PT_context_metaball, + DATA_PT_custom_props_metaball, + DATA_PT_mball_texture_space, + DATA_PT_metaball, + DATA_PT_metaball_element, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index 68b6265ab15..a098953699e 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -1522,5 +1522,11 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): layout.operator("object.correctivesmooth_bind", text="Unbind" if is_bind else "Bind") +classes = ( + DATA_PT_modifiers, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_data_speaker.py b/release/scripts/startup/bl_ui/properties_data_speaker.py index 5ed0f8c3265..3f30e214f24 100644 --- a/release/scripts/startup/bl_ui/properties_data_speaker.py +++ b/release/scripts/startup/bl_ui/properties_data_speaker.py @@ -121,5 +121,16 @@ class DATA_PT_custom_props_speaker(DataButtonsPanel, PropertyPanel, Panel): _context_path = "object.data" _property_type = bpy.types.Speaker + +classes = ( + DATA_PT_cone, + DATA_PT_context_speaker, + DATA_PT_custom_props_speaker, + DATA_PT_distance, + DATA_PT_speaker, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_freestyle.py b/release/scripts/startup/bl_ui/properties_freestyle.py index e0620447185..aee35c70ec8 100644 --- a/release/scripts/startup/bl_ui/properties_freestyle.py +++ b/release/scripts/startup/bl_ui/properties_freestyle.py @@ -829,4 +829,6 @@ class MATERIAL_PT_freestyle_line(MaterialFreestyleButtonsPanel, Panel): if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py index ec061370fe5..2e309a10940 100644 --- a/release/scripts/startup/bl_ui/properties_game.py +++ b/release/scripts/startup/bl_ui/properties_game.py @@ -852,5 +852,30 @@ class OBJECT_PT_levels_of_detail(ObjectButtonsPanel, Panel): row.menu("OBJECT_MT_lod_tools", text="", icon='TRIA_DOWN') +classes = ( + DATA_PT_shadow_game, + OBJECT_MT_lod_tools, + OBJECT_PT_levels_of_detail, + PHYSICS_PT_game_collision_bounds, + PHYSICS_PT_game_obstacles, + PHYSICS_PT_game_physics, + RENDER_PT_embedded, + RENDER_PT_game_display, + RENDER_PT_game_player, + RENDER_PT_game_shading, + RENDER_PT_game_stereo, + RENDER_PT_game_system, + SCENE_PT_game_hysteresis, + SCENE_PT_game_navmesh, + SCENE_PT_game_physics, + SCENE_PT_game_physics_obstacles, + WORLD_PT_game_context_world, + WORLD_PT_game_environment_lighting, + WORLD_PT_game_mist, + WORLD_PT_game_world, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py index 4529c127839..83c27c1ccfc 100644 --- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py +++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py @@ -1155,3 +1155,24 @@ class GreasePencilToolsPanel: layout.separator() gpencil_stroke_placement_settings(context, layout) + + +classes = ( + GPENCIL_MT_brush_specials, + GPENCIL_MT_gpencil_edit_specials, + GPENCIL_MT_layer_specials, + GPENCIL_MT_palettecolor_specials, + GPENCIL_MT_snap, + GPENCIL_PIE_sculpt, + GPENCIL_PIE_settings_palette, + GPENCIL_PIE_tool_palette, + GPENCIL_PIE_tools_more, + GPENCIL_UL_brush, + GPENCIL_UL_layer, + GPENCIL_UL_palettecolor, +) + +if __name__ == "__main__": # only for live edit. + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_mask_common.py b/release/scripts/startup/bl_ui/properties_mask_common.py index f4836da50bc..78fb7843f14 100644 --- a/release/scripts/startup/bl_ui/properties_mask_common.py +++ b/release/scripts/startup/bl_ui/properties_mask_common.py @@ -392,5 +392,17 @@ class MASK_MT_select(Menu): layout.operator("mask.select_all", text="Inverse").action = 'INVERT' layout.operator("mask.select_linked", text="Select Linked") + +classes = ( + MASK_MT_animation, + MASK_MT_mask, + MASK_MT_select, + MASK_MT_transform, + MASK_MT_visibility, + MASK_UL_layers, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py index d916007ea41..def272d5045 100644 --- a/release/scripts/startup/bl_ui/properties_material.py +++ b/release/scripts/startup/bl_ui/properties_material.py @@ -1052,5 +1052,38 @@ class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, Panel): _context_path = "material" _property_type = bpy.types.Material + +classes = ( + MATERIAL_MT_specials, + MATERIAL_MT_sss_presets, + MATERIAL_PT_context_material, + MATERIAL_PT_custom_props, + MATERIAL_PT_diffuse, + MATERIAL_PT_flare, + MATERIAL_PT_game_settings, + MATERIAL_PT_halo, + MATERIAL_PT_mirror, + MATERIAL_PT_options, + MATERIAL_PT_physics, + MATERIAL_PT_pipeline, + MATERIAL_PT_preview, + MATERIAL_PT_shading, + MATERIAL_PT_shadow, + MATERIAL_PT_specular, + MATERIAL_PT_sss, + MATERIAL_PT_strand, + MATERIAL_PT_transp, + MATERIAL_PT_transp_game, + MATERIAL_PT_volume_density, + MATERIAL_PT_volume_integration, + MATERIAL_PT_volume_lighting, + MATERIAL_PT_volume_options, + MATERIAL_PT_volume_shading, + MATERIAL_PT_volume_transp, + MATERIAL_UL_matslots, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py index 4a596981983..099b82e000e 100644 --- a/release/scripts/startup/bl_ui/properties_object.py +++ b/release/scripts/startup/bl_ui/properties_object.py @@ -366,5 +366,23 @@ class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, Panel): _context_path = "object" _property_type = bpy.types.Object + +classes = ( + GROUP_MT_specials, + OBJECT_PT_context_object, + OBJECT_PT_custom_props, + OBJECT_PT_delta_transform, + OBJECT_PT_display, + OBJECT_PT_duplication, + OBJECT_PT_groups, + OBJECT_PT_motion_paths, + OBJECT_PT_relations, + OBJECT_PT_relations_extras, + OBJECT_PT_transform, + OBJECT_PT_transform_locks, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py index 09a3a19cbce..dfd20d90ec4 100644 --- a/release/scripts/startup/bl_ui/properties_paint_common.py +++ b/release/scripts/startup/bl_ui/properties_paint_common.py @@ -309,3 +309,13 @@ def brush_mask_texture_settings(layout, brush): split = layout.split() split.prop(mask_tex_slot, "offset") split.prop(mask_tex_slot, "scale") + + +classes = ( + VIEW3D_MT_tools_projectpaint_clone, +) + +if __name__ == "__main__": # only for live edit. + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index 29fc56c3fad..deaf6cd4f37 100644 --- a/release/scripts/startup/bl_ui/properties_particle.py +++ b/release/scripts/startup/bl_ui/properties_particle.py @@ -1404,5 +1404,29 @@ class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, Panel): _context_path = "particle_system.settings" _property_type = bpy.types.ParticleSettings + +classes = ( + PARTICLE_MT_hair_dynamics_presets, + PARTICLE_MT_specials, + PARTICLE_PT_boidbrain, + PARTICLE_PT_cache, + PARTICLE_PT_children, + PARTICLE_PT_context_particles, + PARTICLE_PT_custom_props, + PARTICLE_PT_draw, + PARTICLE_PT_emission, + PARTICLE_PT_field_weights, + PARTICLE_PT_force_fields, + PARTICLE_PT_hair_dynamics, + PARTICLE_PT_physics, + PARTICLE_PT_render, + PARTICLE_PT_rotation, + PARTICLE_PT_velocity, + PARTICLE_PT_vertexgroups, + PARTICLE_UL_particle_systems, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_physics_cloth.py b/release/scripts/startup/bl_ui/properties_physics_cloth.py index 3ebf2691b4c..0a7890670b2 100644 --- a/release/scripts/startup/bl_ui/properties_physics_cloth.py +++ b/release/scripts/startup/bl_ui/properties_physics_cloth.py @@ -256,5 +256,17 @@ class PHYSICS_PT_cloth_field_weights(PhysicButtonsPanel, Panel): cloth = context.cloth.settings effector_weights_ui(self, context, cloth.effector_weights, 'CLOTH') +classes = ( + CLOTH_MT_presets, + PHYSICS_PT_cloth, + PHYSICS_PT_cloth_cache, + PHYSICS_PT_cloth_collision, + PHYSICS_PT_cloth_stiffness, + PHYSICS_PT_cloth_sewing, + PHYSICS_PT_cloth_field_weights, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_physics_common.py b/release/scripts/startup/bl_ui/properties_physics_common.py index 4478c6a4379..0b98d8738dc 100644 --- a/release/scripts/startup/bl_ui/properties_physics_common.py +++ b/release/scripts/startup/bl_ui/properties_physics_common.py @@ -318,5 +318,12 @@ def basic_force_field_falloff_ui(self, context, field): sub.active = field.use_max_distance sub.prop(field, "distance_max", text="Maximum") + +classes = ( + PHYSICS_PT_add, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py b/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py index 6c3a3246cf6..4758f72edb5 100644 --- a/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py +++ b/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py @@ -529,12 +529,20 @@ class PHYSICS_PT_dp_brush_wave(PhysicButtonsPanel, Panel): row.prop(brush, "wave_clamp") -def register(): - bpy.utils.register_module(__name__) +classes = ( + PHYSICS_PT_dp_advanced_canvas, + PHYSICS_PT_dp_brush_source, + PHYSICS_PT_dp_brush_velocity, + PHYSICS_PT_dp_brush_wave, + PHYSICS_PT_dp_cache, + PHYSICS_PT_dp_canvas_initial_color, + PHYSICS_PT_dp_canvas_output, + PHYSICS_PT_dp_effects, + PHYSICS_PT_dynamic_paint, + PHYSICS_UL_dynapaint_surfaces, +) - -def unregister(): - bpy.utils.register_module(__name__) - -if __name__ == "__main__": - register() +if __name__ == "__main__": # only for live edit. + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_physics_field.py b/release/scripts/startup/bl_ui/properties_physics_field.py index 1cebc0496b0..a1c160d4a7e 100644 --- a/release/scripts/startup/bl_ui/properties_physics_field.py +++ b/release/scripts/startup/bl_ui/properties_physics_field.py @@ -228,5 +228,13 @@ class PHYSICS_PT_collision(PhysicButtonsPanel, Panel): col.label(text="Force Fields:") col.prop(settings, "absorption", text="Absorption") + +classes = ( + PHYSICS_PT_collision, + PHYSICS_PT_field, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_physics_fluid.py b/release/scripts/startup/bl_ui/properties_physics_fluid.py index 5d7034c2e68..6c7fba44988 100644 --- a/release/scripts/startup/bl_ui/properties_physics_fluid.py +++ b/release/scripts/startup/bl_ui/properties_physics_fluid.py @@ -308,5 +308,16 @@ class PHYSICS_PT_domain_particles(PhysicButtonsPanel, Panel): row.prop(fluid, "tracer_particles", text="Tracer") row.prop(fluid, "generate_particles", text="Generate") + +classes = ( + FLUID_MT_presets, + PHYSICS_PT_domain_boundary, + PHYSICS_PT_domain_gravity, + PHYSICS_PT_domain_particles, + PHYSICS_PT_fluid, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_physics_rigidbody.py b/release/scripts/startup/bl_ui/properties_physics_rigidbody.py index eeb21c046bf..6afdd800b88 100644 --- a/release/scripts/startup/bl_ui/properties_physics_rigidbody.py +++ b/release/scripts/startup/bl_ui/properties_physics_rigidbody.py @@ -137,5 +137,14 @@ class PHYSICS_PT_rigid_body_dynamics(PHYSICS_PT_rigidbody_panel, Panel): col.prop(rbo, "linear_damping", text="Translation") col.prop(rbo, "angular_damping", text="Rotation") + +classes = ( + PHYSICS_PT_rigid_body, + PHYSICS_PT_rigid_body_collisions, + PHYSICS_PT_rigid_body_dynamics, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py b/release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py index 9d4f51b256b..84a4cbb4b68 100644 --- a/release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py +++ b/release/scripts/startup/bl_ui/properties_physics_rigidbody_constraint.py @@ -260,5 +260,11 @@ class PHYSICS_PT_rigid_body_constraint(PHYSICS_PT_rigidbody_constraint_panel, Pa sub.prop(rbc, "spring_damping_ang_z", text="Damping") +classes = ( + PHYSICS_PT_rigid_body_constraint, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py b/release/scripts/startup/bl_ui/properties_physics_smoke.py index ee9135b9dbf..028333a8e3b 100644 --- a/release/scripts/startup/bl_ui/properties_physics_smoke.py +++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py @@ -410,5 +410,19 @@ class PHYSICS_PT_smoke_display_settings(PhysicButtonsPanel, Panel): col.template_color_ramp(domain, "color_ramp", expand=True) +classes = ( + PHYSICS_PT_smoke, + PHYSICS_PT_smoke_adaptive_domain, + PHYSICS_PT_smoke_cache, + PHYSICS_PT_smoke_display_settings, + PHYSICS_PT_smoke_field_weights, + PHYSICS_PT_smoke_fire, + PHYSICS_PT_smoke_flow_advanced, + PHYSICS_PT_smoke_groups, + PHYSICS_PT_smoke_highres, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_physics_softbody.py b/release/scripts/startup/bl_ui/properties_physics_softbody.py index a458af739f2..f463f56bac0 100644 --- a/release/scripts/startup/bl_ui/properties_physics_softbody.py +++ b/release/scripts/startup/bl_ui/properties_physics_softbody.py @@ -244,5 +244,18 @@ class PHYSICS_PT_softbody_field_weights(PhysicButtonsPanel, Panel): effector_weights_ui(self, context, softbody.effector_weights, 'SOFTBODY') + +classes = ( + PHYSICS_PT_softbody, + PHYSICS_PT_softbody_cache, + PHYSICS_PT_softbody_collision, + PHYSICS_PT_softbody_edge, + PHYSICS_PT_softbody_field_weights, + PHYSICS_PT_softbody_goal, + PHYSICS_PT_softbody_solver, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py index 6d23c07152e..da33b3c560d 100644 --- a/release/scripts/startup/bl_ui/properties_render.py +++ b/release/scripts/startup/bl_ui/properties_render.py @@ -584,5 +584,24 @@ class RENDER_PT_bake(RenderButtonsPanel, Panel): sub.prop(rd, "bake_user_scale", text="User Scale") +classes = ( + RENDER_MT_ffmpeg_presets, + RENDER_MT_framerate_presets, + RENDER_MT_presets, + RENDER_PT_antialiasing, + RENDER_PT_bake, + RENDER_PT_dimensions, + RENDER_PT_encoding, + RENDER_PT_motion_blur, + RENDER_PT_output, + RENDER_PT_performance, + RENDER_PT_post_processing, + RENDER_PT_render, + RENDER_PT_shading, + RENDER_PT_stamp, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_render_layer.py b/release/scripts/startup/bl_ui/properties_render_layer.py index 9b8bc237db9..42c1638900c 100644 --- a/release/scripts/startup/bl_ui/properties_render_layer.py +++ b/release/scripts/startup/bl_ui/properties_render_layer.py @@ -227,5 +227,16 @@ class RENDERLAYER_PT_views(RenderLayerButtonsPanel, Panel): row.prop(rv, "camera_suffix", text="") +classes = ( + RENDERLAYER_PT_layer_options, + RENDERLAYER_PT_layer_passes, + RENDERLAYER_PT_layers, + RENDERLAYER_PT_views, + RENDERLAYER_UL_renderlayers, + RENDERLAYER_UL_renderviews, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py index d6253ec7fbc..7268a68a724 100644 --- a/release/scripts/startup/bl_ui/properties_scene.py +++ b/release/scripts/startup/bl_ui/properties_scene.py @@ -443,5 +443,25 @@ class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel): _context_path = "scene" _property_type = bpy.types.Scene + +classes = ( + SCENE_MT_units_length_presets, + SCENE_PT_audio, + SCENE_PT_color_management, + SCENE_PT_custom_props, + SCENE_PT_keying_set_paths, + SCENE_PT_keying_sets, + SCENE_PT_physics, + SCENE_PT_rigid_body_cache, + SCENE_PT_rigid_body_field_weights, + SCENE_PT_rigid_body_world, + SCENE_PT_scene, + SCENE_PT_simplify, + SCENE_PT_unit, + SCENE_UL_keying_set_paths, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py index caf19a9e469..c3f160e03d7 100644 --- a/release/scripts/startup/bl_ui/properties_texture.py +++ b/release/scripts/startup/bl_ui/properties_texture.py @@ -1224,5 +1224,38 @@ class TEXTURE_PT_custom_props(TextureButtonsPanel, PropertyPanel, Panel): _context_path = "texture" _property_type = Texture + +classes = ( + TEXTURE_MT_envmap_specials, + TEXTURE_MT_specials, + TEXTURE_PT_blend, + TEXTURE_PT_clouds, + TEXTURE_PT_colors, + TEXTURE_PT_context_texture, + TEXTURE_PT_custom_props, + TEXTURE_PT_distortednoise, + TEXTURE_PT_envmap, + TEXTURE_PT_envmap_sampling, + TEXTURE_PT_image, + TEXTURE_PT_image_mapping, + TEXTURE_PT_image_sampling, + TEXTURE_PT_influence, + TEXTURE_PT_magic, + TEXTURE_PT_mapping, + TEXTURE_PT_marble, + TEXTURE_PT_musgrave, + TEXTURE_PT_ocean, + TEXTURE_PT_pointdensity, + TEXTURE_PT_pointdensity_turbulence, + TEXTURE_PT_preview, + TEXTURE_PT_stucci, + TEXTURE_PT_voronoi, + TEXTURE_PT_voxeldata, + TEXTURE_PT_wood, + TEXTURE_UL_texslots, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/properties_world.py b/release/scripts/startup/bl_ui/properties_world.py index e07349a99ee..16283040c3c 100644 --- a/release/scripts/startup/bl_ui/properties_world.py +++ b/release/scripts/startup/bl_ui/properties_world.py @@ -248,5 +248,20 @@ class WORLD_PT_custom_props(WorldButtonsPanel, PropertyPanel, Panel): _context_path = "world" _property_type = bpy.types.World + +classes = ( + WORLD_PT_ambient_occlusion, + WORLD_PT_context_world, + WORLD_PT_custom_props, + WORLD_PT_environment_lighting, + WORLD_PT_gather, + WORLD_PT_indirect_lighting, + WORLD_PT_mist, + WORLD_PT_preview, + WORLD_PT_world, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index 5cc135392c1..44509b42b6b 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -1486,5 +1486,69 @@ class CLIP_MT_stabilize_2d_rotation_specials(Menu): layout.operator("clip.stabilize_2d_rotation_select") +classes = ( + CLIP_HT_header, + CLIP_MT_camera_presets, + CLIP_MT_clip, + CLIP_MT_masking_editor_menus, + CLIP_MT_proxy, + CLIP_MT_reconstruction, + CLIP_MT_select, + CLIP_MT_select_grouped, + CLIP_MT_stabilize_2d_rotation_specials, + CLIP_MT_stabilize_2d_specials, + CLIP_MT_track, + CLIP_MT_track_color_presets, + CLIP_MT_track_color_specials, + CLIP_MT_track_transform, + CLIP_MT_track_visibility, + CLIP_MT_tracking_editor_menus, + CLIP_MT_tracking_settings_presets, + CLIP_MT_tracking_specials, + CLIP_MT_view, + CLIP_PT_active_mask_point, + CLIP_PT_active_mask_spline, + CLIP_PT_display, + CLIP_PT_footage, + CLIP_PT_footage_info, + CLIP_PT_grease_pencil, + CLIP_PT_grease_pencil_palettecolor, + CLIP_PT_marker, + CLIP_PT_marker_display, + CLIP_PT_mask, + CLIP_PT_mask_display, + CLIP_PT_mask_layers, + CLIP_PT_objects, + CLIP_PT_plane_track, + CLIP_PT_proxy, + CLIP_PT_stabilization, + CLIP_PT_tools_cleanup, + CLIP_PT_tools_clip, + CLIP_PT_tools_geometry, + CLIP_PT_tools_grease_pencil_brush, + CLIP_PT_tools_grease_pencil_brushcurves, + CLIP_PT_tools_grease_pencil_draw, + CLIP_PT_tools_grease_pencil_edit, + CLIP_PT_tools_grease_pencil_sculpt, + CLIP_PT_tools_marker, + CLIP_PT_tools_mask, + CLIP_PT_tools_mask_add, + CLIP_PT_tools_mask_transforms, + CLIP_PT_tools_object, + CLIP_PT_tools_orientation, + CLIP_PT_tools_plane_tracking, + CLIP_PT_tools_scenesetup, + CLIP_PT_tools_solve, + CLIP_PT_tools_tracking, + CLIP_PT_track, + CLIP_PT_track_settings, + CLIP_PT_tracking_camera, + CLIP_PT_tracking_lens, + CLIP_PT_tracking_settings, + CLIP_UL_tracking_objects, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_console.py b/release/scripts/startup/bl_ui/space_console.py index 4266abc5ad7..487f0061964 100644 --- a/release/scripts/startup/bl_ui/space_console.py +++ b/release/scripts/startup/bl_ui/space_console.py @@ -102,5 +102,15 @@ def add_scrollback(text, text_type): bpy.ops.console.scrollback_append(text=l.expandtabs(4), type=text_type) + +classes = ( + CONSOLE_HT_header, + CONSOLE_MT_console, + CONSOLE_MT_editor_menus, + CONSOLE_MT_language, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py index 4d365c8dc08..5e4afbf1bf2 100644 --- a/release/scripts/startup/bl_ui/space_dopesheet.py +++ b/release/scripts/startup/bl_ui/space_dopesheet.py @@ -449,5 +449,21 @@ class DOPESHEET_MT_delete(Menu): layout.operator("action.clean", text="Clean Channels").channels = True +classes = ( + DOPESHEET_HT_header, + DOPESHEET_MT_channel, + DOPESHEET_MT_delete, + DOPESHEET_MT_editor_menus, + DOPESHEET_MT_gpencil_channel, + DOPESHEET_MT_gpencil_frame, + DOPESHEET_MT_key, + DOPESHEET_MT_key_transform, + DOPESHEET_MT_marker, + DOPESHEET_MT_select, + DOPESHEET_MT_view, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py index d7b93dc36f0..117d90fe031 100644 --- a/release/scripts/startup/bl_ui/space_filebrowser.py +++ b/release/scripts/startup/bl_ui/space_filebrowser.py @@ -247,5 +247,18 @@ class FILEBROWSER_PT_advanced_filter(Panel): col.prop(params, "filter_id") +classes = ( + FILEBROWSER_HT_header, + FILEBROWSER_MT_bookmarks_specials, + FILEBROWSER_PT_advanced_filter, + FILEBROWSER_PT_bookmarks, + FILEBROWSER_PT_recent_folders, + FILEBROWSER_PT_system_bookmarks, + FILEBROWSER_PT_system_folders, + FILEBROWSER_UL_dir, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_graph.py b/release/scripts/startup/bl_ui/space_graph.py index cec3b26f35a..d48b6650460 100644 --- a/release/scripts/startup/bl_ui/space_graph.py +++ b/release/scripts/startup/bl_ui/space_graph.py @@ -299,6 +299,19 @@ class GRAPH_MT_delete(Menu): layout.operator("graph.clean").channels = False layout.operator("graph.clean", text="Clean Channels").channels = True +classes = ( + GRAPH_HT_header, + GRAPH_MT_channel, + GRAPH_MT_delete, + GRAPH_MT_editor_menus, + GRAPH_MT_key, + GRAPH_MT_key_transform, + GRAPH_MT_marker, + GRAPH_MT_select, + GRAPH_MT_view, +) if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index 04b4cef9512..38ec1b7a859 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -1242,5 +1242,59 @@ class IMAGE_PT_tools_grease_pencil_brushcurves(GreasePencilBrushCurvesPanel, Pan bl_space_type = 'IMAGE_EDITOR' +classes = ( + IMAGE_HT_header, + IMAGE_MT_brush, + IMAGE_MT_image, + IMAGE_MT_image_invert, + IMAGE_MT_select, + IMAGE_MT_uvs, + IMAGE_MT_uvs_mirror, + IMAGE_MT_uvs_proportional, + IMAGE_MT_uvs_select_mode, + IMAGE_MT_uvs_showhide, + IMAGE_MT_uvs_snap, + IMAGE_MT_uvs_transform, + IMAGE_MT_uvs_weldalign, + IMAGE_MT_view, + IMAGE_PT_active_mask_point, + IMAGE_PT_active_mask_spline, + IMAGE_PT_game_properties, + IMAGE_PT_grease_pencil, + IMAGE_PT_grease_pencil_palettecolor, + IMAGE_PT_image_properties, + IMAGE_PT_mask, + IMAGE_PT_mask_display, + IMAGE_PT_mask_layers, + IMAGE_PT_paint, + IMAGE_PT_paint_curve, + IMAGE_PT_paint_stroke, + IMAGE_PT_sample_line, + IMAGE_PT_scope_sample, + IMAGE_PT_tools_brush_appearance, + IMAGE_PT_tools_brush_overlay, + IMAGE_PT_tools_brush_texture, + IMAGE_PT_tools_brush_tool, + IMAGE_PT_tools_grease_pencil_brush, + IMAGE_PT_tools_grease_pencil_brushcurves, + IMAGE_PT_tools_grease_pencil_draw, + IMAGE_PT_tools_grease_pencil_edit, + IMAGE_PT_tools_grease_pencil_sculpt, + IMAGE_PT_tools_imagepaint_symmetry, + IMAGE_PT_tools_mask, + IMAGE_PT_tools_mask_texture, + IMAGE_PT_tools_paint_options, + IMAGE_PT_tools_transform_uvs, + IMAGE_PT_view_histogram, + IMAGE_PT_view_properties, + IMAGE_PT_view_vectorscope, + IMAGE_PT_view_waveform, + IMAGE_UV_sculpt, + IMAGE_UV_sculpt_curve, + MASK_MT_editor_menus, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py index 2a085b8aada..e6adb87bc9f 100644 --- a/release/scripts/startup/bl_ui/space_info.py +++ b/release/scripts/startup/bl_ui/space_info.py @@ -340,5 +340,23 @@ class INFO_MT_help(Menu): layout.operator("wm.splash", icon='BLENDER') + +classes = ( + INFO_HT_header, + INFO_MT_editor_menus, + INFO_MT_file, + INFO_MT_file_export, + INFO_MT_file_external_data, + INFO_MT_file_import, + INFO_MT_file_previews, + INFO_MT_game, + INFO_MT_help, + INFO_MT_opengl_render, + INFO_MT_render, + INFO_MT_window, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_logic.py b/release/scripts/startup/bl_ui/space_logic.py index 1b316a3eede..0b538131b0e 100644 --- a/release/scripts/startup/bl_ui/space_logic.py +++ b/release/scripts/startup/bl_ui/space_logic.py @@ -130,5 +130,16 @@ class LOGIC_MT_view(Menu): layout.operator("screen.screen_full_area") layout.operator("screen.screen_full_area", text="Toggle Fullscreen Area").use_hide_panels = True + +classes = ( + LOGIC_HT_header, + LOGIC_MT_editor_menus, + LOGIC_MT_logicbricks_add, + LOGIC_MT_view, + LOGIC_PT_properties, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_nla.py b/release/scripts/startup/bl_ui/space_nla.py index 8fbf9bfc6ac..2a855f47d37 100644 --- a/release/scripts/startup/bl_ui/space_nla.py +++ b/release/scripts/startup/bl_ui/space_nla.py @@ -209,5 +209,19 @@ class NLA_MT_edit_transform(Menu): layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND' layout.operator("transform.transform", text="Scale").mode = 'TIME_SCALE' + +classes = ( + NLA_HT_header, + NLA_MT_add, + NLA_MT_edit, + NLA_MT_edit_transform, + NLA_MT_editor_menus, + NLA_MT_marker, + NLA_MT_select, + NLA_MT_view, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index 8821fa0ca58..4d8d9f50a9e 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -526,6 +526,33 @@ class NODE_PT_tools_grease_pencil_brushcurves(GreasePencilBrushCurvesPanel, Pane def node_draw_tree_view(layout, context): pass +classes = ( + NODE_HT_header, + NODE_MT_add, + NODE_MT_editor_menus, + NODE_MT_node, + NODE_MT_node_color_presets, + NODE_MT_node_color_specials, + NODE_MT_select, + NODE_MT_view, + NODE_PT_active_node_color, + NODE_PT_active_node_generic, + NODE_PT_active_node_properties, + NODE_PT_backdrop, + NODE_PT_grease_pencil, + NODE_PT_grease_pencil_palettecolor, + NODE_PT_grease_pencil_tools, + NODE_PT_quality, + NODE_PT_tools_grease_pencil_brush, + NODE_PT_tools_grease_pencil_brushcurves, + NODE_PT_tools_grease_pencil_draw, + NODE_PT_tools_grease_pencil_edit, + NODE_PT_tools_grease_pencil_sculpt, + NODE_UL_interface_sockets, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py index 6f7c535fe21..6ff5498cb4a 100644 --- a/release/scripts/startup/bl_ui/space_outliner.py +++ b/release/scripts/startup/bl_ui/space_outliner.py @@ -130,5 +130,16 @@ class OUTLINER_MT_edit_datablocks(Menu): layout.operator("outliner.drivers_add_selected") layout.operator("outliner.drivers_delete_selected") + +classes = ( + OUTLINER_HT_header, + OUTLINER_MT_edit_datablocks, + OUTLINER_MT_editor_menus, + OUTLINER_MT_search, + OUTLINER_MT_view, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_properties.py b/release/scripts/startup/bl_ui/space_properties.py index f0ca01ec3ba..20cb5719e20 100644 --- a/release/scripts/startup/bl_ui/space_properties.py +++ b/release/scripts/startup/bl_ui/space_properties.py @@ -34,13 +34,11 @@ class PROPERTIES_HT_header(Header): row.prop(view, "context", expand=True, icon_only=True) -def register(): - bpy.utils.register_module(__name__) +classes = ( + PROPERTIES_HT_header, +) - -def unregister(): - bpy.utils.unregister_module(__name__) - - -if __name__ == "__main__": - register() +if __name__ == "__main__": # only for live edit. + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index 67ffaa7fccf..ec347bdd666 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -1239,5 +1239,37 @@ class SEQUENCER_PT_custom_props(SequencerButtonsPanel, PropertyPanel, Panel): bl_category = "Strip" +classes = ( + SEQUENCER_HT_header, + SEQUENCER_MT_add, + SEQUENCER_MT_add_effect, + SEQUENCER_MT_change, + SEQUENCER_MT_editor_menus, + SEQUENCER_MT_frame, + SEQUENCER_MT_marker, + SEQUENCER_MT_select, + SEQUENCER_MT_strip, + SEQUENCER_MT_view, + SEQUENCER_MT_view_toggle, + SEQUENCER_PT_custom_props, + SEQUENCER_PT_edit, + SEQUENCER_PT_effect, + SEQUENCER_PT_filter, + SEQUENCER_PT_grease_pencil, + SEQUENCER_PT_grease_pencil_palettecolor, + SEQUENCER_PT_grease_pencil_tools, + SEQUENCER_PT_input, + SEQUENCER_PT_mask, + SEQUENCER_PT_modifiers, + SEQUENCER_PT_preview, + SEQUENCER_PT_proxy, + SEQUENCER_PT_scene, + SEQUENCER_PT_sound, + SEQUENCER_PT_view, + SEQUENCER_PT_view_safe_areas, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_text.py b/release/scripts/startup/bl_ui/space_text.py index 8c5418161ca..67b98d530a8 100644 --- a/release/scripts/startup/bl_ui/space_text.py +++ b/release/scripts/startup/bl_ui/space_text.py @@ -343,5 +343,25 @@ class TEXT_MT_toolbox(Menu): layout.operator("text.run_script") + +classes = ( + TEXT_HT_header, + TEXT_MT_edit, + TEXT_MT_edit_select, + TEXT_MT_edit_to3d, + TEXT_MT_editor_menus, + TEXT_MT_format, + TEXT_MT_templates, + TEXT_MT_templates_osl, + TEXT_MT_templates_py, + TEXT_MT_text, + TEXT_MT_toolbox, + TEXT_MT_view, + TEXT_PT_find, + TEXT_PT_properties, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py index 1f62d8d6968..9b2f6b69f80 100644 --- a/release/scripts/startup/bl_ui/space_time.py +++ b/release/scripts/startup/bl_ui/space_time.py @@ -269,5 +269,18 @@ def marker_menu_generic(layout): layout.prop(ts, "lock_markers") +classes = ( + TIME_HT_header, + TIME_MT_autokey, + TIME_MT_cache, + TIME_MT_editor_menus, + TIME_MT_frame, + TIME_MT_marker, + TIME_MT_playback, + TIME_MT_view, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index cd12255c24c..faaf54173ff 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -1481,5 +1481,27 @@ class USERPREF_PT_addons(Panel): row.label(text=module_name, translate=False) +classes = ( + USERPREF_HT_header, + USERPREF_MT_addons_online_resources, + USERPREF_MT_appconfigs, + USERPREF_MT_interaction_presets, + USERPREF_MT_interface_theme_presets, + USERPREF_MT_keyconfigs, + USERPREF_MT_ndof_settings, + USERPREF_MT_splash, + USERPREF_MT_splash_footer, + USERPREF_PT_addons, + USERPREF_PT_edit, + USERPREF_PT_file, + USERPREF_PT_input, + USERPREF_PT_interface, + USERPREF_PT_system, + USERPREF_PT_tabs, + USERPREF_PT_theme, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index a4238c53308..920fd1b7067 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -3787,13 +3787,142 @@ class VIEW3D_PT_context_properties(Panel): # Draw with no edit button rna_prop_ui.draw(self.layout, context, member, object, False) - -def register(): - bpy.utils.register_module(__name__) +classes = ( + INFO_MT_add, + INFO_MT_armature_add, + INFO_MT_curve_add, + INFO_MT_edit_armature_add, + INFO_MT_edit_curve_add, + INFO_MT_lamp_add, + INFO_MT_mesh_add, + INFO_MT_metaball_add, + INFO_MT_surface_add, + VIEW3D_HT_header, + VIEW3D_MT_angle_control, + VIEW3D_MT_armature_specials, + VIEW3D_MT_bone_options_disable, + VIEW3D_MT_bone_options_enable, + VIEW3D_MT_bone_options_toggle, + VIEW3D_MT_brush, + VIEW3D_MT_brush_paint_modes, + VIEW3D_MT_edit_armature, + VIEW3D_MT_edit_armature_delete, + VIEW3D_MT_edit_armature_parent, + VIEW3D_MT_edit_armature_roll, + VIEW3D_MT_edit_curve, + VIEW3D_MT_edit_curve_ctrlpoints, + VIEW3D_MT_edit_curve_delete, + VIEW3D_MT_edit_curve_segments, + VIEW3D_MT_edit_curve_showhide, + VIEW3D_MT_edit_curve_specials, + VIEW3D_MT_edit_font, + VIEW3D_MT_edit_gpencil, + VIEW3D_MT_edit_gpencil_delete, + VIEW3D_MT_edit_gpencil_interpolate, + VIEW3D_MT_edit_gpencil_transform, + VIEW3D_MT_edit_lattice, + VIEW3D_MT_edit_mesh, + VIEW3D_MT_edit_mesh_clean, + VIEW3D_MT_edit_mesh_delete, + VIEW3D_MT_edit_mesh_edges, + VIEW3D_MT_edit_mesh_extrude, + VIEW3D_MT_edit_mesh_faces, + VIEW3D_MT_edit_mesh_normals, + VIEW3D_MT_edit_mesh_select_by_trait, + VIEW3D_MT_edit_mesh_select_mode, + VIEW3D_MT_edit_mesh_select_more_less, + VIEW3D_MT_edit_mesh_select_similar, + VIEW3D_MT_edit_mesh_showhide, + VIEW3D_MT_edit_mesh_specials, + VIEW3D_MT_edit_mesh_vertices, + VIEW3D_MT_edit_meta, + VIEW3D_MT_edit_meta_showhide, + VIEW3D_MT_edit_proportional, + VIEW3D_MT_edit_surface, + VIEW3D_MT_edit_text_chars, + VIEW3D_MT_editor_menus, + VIEW3D_MT_hide_mask, + VIEW3D_MT_hook, + VIEW3D_MT_make_links, + VIEW3D_MT_make_single_user, + VIEW3D_MT_mirror, + VIEW3D_MT_object, + VIEW3D_MT_object_animation, + VIEW3D_MT_object_apply, + VIEW3D_MT_object_clear, + VIEW3D_MT_object_constraints, + VIEW3D_MT_object_game, + VIEW3D_MT_object_group, + VIEW3D_MT_object_parent, + VIEW3D_MT_object_quick_effects, + VIEW3D_MT_object_showhide, + VIEW3D_MT_object_specials, + VIEW3D_MT_object_track, + VIEW3D_MT_paint_vertex, + VIEW3D_MT_paint_weight, + VIEW3D_MT_particle, + VIEW3D_MT_particle_showhide, + VIEW3D_MT_particle_specials, + VIEW3D_MT_pose, + VIEW3D_MT_pose_apply, + VIEW3D_MT_pose_constraints, + VIEW3D_MT_pose_group, + VIEW3D_MT_pose_ik, + VIEW3D_MT_pose_library, + VIEW3D_MT_pose_motion, + VIEW3D_MT_pose_propagate, + VIEW3D_MT_pose_showhide, + VIEW3D_MT_pose_slide, + VIEW3D_MT_pose_specials, + VIEW3D_MT_pose_transform, + VIEW3D_MT_sculpt, + VIEW3D_MT_select_edit_armature, + VIEW3D_MT_select_edit_curve, + VIEW3D_MT_select_edit_lattice, + VIEW3D_MT_select_edit_mesh, + VIEW3D_MT_select_edit_metaball, + VIEW3D_MT_select_edit_surface, + VIEW3D_MT_select_edit_text, + VIEW3D_MT_select_gpencil, + VIEW3D_MT_select_object, + VIEW3D_MT_select_object_more_less, + VIEW3D_MT_select_paint_mask, + VIEW3D_MT_select_paint_mask_vertex, + VIEW3D_MT_select_particle, + VIEW3D_MT_select_pose, + VIEW3D_MT_select_pose_more_less, + VIEW3D_MT_snap, + VIEW3D_MT_transform, + VIEW3D_MT_transform_armature, + VIEW3D_MT_transform_base, + VIEW3D_MT_transform_object, + VIEW3D_MT_uv_map, + VIEW3D_MT_vertex_group, + VIEW3D_MT_view, + VIEW3D_MT_view_align, + VIEW3D_MT_view_align_selected, + VIEW3D_MT_view_cameras, + VIEW3D_MT_view_navigation, + VIEW3D_PT_background_image, + VIEW3D_PT_context_properties, + VIEW3D_PT_etch_a_ton, + VIEW3D_PT_grease_pencil, + VIEW3D_PT_grease_pencil_palettecolor, + VIEW3D_PT_transform_orientations, + VIEW3D_PT_view3d_cursor, + VIEW3D_PT_view3d_curvedisplay, + VIEW3D_PT_view3d_display, + VIEW3D_PT_view3d_meshdisplay, + VIEW3D_PT_view3d_meshstatvis, + VIEW3D_PT_view3d_motion_tracking, + VIEW3D_PT_view3d_name, + VIEW3D_PT_view3d_properties, + VIEW3D_PT_view3d_shading, + VIEW3D_PT_view3d_stereo, +) -def unregister(): - bpy.utils.unregister_module(__name__) - -if __name__ == "__main__": - register() +if __name__ == "__main__": # only for live edit. + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index 60e86d7544d..ad83da7db83 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -2008,5 +2008,69 @@ class VIEW3D_PT_tools_history(View3DPanel, Panel): col.operator("screen.repeat_history", text="History...") +classes = ( + TEXTURE_UL_texpaintslots, + VIEW3D_MT_tools_projectpaint_stencil, + VIEW3D_MT_tools_projectpaint_uvlayer, + VIEW3D_PT_imapaint_tools_missing, + VIEW3D_PT_sculpt_dyntopo, + VIEW3D_PT_sculpt_options, + VIEW3D_PT_sculpt_symmetry, + VIEW3D_PT_slots_projectpaint, + VIEW3D_PT_stencil_projectpaint, + VIEW3D_PT_tools_add_curve_edit, + VIEW3D_PT_tools_add_mball_edit, + VIEW3D_PT_tools_add_mesh_edit, + VIEW3D_PT_tools_add_object, + VIEW3D_PT_tools_add_surface_edit, + VIEW3D_PT_tools_animation, + VIEW3D_PT_tools_armatureedit, + VIEW3D_PT_tools_armatureedit_options, + VIEW3D_PT_tools_armatureedit_transform, + VIEW3D_PT_tools_brush, + VIEW3D_PT_tools_brush_appearance, + VIEW3D_PT_tools_brush_curve, + VIEW3D_PT_tools_brush_overlay, + VIEW3D_PT_tools_brush_stroke, + VIEW3D_PT_tools_brush_texture, + VIEW3D_PT_tools_curveedit, + VIEW3D_PT_tools_curveedit_options_stroke, + VIEW3D_PT_tools_grease_pencil_brush, + VIEW3D_PT_tools_grease_pencil_brushcurves, + VIEW3D_PT_tools_grease_pencil_draw, + VIEW3D_PT_tools_grease_pencil_edit, + VIEW3D_PT_tools_grease_pencil_interpolate, + VIEW3D_PT_tools_grease_pencil_sculpt, + VIEW3D_PT_tools_history, + VIEW3D_PT_tools_imagepaint_external, + VIEW3D_PT_tools_imagepaint_symmetry, + VIEW3D_PT_tools_latticeedit, + VIEW3D_PT_tools_mask_texture, + VIEW3D_PT_tools_mballedit, + VIEW3D_PT_tools_meshedit, + VIEW3D_PT_tools_meshedit_options, + VIEW3D_PT_tools_meshweight, + VIEW3D_PT_tools_object, + VIEW3D_PT_tools_particlemode, + VIEW3D_PT_tools_posemode, + VIEW3D_PT_tools_posemode_options, + VIEW3D_PT_tools_projectpaint, + VIEW3D_PT_tools_relations, + VIEW3D_PT_tools_rigid_body, + VIEW3D_PT_tools_shading, + VIEW3D_PT_tools_surfaceedit, + VIEW3D_PT_tools_textedit, + VIEW3D_PT_tools_transform, + VIEW3D_PT_tools_transform_curve, + VIEW3D_PT_tools_transform_mesh, + VIEW3D_PT_tools_transform_surface, + VIEW3D_PT_tools_uvs, + VIEW3D_PT_tools_vertexpaint, + VIEW3D_PT_tools_weightpaint, + VIEW3D_PT_tools_weightpaint_options, +) + if __name__ == "__main__": # only for live edit. - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) diff --git a/release/scripts/startup/keyingsets_builtins.py b/release/scripts/startup/keyingsets_builtins.py index 97320e56378..ce0b1b62d44 100644 --- a/release/scripts/startup/keyingsets_builtins.py +++ b/release/scripts/startup/keyingsets_builtins.py @@ -643,13 +643,41 @@ class BUILTIN_KSI_DeltaScale(KeyingSetInfo): ############################### +classes = ( + BUILTIN_KSI_Available, + BUILTIN_KSI_BendyBones, + BUILTIN_KSI_DeltaLocation, + BUILTIN_KSI_DeltaRotation, + BUILTIN_KSI_DeltaScale, + BUILTIN_KSI_LocRot, + BUILTIN_KSI_LocRotScale, + BUILTIN_KSI_LocScale, + BUILTIN_KSI_Location, + BUILTIN_KSI_RotScale, + BUILTIN_KSI_Rotation, + BUILTIN_KSI_Scaling, + BUILTIN_KSI_VisualLoc, + BUILTIN_KSI_VisualLocRot, + BUILTIN_KSI_VisualLocRotScale, + BUILTIN_KSI_VisualLocScale, + BUILTIN_KSI_VisualRot, + BUILTIN_KSI_VisualRotScale, + BUILTIN_KSI_VisualScaling, + BUILTIN_KSI_WholeCharacter, + BUILTIN_KSI_WholeCharacterSelected, +) + def register(): - bpy.utils.register_module(__name__) + from bpy.utils import register_class + for cls in classes: + register_class(cls) def unregister(): - bpy.utils.unregister_module(__name__) + from bpy.utils import unregister_class + for cls in classes: + unregister_class(cls) if __name__ == "__main__": From 56d3cc9341862761454e927af04c120bbeabfa2a Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Sun, 19 Mar 2017 03:37:22 +1100 Subject: [PATCH 6/9] PyAPI: ID Property tests --- tests/python/CMakeLists.txt | 5 +- tests/python/bl_pyapi_idprop.py | 144 ++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 tests/python/bl_pyapi_idprop.py diff --git a/tests/python/CMakeLists.txt b/tests/python/CMakeLists.txt index b76c47fcf25..f7ca9b02137 100644 --- a/tests/python/CMakeLists.txt +++ b/tests/python/CMakeLists.txt @@ -83,11 +83,14 @@ add_test(script_pyapi_bpy_utils_units ${TEST_BLENDER_EXE} --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_bpy_utils_units.py ) -# test running mathutils testing script add_test(script_pyapi_mathutils ${TEST_BLENDER_EXE} --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_mathutils.py ) +add_test(script_pyapi_idprop ${TEST_BLENDER_EXE} + --python ${CMAKE_CURRENT_LIST_DIR}/bl_pyapi_idprop.py +) + # ------------------------------------------------------------------------------ # MODELING TESTS add_test(bevel ${TEST_BLENDER_EXE} diff --git a/tests/python/bl_pyapi_idprop.py b/tests/python/bl_pyapi_idprop.py new file mode 100644 index 00000000000..0a9cb044571 --- /dev/null +++ b/tests/python/bl_pyapi_idprop.py @@ -0,0 +1,144 @@ +# Apache License, Version 2.0 + +# ./blender.bin --background -noaudio --python tests/python/bl_pyapi_idprop.py -- --verbose +import bpy +import unittest +from array import array + + +class TestHelper: + + @property + def id(self): + return self._id + + def setUp(self): + self._id = bpy.context.scene + assert(len(self._id.keys()) == 0) + + def tearDown(self): + for key in list(self._id.keys()): + del self._id[key] + + def assertAlmostEqualSeq(self, list1, list2): + self.assertEqual(len(list1), len(list2)) + for v1, v2 in zip(list1, list2): + self.assertAlmostEqual(v1, v2, places=5) + + +class TestIdPropertyCreation(TestHelper, unittest.TestCase): + + def test_name_empty(self): + self.id[""] = 4 + self.assertEqual(self.id[""], 4) + + def test_name_too_long(self): + with self.assertRaises(KeyError): + self.id["name" * 30] = 4 + + def test_int(self): + self.id["a"] = 2 + self.assertEqual(self.id["a"], 2) + self.assertTrue(isinstance(self.id["a"], int)) + + with self.assertRaises(OverflowError): + self.id["a"] = 2 ** 31 # integer <= 2 ** 31-1 + + def test_double(self): + self.id["a"] = 2.5 + self.assertEqual(self.id["a"], 2.5) + self.assertTrue(isinstance(self.id["a"], float)) + + def test_unicode(self): + self.id["a"] = "Hello World" + self.assertEqual(self.id["a"], "Hello World") + self.assertTrue(isinstance(self.id["a"], str)) + + def test_bytes(self): + self.id["a"] = b"Hello World" + self.assertEqual(self.id["a"], b"Hello World") + self.assertTrue(isinstance(self.id["a"], bytes)) + + def test_sequence_double_list(self): + mylist = [1.2, 3.4, 5.6] + self.id["a"] = mylist + self.assertEqual(self.id["a"].to_list(), mylist) + self.assertEqual(self.id["a"].typecode, "d") + + def test_sequence_int_list(self): + mylist = [1, 2, 3] + self.id["a"] = mylist + self.assertEqual(self.id["a"].to_list(), mylist) + self.assertEqual(self.id["a"].typecode, "i") + + def test_sequence_float_array(self): + mylist = [1.2, 3.4, 5.6] + self.id["a"] = array("f", mylist) + self.assertAlmostEqualSeq(self.id["a"].to_list(), mylist) + self.assertEqual(self.id["a"].typecode, "d") + + def test_sequence_double_array(self): + mylist = [1.2, 3.4, 5.6] + self.id["a"] = array("d", mylist) + self.assertAlmostEqualSeq(self.id["a"].to_list(), mylist) + self.assertEqual(self.id["a"].typecode, "d") + + def test_sequence_int_array(self): + mylist = [1, 2, 3] + self.id["a"] = array("i", mylist) + self.assertAlmostEqualSeq(self.id["a"].to_list(), mylist) + self.assertEqual(self.id["a"].typecode, "i") + + def test_sequence_other_array(self): + mylist = [1, 2, 3] + self.id["a"] = array("Q", mylist) + self.assertEqual(self.id["a"].to_list(), mylist) + + def test_sequence_mixed_numerical_type(self): + self.id["a"] = [1, 2, 3.4, 5] + self.assertAlmostEqualSeq(self.id["a"].to_list(), [1.0, 2.0, 3.4, 5.0]) + self.assertEqual(self.id["a"].typecode, "d") + + def test_sequence_str_list(self): + # I'm a bit surprised that this works + mylist = ["abc", "qwe"] + self.id["a"] = mylist + self.assertEqual(self.id["a"], mylist) + + def test_sequence_mixed_type(self): + with self.assertRaises(TypeError): + mylist = ["abc", 3, "qwe", 3.4] + self.id["a"] = mylist + + def test_mapping_simple(self): + mydict = {"1": 10, "2": "20", "3": 30.5} + self.id["a"] = mydict + self.assertEqual(self.id["a"]["1"], mydict["1"]) + self.assertEqual(self.id["a"]["2"], mydict["2"]) + self.assertEqual(self.id["a"]["3"], mydict["3"]) + + def test_mapping_complex(self): + mydict = { + "1": [1, 2, 3], + "2": {"1": "abc", "2": array("i", [4, 5, 6])}, + "3": {"1": {"1": 10}, "2": b"qwe"}, + } + self.id["a"] = mydict + self.assertEqual(self.id["a"]["1"].to_list(), [1, 2, 3]) + self.assertEqual(self.id["a"]["2"]["1"], "abc") + self.assertEqual(self.id["a"]["2"]["2"].to_list(), [4, 5, 6]) + self.assertEqual(self.id["a"]["3"]["1"]["1"], 10) + self.assertEqual(self.id["a"]["3"]["2"], b"qwe") + + with self.assertRaises(KeyError): + a = self.id["a"]["2"]["a"] + + def test_invalid_type(self): + with self.assertRaises(TypeError): + self.id["a"] = self + + +if __name__ == '__main__': + import sys + sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []) + unittest.main() From 84935998a73de367b31e3e9604942125601de553 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 20 Mar 2017 02:07:24 +1100 Subject: [PATCH 7/9] Add missing classes from recent commit --- release/scripts/startup/bl_operators/freestyle.py | 8 ++++++++ release/scripts/startup/bl_ui/properties_freestyle.py | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/release/scripts/startup/bl_operators/freestyle.py b/release/scripts/startup/bl_operators/freestyle.py index fe3b00d54cd..d8cffb7f0ff 100644 --- a/release/scripts/startup/bl_operators/freestyle.py +++ b/release/scripts/startup/bl_operators/freestyle.py @@ -218,3 +218,11 @@ class SCENE_OT_freestyle_module_open(bpy.types.Operator): text = bpy.data.texts.load(self.filepath, self.make_internal) self.freestyle_module.script = text return {'FINISHED'} + + +classes = ( + SCENE_OT_freestyle_add_edge_marks_to_keying_set, + SCENE_OT_freestyle_add_face_marks_to_keying_set, + SCENE_OT_freestyle_fill_range_by_selection, + SCENE_OT_freestyle_module_open, +) diff --git a/release/scripts/startup/bl_ui/properties_freestyle.py b/release/scripts/startup/bl_ui/properties_freestyle.py index aee35c70ec8..89024a52c25 100644 --- a/release/scripts/startup/bl_ui/properties_freestyle.py +++ b/release/scripts/startup/bl_ui/properties_freestyle.py @@ -828,6 +828,16 @@ class MATERIAL_PT_freestyle_line(MaterialFreestyleButtonsPanel, Panel): row.prop(mat, "line_priority", text="Priority") +classes = ( + MATERIAL_PT_freestyle_line, + RENDERLAYER_PT_freestyle, + RENDERLAYER_PT_freestyle_lineset, + RENDERLAYER_PT_freestyle_linestyle, + RENDERLAYER_UL_linesets, + RENDER_MT_lineset_specials, + RENDER_PT_freestyle, +) + if __name__ == "__main__": # only for live edit. from bpy.utils import register_class for cls in classes: From 19d493ee10987a049df2b1d6d06d6d9054e35469 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 20 Mar 2017 02:34:32 +1100 Subject: [PATCH 8/9] Moving classes to separate listing broke panel order Although this wasn't so obvious since it only showed up for factory settings and in the preferences window. Panel display order depends on registration order, Sorry for the noise. On the bright side we no longer need to move classes around to re-arrange panels. --- .../startup/bl_ui/properties_constraint.py | 2 +- .../startup/bl_ui/properties_data_armature.py | 10 +- .../startup/bl_ui/properties_data_bone.py | 12 +- .../startup/bl_ui/properties_data_camera.py | 16 +- .../startup/bl_ui/properties_data_curve.py | 14 +- .../startup/bl_ui/properties_data_lamp.py | 18 +- .../startup/bl_ui/properties_data_lattice.py | 2 +- .../startup/bl_ui/properties_data_mesh.py | 22 +- .../startup/bl_ui/properties_data_metaball.py | 4 +- .../startup/bl_ui/properties_data_speaker.py | 6 +- .../startup/bl_ui/properties_freestyle.py | 8 +- .../scripts/startup/bl_ui/properties_game.py | 34 +-- .../bl_ui/properties_grease_pencil_common.py | 16 +- .../startup/bl_ui/properties_mask_common.py | 10 +- .../startup/bl_ui/properties_material.py | 32 +-- .../startup/bl_ui/properties_object.py | 16 +- .../startup/bl_ui/properties_particle.py | 24 +- .../bl_ui/properties_physics_dynamicpaint.py | 12 +- .../startup/bl_ui/properties_physics_field.py | 2 +- .../startup/bl_ui/properties_physics_fluid.py | 6 +- .../startup/bl_ui/properties_physics_smoke.py | 12 +- .../bl_ui/properties_physics_softbody.py | 6 +- .../startup/bl_ui/properties_render.py | 14 +- .../startup/bl_ui/properties_render_layer.py | 6 +- .../scripts/startup/bl_ui/properties_scene.py | 16 +- .../startup/bl_ui/properties_texture.py | 40 +-- .../scripts/startup/bl_ui/properties_world.py | 12 +- release/scripts/startup/bl_ui/space_clip.py | 102 ++++---- .../scripts/startup/bl_ui/space_console.py | 2 +- .../scripts/startup/bl_ui/space_dopesheet.py | 14 +- .../startup/bl_ui/space_filebrowser.py | 8 +- release/scripts/startup/bl_ui/space_graph.py | 10 +- release/scripts/startup/bl_ui/space_image.py | 66 ++--- release/scripts/startup/bl_ui/space_info.py | 6 +- release/scripts/startup/bl_ui/space_logic.py | 4 +- release/scripts/startup/bl_ui/space_nla.py | 8 +- release/scripts/startup/bl_ui/space_node.py | 16 +- .../scripts/startup/bl_ui/space_outliner.py | 4 +- .../scripts/startup/bl_ui/space_sequencer.py | 34 +-- release/scripts/startup/bl_ui/space_text.py | 20 +- release/scripts/startup/bl_ui/space_time.py | 8 +- .../scripts/startup/bl_ui/space_userpref.py | 20 +- release/scripts/startup/bl_ui/space_view3d.py | 230 +++++++++--------- .../startup/bl_ui/space_view3d_toolbar.py | 98 ++++---- 44 files changed, 511 insertions(+), 511 deletions(-) diff --git a/release/scripts/startup/bl_ui/properties_constraint.py b/release/scripts/startup/bl_ui/properties_constraint.py index 8a080d855ba..00892d5f85b 100644 --- a/release/scripts/startup/bl_ui/properties_constraint.py +++ b/release/scripts/startup/bl_ui/properties_constraint.py @@ -942,8 +942,8 @@ class BONE_PT_constraints(ConstraintButtonsPanel, Panel): self.draw_constraint(context, con) classes = ( - BONE_PT_constraints, OBJECT_PT_constraints, + BONE_PT_constraints, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py index 48ec160c232..a2ecf984eb5 100644 --- a/release/scripts/startup/bl_ui/properties_data_armature.py +++ b/release/scripts/startup/bl_ui/properties_data_armature.py @@ -330,16 +330,16 @@ class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, Panel): classes = ( + DATA_PT_context_arm, + DATA_PT_skeleton, + DATA_PT_display, DATA_PT_bone_group_specials, DATA_PT_bone_groups, - DATA_PT_context_arm, - DATA_PT_custom_props_arm, - DATA_PT_display, + DATA_PT_pose_library, DATA_PT_ghost, DATA_PT_iksolver_itasc, DATA_PT_motion_paths, - DATA_PT_pose_library, - DATA_PT_skeleton, + DATA_PT_custom_props_arm, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_data_bone.py b/release/scripts/startup/bl_ui/properties_data_bone.py index 75e828e5a02..132c355ed99 100644 --- a/release/scripts/startup/bl_ui/properties_data_bone.py +++ b/release/scripts/startup/bl_ui/properties_data_bone.py @@ -452,14 +452,14 @@ class BONE_PT_custom_props(BoneButtonsPanel, PropertyPanel, Panel): classes = ( BONE_PT_context_bone, - BONE_PT_curved, - BONE_PT_custom_props, - BONE_PT_deform, - BONE_PT_display, - BONE_PT_inverse_kinematics, - BONE_PT_relations, BONE_PT_transform, BONE_PT_transform_locks, + BONE_PT_curved, + BONE_PT_relations, + BONE_PT_display, + BONE_PT_inverse_kinematics, + BONE_PT_deform, + BONE_PT_custom_props, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py index 177012dec32..101062095c4 100644 --- a/release/scripts/startup/bl_ui/properties_data_camera.py +++ b/release/scripts/startup/bl_ui/properties_data_camera.py @@ -327,15 +327,15 @@ def draw_display_safe_settings(layout, safe_data, settings): classes = ( CAMERA_MT_presets, - DATA_PT_camera, - DATA_PT_camera_display, - DATA_PT_camera_dof, - DATA_PT_camera_safe_areas, - DATA_PT_camera_stereoscopy, - DATA_PT_context_camera, - DATA_PT_custom_props_camera, - DATA_PT_lens, SAFE_AREAS_MT_presets, + DATA_PT_context_camera, + DATA_PT_lens, + DATA_PT_camera, + DATA_PT_camera_stereoscopy, + DATA_PT_camera_dof, + DATA_PT_camera_display, + DATA_PT_camera_safe_areas, + DATA_PT_custom_props_camera, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py index 9c8a4a90f33..ac1eb9505a6 100644 --- a/release/scripts/startup/bl_ui/properties_data_curve.py +++ b/release/scripts/startup/bl_ui/properties_data_curve.py @@ -433,16 +433,16 @@ class DATA_PT_custom_props_curve(CurveButtonsPanel, PropertyPanel, Panel): classes = ( - DATA_PT_active_spline, DATA_PT_context_curve, - DATA_PT_curve_texture_space, - DATA_PT_custom_props_curve, - DATA_PT_font, - DATA_PT_geometry_curve, - DATA_PT_paragraph, - DATA_PT_pathanim, DATA_PT_shape_curve, + DATA_PT_curve_texture_space, + DATA_PT_geometry_curve, + DATA_PT_pathanim, + DATA_PT_active_spline, + DATA_PT_font, + DATA_PT_paragraph, DATA_PT_text_boxes, + DATA_PT_custom_props_curve, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_data_lamp.py b/release/scripts/startup/bl_ui/properties_data_lamp.py index 2213781c7d9..f913ef51381 100644 --- a/release/scripts/startup/bl_ui/properties_data_lamp.py +++ b/release/scripts/startup/bl_ui/properties_data_lamp.py @@ -396,16 +396,16 @@ class DATA_PT_custom_props_lamp(DataButtonsPanel, PropertyPanel, Panel): classes = ( - DATA_PT_area, - DATA_PT_context_lamp, - DATA_PT_custom_props_lamp, - DATA_PT_falloff_curve, - DATA_PT_lamp, - DATA_PT_preview, - DATA_PT_shadow, - DATA_PT_spot, - DATA_PT_sunsky, LAMP_MT_sunsky_presets, + DATA_PT_context_lamp, + DATA_PT_preview, + DATA_PT_lamp, + DATA_PT_sunsky, + DATA_PT_shadow, + DATA_PT_area, + DATA_PT_spot, + DATA_PT_falloff_curve, + DATA_PT_custom_props_lamp, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_data_lattice.py b/release/scripts/startup/bl_ui/properties_data_lattice.py index 7f0294cdd20..4b3fd48c195 100644 --- a/release/scripts/startup/bl_ui/properties_data_lattice.py +++ b/release/scripts/startup/bl_ui/properties_data_lattice.py @@ -85,8 +85,8 @@ class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, Panel): classes = ( DATA_PT_context_lattice, - DATA_PT_custom_props_lattice, DATA_PT_lattice, + DATA_PT_custom_props_lattice, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py index 8647d5d6644..de55b4152ba 100644 --- a/release/scripts/startup/bl_ui/properties_data_mesh.py +++ b/release/scripts/startup/bl_ui/properties_data_mesh.py @@ -393,20 +393,20 @@ class DATA_PT_custom_props_mesh(MeshButtonsPanel, PropertyPanel, Panel): classes = ( - DATA_PT_context_mesh, - DATA_PT_custom_props_mesh, - DATA_PT_customdata, - DATA_PT_normals, - DATA_PT_shape_keys, - DATA_PT_texture_space, - DATA_PT_uv_texture, - DATA_PT_vertex_colors, - DATA_PT_vertex_groups, - MESH_MT_shape_key_specials, MESH_MT_vertex_group_specials, + MESH_MT_shape_key_specials, + MESH_UL_vgroups, MESH_UL_shape_keys, MESH_UL_uvmaps_vcols, - MESH_UL_vgroups, + DATA_PT_context_mesh, + DATA_PT_normals, + DATA_PT_texture_space, + DATA_PT_vertex_groups, + DATA_PT_shape_keys, + DATA_PT_uv_texture, + DATA_PT_vertex_colors, + DATA_PT_customdata, + DATA_PT_custom_props_mesh, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_data_metaball.py b/release/scripts/startup/bl_ui/properties_data_metaball.py index 239d16ed77c..a621dc7210f 100644 --- a/release/scripts/startup/bl_ui/properties_data_metaball.py +++ b/release/scripts/startup/bl_ui/properties_data_metaball.py @@ -138,10 +138,10 @@ class DATA_PT_custom_props_metaball(DataButtonsPanel, PropertyPanel, Panel): classes = ( DATA_PT_context_metaball, - DATA_PT_custom_props_metaball, - DATA_PT_mball_texture_space, DATA_PT_metaball, + DATA_PT_mball_texture_space, DATA_PT_metaball_element, + DATA_PT_custom_props_metaball, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_data_speaker.py b/release/scripts/startup/bl_ui/properties_data_speaker.py index 3f30e214f24..eecb2690302 100644 --- a/release/scripts/startup/bl_ui/properties_data_speaker.py +++ b/release/scripts/startup/bl_ui/properties_data_speaker.py @@ -123,11 +123,11 @@ class DATA_PT_custom_props_speaker(DataButtonsPanel, PropertyPanel, Panel): classes = ( - DATA_PT_cone, DATA_PT_context_speaker, - DATA_PT_custom_props_speaker, - DATA_PT_distance, DATA_PT_speaker, + DATA_PT_distance, + DATA_PT_cone, + DATA_PT_custom_props_speaker, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_freestyle.py b/release/scripts/startup/bl_ui/properties_freestyle.py index 89024a52c25..9c5be7624e0 100644 --- a/release/scripts/startup/bl_ui/properties_freestyle.py +++ b/release/scripts/startup/bl_ui/properties_freestyle.py @@ -829,13 +829,13 @@ class MATERIAL_PT_freestyle_line(MaterialFreestyleButtonsPanel, Panel): classes = ( - MATERIAL_PT_freestyle_line, + RENDER_PT_freestyle, + RENDERLAYER_UL_linesets, + RENDER_MT_lineset_specials, RENDERLAYER_PT_freestyle, RENDERLAYER_PT_freestyle_lineset, RENDERLAYER_PT_freestyle_linestyle, - RENDERLAYER_UL_linesets, - RENDER_MT_lineset_specials, - RENDER_PT_freestyle, + MATERIAL_PT_freestyle_line, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py index 2e309a10940..46b34373aa5 100644 --- a/release/scripts/startup/bl_ui/properties_game.py +++ b/release/scripts/startup/bl_ui/properties_game.py @@ -853,26 +853,26 @@ class OBJECT_PT_levels_of_detail(ObjectButtonsPanel, Panel): classes = ( + PHYSICS_PT_game_physics, + PHYSICS_PT_game_collision_bounds, + PHYSICS_PT_game_obstacles, + RENDER_PT_embedded, + RENDER_PT_game_player, + RENDER_PT_game_stereo, + RENDER_PT_game_shading, + RENDER_PT_game_system, + RENDER_PT_game_display, + SCENE_PT_game_physics, + SCENE_PT_game_physics_obstacles, + SCENE_PT_game_navmesh, + SCENE_PT_game_hysteresis, + WORLD_PT_game_context_world, + WORLD_PT_game_world, + WORLD_PT_game_environment_lighting, + WORLD_PT_game_mist, DATA_PT_shadow_game, OBJECT_MT_lod_tools, OBJECT_PT_levels_of_detail, - PHYSICS_PT_game_collision_bounds, - PHYSICS_PT_game_obstacles, - PHYSICS_PT_game_physics, - RENDER_PT_embedded, - RENDER_PT_game_display, - RENDER_PT_game_player, - RENDER_PT_game_shading, - RENDER_PT_game_stereo, - RENDER_PT_game_system, - SCENE_PT_game_hysteresis, - SCENE_PT_game_navmesh, - SCENE_PT_game_physics, - SCENE_PT_game_physics_obstacles, - WORLD_PT_game_context_world, - WORLD_PT_game_environment_lighting, - WORLD_PT_game_mist, - WORLD_PT_game_world, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py index 83c27c1ccfc..42e8d5272b3 100644 --- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py +++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py @@ -1158,18 +1158,18 @@ class GreasePencilToolsPanel: classes = ( - GPENCIL_MT_brush_specials, - GPENCIL_MT_gpencil_edit_specials, - GPENCIL_MT_layer_specials, - GPENCIL_MT_palettecolor_specials, - GPENCIL_MT_snap, - GPENCIL_PIE_sculpt, - GPENCIL_PIE_settings_palette, GPENCIL_PIE_tool_palette, + GPENCIL_PIE_settings_palette, GPENCIL_PIE_tools_more, + GPENCIL_PIE_sculpt, + GPENCIL_MT_snap, + GPENCIL_MT_gpencil_edit_specials, GPENCIL_UL_brush, - GPENCIL_UL_layer, GPENCIL_UL_palettecolor, + GPENCIL_UL_layer, + GPENCIL_MT_layer_specials, + GPENCIL_MT_brush_specials, + GPENCIL_MT_palettecolor_specials, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_mask_common.py b/release/scripts/startup/bl_ui/properties_mask_common.py index 78fb7843f14..a7a67130f2f 100644 --- a/release/scripts/startup/bl_ui/properties_mask_common.py +++ b/release/scripts/startup/bl_ui/properties_mask_common.py @@ -394,12 +394,12 @@ class MASK_MT_select(Menu): classes = ( - MASK_MT_animation, - MASK_MT_mask, - MASK_MT_select, - MASK_MT_transform, - MASK_MT_visibility, MASK_UL_layers, + MASK_MT_mask, + MASK_MT_visibility, + MASK_MT_transform, + MASK_MT_animation, + MASK_MT_select, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py index def272d5045..c384600344e 100644 --- a/release/scripts/startup/bl_ui/properties_material.py +++ b/release/scripts/startup/bl_ui/properties_material.py @@ -1054,33 +1054,33 @@ class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, Panel): classes = ( - MATERIAL_MT_specials, MATERIAL_MT_sss_presets, + MATERIAL_MT_specials, + MATERIAL_UL_matslots, MATERIAL_PT_context_material, - MATERIAL_PT_custom_props, + MATERIAL_PT_preview, + MATERIAL_PT_pipeline, MATERIAL_PT_diffuse, + MATERIAL_PT_specular, + MATERIAL_PT_shading, + MATERIAL_PT_transp, + MATERIAL_PT_mirror, + MATERIAL_PT_sss, + MATERIAL_PT_halo, MATERIAL_PT_flare, MATERIAL_PT_game_settings, - MATERIAL_PT_halo, - MATERIAL_PT_mirror, - MATERIAL_PT_options, MATERIAL_PT_physics, - MATERIAL_PT_pipeline, - MATERIAL_PT_preview, - MATERIAL_PT_shading, - MATERIAL_PT_shadow, - MATERIAL_PT_specular, - MATERIAL_PT_sss, MATERIAL_PT_strand, - MATERIAL_PT_transp, + MATERIAL_PT_options, + MATERIAL_PT_shadow, MATERIAL_PT_transp_game, MATERIAL_PT_volume_density, - MATERIAL_PT_volume_integration, - MATERIAL_PT_volume_lighting, - MATERIAL_PT_volume_options, MATERIAL_PT_volume_shading, + MATERIAL_PT_volume_lighting, MATERIAL_PT_volume_transp, - MATERIAL_UL_matslots, + MATERIAL_PT_volume_integration, + MATERIAL_PT_volume_options, + MATERIAL_PT_custom_props, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py index 099b82e000e..d7e18f81232 100644 --- a/release/scripts/startup/bl_ui/properties_object.py +++ b/release/scripts/startup/bl_ui/properties_object.py @@ -368,18 +368,18 @@ class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, Panel): classes = ( - GROUP_MT_specials, OBJECT_PT_context_object, - OBJECT_PT_custom_props, + OBJECT_PT_transform, OBJECT_PT_delta_transform, - OBJECT_PT_display, - OBJECT_PT_duplication, - OBJECT_PT_groups, - OBJECT_PT_motion_paths, + OBJECT_PT_transform_locks, OBJECT_PT_relations, OBJECT_PT_relations_extras, - OBJECT_PT_transform, - OBJECT_PT_transform_locks, + GROUP_MT_specials, + OBJECT_PT_groups, + OBJECT_PT_display, + OBJECT_PT_duplication, + OBJECT_PT_motion_paths, + OBJECT_PT_custom_props, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index deaf6cd4f37..593312fc071 100644 --- a/release/scripts/startup/bl_ui/properties_particle.py +++ b/release/scripts/startup/bl_ui/properties_particle.py @@ -1406,24 +1406,24 @@ class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, Panel): classes = ( - PARTICLE_MT_hair_dynamics_presets, PARTICLE_MT_specials, - PARTICLE_PT_boidbrain, - PARTICLE_PT_cache, - PARTICLE_PT_children, + PARTICLE_MT_hair_dynamics_presets, + PARTICLE_UL_particle_systems, PARTICLE_PT_context_particles, - PARTICLE_PT_custom_props, - PARTICLE_PT_draw, PARTICLE_PT_emission, + PARTICLE_PT_hair_dynamics, + PARTICLE_PT_cache, + PARTICLE_PT_velocity, + PARTICLE_PT_rotation, + PARTICLE_PT_physics, + PARTICLE_PT_boidbrain, + PARTICLE_PT_render, + PARTICLE_PT_draw, + PARTICLE_PT_children, PARTICLE_PT_field_weights, PARTICLE_PT_force_fields, - PARTICLE_PT_hair_dynamics, - PARTICLE_PT_physics, - PARTICLE_PT_render, - PARTICLE_PT_rotation, - PARTICLE_PT_velocity, PARTICLE_PT_vertexgroups, - PARTICLE_UL_particle_systems, + PARTICLE_PT_custom_props, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py b/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py index 4758f72edb5..c813350be08 100644 --- a/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py +++ b/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py @@ -530,16 +530,16 @@ class PHYSICS_PT_dp_brush_wave(PhysicButtonsPanel, Panel): classes = ( + PHYSICS_UL_dynapaint_surfaces, + PHYSICS_PT_dynamic_paint, PHYSICS_PT_dp_advanced_canvas, + PHYSICS_PT_dp_canvas_output, + PHYSICS_PT_dp_canvas_initial_color, + PHYSICS_PT_dp_effects, + PHYSICS_PT_dp_cache, PHYSICS_PT_dp_brush_source, PHYSICS_PT_dp_brush_velocity, PHYSICS_PT_dp_brush_wave, - PHYSICS_PT_dp_cache, - PHYSICS_PT_dp_canvas_initial_color, - PHYSICS_PT_dp_canvas_output, - PHYSICS_PT_dp_effects, - PHYSICS_PT_dynamic_paint, - PHYSICS_UL_dynapaint_surfaces, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_physics_field.py b/release/scripts/startup/bl_ui/properties_physics_field.py index a1c160d4a7e..2b12fcf982d 100644 --- a/release/scripts/startup/bl_ui/properties_physics_field.py +++ b/release/scripts/startup/bl_ui/properties_physics_field.py @@ -230,8 +230,8 @@ class PHYSICS_PT_collision(PhysicButtonsPanel, Panel): classes = ( - PHYSICS_PT_collision, PHYSICS_PT_field, + PHYSICS_PT_collision, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_physics_fluid.py b/release/scripts/startup/bl_ui/properties_physics_fluid.py index 6c7fba44988..ab92370f9ae 100644 --- a/release/scripts/startup/bl_ui/properties_physics_fluid.py +++ b/release/scripts/startup/bl_ui/properties_physics_fluid.py @@ -311,10 +311,10 @@ class PHYSICS_PT_domain_particles(PhysicButtonsPanel, Panel): classes = ( FLUID_MT_presets, - PHYSICS_PT_domain_boundary, - PHYSICS_PT_domain_gravity, - PHYSICS_PT_domain_particles, PHYSICS_PT_fluid, + PHYSICS_PT_domain_gravity, + PHYSICS_PT_domain_boundary, + PHYSICS_PT_domain_particles, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py b/release/scripts/startup/bl_ui/properties_physics_smoke.py index 028333a8e3b..e6182c2ec74 100644 --- a/release/scripts/startup/bl_ui/properties_physics_smoke.py +++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py @@ -412,14 +412,14 @@ class PHYSICS_PT_smoke_display_settings(PhysicButtonsPanel, Panel): classes = ( PHYSICS_PT_smoke, - PHYSICS_PT_smoke_adaptive_domain, - PHYSICS_PT_smoke_cache, - PHYSICS_PT_smoke_display_settings, - PHYSICS_PT_smoke_field_weights, - PHYSICS_PT_smoke_fire, PHYSICS_PT_smoke_flow_advanced, - PHYSICS_PT_smoke_groups, + PHYSICS_PT_smoke_fire, + PHYSICS_PT_smoke_adaptive_domain, PHYSICS_PT_smoke_highres, + PHYSICS_PT_smoke_groups, + PHYSICS_PT_smoke_cache, + PHYSICS_PT_smoke_field_weights, + PHYSICS_PT_smoke_display_settings, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_physics_softbody.py b/release/scripts/startup/bl_ui/properties_physics_softbody.py index f463f56bac0..5960428e4ae 100644 --- a/release/scripts/startup/bl_ui/properties_physics_softbody.py +++ b/release/scripts/startup/bl_ui/properties_physics_softbody.py @@ -248,11 +248,11 @@ class PHYSICS_PT_softbody_field_weights(PhysicButtonsPanel, Panel): classes = ( PHYSICS_PT_softbody, PHYSICS_PT_softbody_cache, - PHYSICS_PT_softbody_collision, - PHYSICS_PT_softbody_edge, - PHYSICS_PT_softbody_field_weights, PHYSICS_PT_softbody_goal, + PHYSICS_PT_softbody_edge, + PHYSICS_PT_softbody_collision, PHYSICS_PT_softbody_solver, + PHYSICS_PT_softbody_field_weights, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py index da33b3c560d..a7e8d9273ad 100644 --- a/release/scripts/startup/bl_ui/properties_render.py +++ b/release/scripts/startup/bl_ui/properties_render.py @@ -585,20 +585,20 @@ class RENDER_PT_bake(RenderButtonsPanel, Panel): classes = ( + RENDER_MT_presets, RENDER_MT_ffmpeg_presets, RENDER_MT_framerate_presets, - RENDER_MT_presets, - RENDER_PT_antialiasing, - RENDER_PT_bake, + RENDER_PT_render, RENDER_PT_dimensions, - RENDER_PT_encoding, + RENDER_PT_antialiasing, RENDER_PT_motion_blur, - RENDER_PT_output, + RENDER_PT_shading, RENDER_PT_performance, RENDER_PT_post_processing, - RENDER_PT_render, - RENDER_PT_shading, RENDER_PT_stamp, + RENDER_PT_output, + RENDER_PT_encoding, + RENDER_PT_bake, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_render_layer.py b/release/scripts/startup/bl_ui/properties_render_layer.py index 42c1638900c..084bc387822 100644 --- a/release/scripts/startup/bl_ui/properties_render_layer.py +++ b/release/scripts/startup/bl_ui/properties_render_layer.py @@ -228,12 +228,12 @@ class RENDERLAYER_PT_views(RenderLayerButtonsPanel, Panel): classes = ( + RENDERLAYER_UL_renderlayers, + RENDERLAYER_PT_layers, RENDERLAYER_PT_layer_options, RENDERLAYER_PT_layer_passes, - RENDERLAYER_PT_layers, - RENDERLAYER_PT_views, - RENDERLAYER_UL_renderlayers, RENDERLAYER_UL_renderviews, + RENDERLAYER_PT_views, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py index 7268a68a724..fb93c0b56f2 100644 --- a/release/scripts/startup/bl_ui/properties_scene.py +++ b/release/scripts/startup/bl_ui/properties_scene.py @@ -446,19 +446,19 @@ class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel): classes = ( SCENE_MT_units_length_presets, - SCENE_PT_audio, - SCENE_PT_color_management, - SCENE_PT_custom_props, - SCENE_PT_keying_set_paths, + SCENE_UL_keying_set_paths, + SCENE_PT_scene, + SCENE_PT_unit, SCENE_PT_keying_sets, + SCENE_PT_keying_set_paths, + SCENE_PT_color_management, + SCENE_PT_audio, SCENE_PT_physics, + SCENE_PT_rigid_body_world, SCENE_PT_rigid_body_cache, SCENE_PT_rigid_body_field_weights, - SCENE_PT_rigid_body_world, - SCENE_PT_scene, SCENE_PT_simplify, - SCENE_PT_unit, - SCENE_UL_keying_set_paths, + SCENE_PT_custom_props, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py index c3f160e03d7..caeccb9bb9d 100644 --- a/release/scripts/startup/bl_ui/properties_texture.py +++ b/release/scripts/startup/bl_ui/properties_texture.py @@ -1226,33 +1226,33 @@ class TEXTURE_PT_custom_props(TextureButtonsPanel, PropertyPanel, Panel): classes = ( - TEXTURE_MT_envmap_specials, TEXTURE_MT_specials, - TEXTURE_PT_blend, - TEXTURE_PT_clouds, - TEXTURE_PT_colors, + TEXTURE_MT_envmap_specials, + TEXTURE_UL_texslots, TEXTURE_PT_context_texture, - TEXTURE_PT_custom_props, - TEXTURE_PT_distortednoise, + TEXTURE_PT_preview, + TEXTURE_PT_colors, + TEXTURE_PT_clouds, + TEXTURE_PT_wood, + TEXTURE_PT_marble, + TEXTURE_PT_magic, + TEXTURE_PT_blend, + TEXTURE_PT_stucci, + TEXTURE_PT_image, + TEXTURE_PT_image_sampling, + TEXTURE_PT_image_mapping, TEXTURE_PT_envmap, TEXTURE_PT_envmap_sampling, - TEXTURE_PT_image, - TEXTURE_PT_image_mapping, - TEXTURE_PT_image_sampling, - TEXTURE_PT_influence, - TEXTURE_PT_magic, - TEXTURE_PT_mapping, - TEXTURE_PT_marble, TEXTURE_PT_musgrave, - TEXTURE_PT_ocean, + TEXTURE_PT_voronoi, + TEXTURE_PT_distortednoise, + TEXTURE_PT_voxeldata, TEXTURE_PT_pointdensity, TEXTURE_PT_pointdensity_turbulence, - TEXTURE_PT_preview, - TEXTURE_PT_stucci, - TEXTURE_PT_voronoi, - TEXTURE_PT_voxeldata, - TEXTURE_PT_wood, - TEXTURE_UL_texslots, + TEXTURE_PT_ocean, + TEXTURE_PT_mapping, + TEXTURE_PT_influence, + TEXTURE_PT_custom_props, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/properties_world.py b/release/scripts/startup/bl_ui/properties_world.py index 16283040c3c..6aa39580d34 100644 --- a/release/scripts/startup/bl_ui/properties_world.py +++ b/release/scripts/startup/bl_ui/properties_world.py @@ -250,15 +250,15 @@ class WORLD_PT_custom_props(WorldButtonsPanel, PropertyPanel, Panel): classes = ( - WORLD_PT_ambient_occlusion, WORLD_PT_context_world, - WORLD_PT_custom_props, - WORLD_PT_environment_lighting, - WORLD_PT_gather, - WORLD_PT_indirect_lighting, - WORLD_PT_mist, WORLD_PT_preview, WORLD_PT_world, + WORLD_PT_ambient_occlusion, + WORLD_PT_environment_lighting, + WORLD_PT_indirect_lighting, + WORLD_PT_gather, + WORLD_PT_mist, + WORLD_PT_custom_props, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index 44509b42b6b..3f05620fcf6 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -1487,65 +1487,65 @@ class CLIP_MT_stabilize_2d_rotation_specials(Menu): classes = ( + CLIP_UL_tracking_objects, CLIP_HT_header, - CLIP_MT_camera_presets, - CLIP_MT_clip, - CLIP_MT_masking_editor_menus, - CLIP_MT_proxy, - CLIP_MT_reconstruction, - CLIP_MT_select, - CLIP_MT_select_grouped, - CLIP_MT_stabilize_2d_rotation_specials, - CLIP_MT_stabilize_2d_specials, CLIP_MT_track, - CLIP_MT_track_color_presets, - CLIP_MT_track_color_specials, - CLIP_MT_track_transform, - CLIP_MT_track_visibility, CLIP_MT_tracking_editor_menus, - CLIP_MT_tracking_settings_presets, - CLIP_MT_tracking_specials, - CLIP_MT_view, - CLIP_PT_active_mask_point, - CLIP_PT_active_mask_spline, - CLIP_PT_display, - CLIP_PT_footage, - CLIP_PT_footage_info, - CLIP_PT_grease_pencil, - CLIP_PT_grease_pencil_palettecolor, - CLIP_PT_marker, - CLIP_PT_marker_display, - CLIP_PT_mask, - CLIP_PT_mask_display, - CLIP_PT_mask_layers, + CLIP_MT_masking_editor_menus, + CLIP_PT_track, + CLIP_PT_tools_clip, + CLIP_PT_tools_marker, + CLIP_PT_tracking_settings, + CLIP_PT_tools_tracking, + CLIP_PT_tools_plane_tracking, + CLIP_PT_tools_solve, + CLIP_PT_tools_cleanup, + CLIP_PT_tools_geometry, + CLIP_PT_tools_orientation, + CLIP_PT_tools_object, CLIP_PT_objects, CLIP_PT_plane_track, - CLIP_PT_proxy, - CLIP_PT_stabilization, - CLIP_PT_tools_cleanup, - CLIP_PT_tools_clip, - CLIP_PT_tools_geometry, - CLIP_PT_tools_grease_pencil_brush, - CLIP_PT_tools_grease_pencil_brushcurves, - CLIP_PT_tools_grease_pencil_draw, - CLIP_PT_tools_grease_pencil_edit, - CLIP_PT_tools_grease_pencil_sculpt, - CLIP_PT_tools_marker, - CLIP_PT_tools_mask, - CLIP_PT_tools_mask_add, - CLIP_PT_tools_mask_transforms, - CLIP_PT_tools_object, - CLIP_PT_tools_orientation, - CLIP_PT_tools_plane_tracking, - CLIP_PT_tools_scenesetup, - CLIP_PT_tools_solve, - CLIP_PT_tools_tracking, - CLIP_PT_track, CLIP_PT_track_settings, CLIP_PT_tracking_camera, CLIP_PT_tracking_lens, - CLIP_PT_tracking_settings, - CLIP_UL_tracking_objects, + CLIP_PT_display, + CLIP_PT_marker, + CLIP_PT_marker_display, + CLIP_PT_stabilization, + CLIP_PT_proxy, + CLIP_PT_mask, + CLIP_PT_mask_layers, + CLIP_PT_mask_display, + CLIP_PT_active_mask_spline, + CLIP_PT_active_mask_point, + CLIP_PT_tools_mask, + CLIP_PT_tools_mask_add, + CLIP_PT_tools_mask_transforms, + CLIP_PT_footage, + CLIP_PT_footage_info, + CLIP_PT_tools_scenesetup, + CLIP_PT_grease_pencil, + CLIP_PT_grease_pencil_palettecolor, + CLIP_PT_tools_grease_pencil_draw, + CLIP_PT_tools_grease_pencil_edit, + CLIP_PT_tools_grease_pencil_sculpt, + CLIP_PT_tools_grease_pencil_brush, + CLIP_PT_tools_grease_pencil_brushcurves, + CLIP_MT_view, + CLIP_MT_clip, + CLIP_MT_proxy, + CLIP_MT_reconstruction, + CLIP_MT_track_visibility, + CLIP_MT_track_transform, + CLIP_MT_select, + CLIP_MT_select_grouped, + CLIP_MT_tracking_specials, + CLIP_MT_camera_presets, + CLIP_MT_track_color_presets, + CLIP_MT_tracking_settings_presets, + CLIP_MT_track_color_specials, + CLIP_MT_stabilize_2d_specials, + CLIP_MT_stabilize_2d_rotation_specials, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_console.py b/release/scripts/startup/bl_ui/space_console.py index 487f0061964..e6f96d989c7 100644 --- a/release/scripts/startup/bl_ui/space_console.py +++ b/release/scripts/startup/bl_ui/space_console.py @@ -105,8 +105,8 @@ def add_scrollback(text, text_type): classes = ( CONSOLE_HT_header, - CONSOLE_MT_console, CONSOLE_MT_editor_menus, + CONSOLE_MT_console, CONSOLE_MT_language, ) diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py index 5e4afbf1bf2..e02649219dd 100644 --- a/release/scripts/startup/bl_ui/space_dopesheet.py +++ b/release/scripts/startup/bl_ui/space_dopesheet.py @@ -451,16 +451,16 @@ class DOPESHEET_MT_delete(Menu): classes = ( DOPESHEET_HT_header, - DOPESHEET_MT_channel, - DOPESHEET_MT_delete, DOPESHEET_MT_editor_menus, - DOPESHEET_MT_gpencil_channel, - DOPESHEET_MT_gpencil_frame, + DOPESHEET_MT_view, + DOPESHEET_MT_select, + DOPESHEET_MT_marker, + DOPESHEET_MT_channel, DOPESHEET_MT_key, DOPESHEET_MT_key_transform, - DOPESHEET_MT_marker, - DOPESHEET_MT_select, - DOPESHEET_MT_view, + DOPESHEET_MT_gpencil_channel, + DOPESHEET_MT_gpencil_frame, + DOPESHEET_MT_delete, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py index 117d90fe031..bd72dfa9370 100644 --- a/release/scripts/startup/bl_ui/space_filebrowser.py +++ b/release/scripts/startup/bl_ui/space_filebrowser.py @@ -249,13 +249,13 @@ class FILEBROWSER_PT_advanced_filter(Panel): classes = ( FILEBROWSER_HT_header, + FILEBROWSER_UL_dir, + FILEBROWSER_PT_system_folders, + FILEBROWSER_PT_system_bookmarks, FILEBROWSER_MT_bookmarks_specials, - FILEBROWSER_PT_advanced_filter, FILEBROWSER_PT_bookmarks, FILEBROWSER_PT_recent_folders, - FILEBROWSER_PT_system_bookmarks, - FILEBROWSER_PT_system_folders, - FILEBROWSER_UL_dir, + FILEBROWSER_PT_advanced_filter, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_graph.py b/release/scripts/startup/bl_ui/space_graph.py index d48b6650460..21b49df61ae 100644 --- a/release/scripts/startup/bl_ui/space_graph.py +++ b/release/scripts/startup/bl_ui/space_graph.py @@ -301,14 +301,14 @@ class GRAPH_MT_delete(Menu): classes = ( GRAPH_HT_header, - GRAPH_MT_channel, - GRAPH_MT_delete, GRAPH_MT_editor_menus, + GRAPH_MT_view, + GRAPH_MT_select, + GRAPH_MT_marker, + GRAPH_MT_channel, GRAPH_MT_key, GRAPH_MT_key_transform, - GRAPH_MT_marker, - GRAPH_MT_select, - GRAPH_MT_view, + GRAPH_MT_delete, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index 38ec1b7a859..b274657b4f4 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -1243,55 +1243,55 @@ class IMAGE_PT_tools_grease_pencil_brushcurves(GreasePencilBrushCurvesPanel, Pan classes = ( - IMAGE_HT_header, + IMAGE_MT_view, + IMAGE_MT_select, IMAGE_MT_brush, IMAGE_MT_image, IMAGE_MT_image_invert, - IMAGE_MT_select, IMAGE_MT_uvs, - IMAGE_MT_uvs_mirror, - IMAGE_MT_uvs_proportional, - IMAGE_MT_uvs_select_mode, IMAGE_MT_uvs_showhide, - IMAGE_MT_uvs_snap, + IMAGE_MT_uvs_proportional, IMAGE_MT_uvs_transform, + IMAGE_MT_uvs_snap, + IMAGE_MT_uvs_mirror, IMAGE_MT_uvs_weldalign, - IMAGE_MT_view, - IMAGE_PT_active_mask_point, - IMAGE_PT_active_mask_spline, - IMAGE_PT_game_properties, - IMAGE_PT_grease_pencil, - IMAGE_PT_grease_pencil_palettecolor, - IMAGE_PT_image_properties, + IMAGE_MT_uvs_select_mode, + IMAGE_HT_header, + MASK_MT_editor_menus, IMAGE_PT_mask, - IMAGE_PT_mask_display, IMAGE_PT_mask_layers, + IMAGE_PT_mask_display, + IMAGE_PT_active_mask_spline, + IMAGE_PT_active_mask_point, + IMAGE_PT_image_properties, + IMAGE_PT_game_properties, + IMAGE_PT_view_properties, + IMAGE_PT_tools_transform_uvs, IMAGE_PT_paint, - IMAGE_PT_paint_curve, - IMAGE_PT_paint_stroke, - IMAGE_PT_sample_line, - IMAGE_PT_scope_sample, - IMAGE_PT_tools_brush_appearance, IMAGE_PT_tools_brush_overlay, IMAGE_PT_tools_brush_texture, + IMAGE_PT_tools_mask, + IMAGE_PT_tools_mask_texture, IMAGE_PT_tools_brush_tool, - IMAGE_PT_tools_grease_pencil_brush, - IMAGE_PT_tools_grease_pencil_brushcurves, + IMAGE_PT_paint_stroke, + IMAGE_PT_paint_curve, + IMAGE_PT_tools_imagepaint_symmetry, + IMAGE_PT_tools_brush_appearance, + IMAGE_PT_tools_paint_options, + IMAGE_UV_sculpt, + IMAGE_UV_sculpt_curve, + IMAGE_PT_view_histogram, + IMAGE_PT_view_waveform, + IMAGE_PT_view_vectorscope, + IMAGE_PT_sample_line, + IMAGE_PT_scope_sample, + IMAGE_PT_grease_pencil, + IMAGE_PT_grease_pencil_palettecolor, IMAGE_PT_tools_grease_pencil_draw, IMAGE_PT_tools_grease_pencil_edit, IMAGE_PT_tools_grease_pencil_sculpt, - IMAGE_PT_tools_imagepaint_symmetry, - IMAGE_PT_tools_mask, - IMAGE_PT_tools_mask_texture, - IMAGE_PT_tools_paint_options, - IMAGE_PT_tools_transform_uvs, - IMAGE_PT_view_histogram, - IMAGE_PT_view_properties, - IMAGE_PT_view_vectorscope, - IMAGE_PT_view_waveform, - IMAGE_UV_sculpt, - IMAGE_UV_sculpt_curve, - MASK_MT_editor_menus, + IMAGE_PT_tools_grease_pencil_brush, + IMAGE_PT_tools_grease_pencil_brushcurves, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py index e6adb87bc9f..16ac6339504 100644 --- a/release/scripts/startup/bl_ui/space_info.py +++ b/release/scripts/startup/bl_ui/space_info.py @@ -345,15 +345,15 @@ classes = ( INFO_HT_header, INFO_MT_editor_menus, INFO_MT_file, + INFO_MT_file_import, INFO_MT_file_export, INFO_MT_file_external_data, - INFO_MT_file_import, INFO_MT_file_previews, INFO_MT_game, - INFO_MT_help, - INFO_MT_opengl_render, INFO_MT_render, + INFO_MT_opengl_render, INFO_MT_window, + INFO_MT_help, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_logic.py b/release/scripts/startup/bl_ui/space_logic.py index 0b538131b0e..b552181f491 100644 --- a/release/scripts/startup/bl_ui/space_logic.py +++ b/release/scripts/startup/bl_ui/space_logic.py @@ -132,11 +132,11 @@ class LOGIC_MT_view(Menu): classes = ( + LOGIC_PT_properties, + LOGIC_MT_logicbricks_add, LOGIC_HT_header, LOGIC_MT_editor_menus, - LOGIC_MT_logicbricks_add, LOGIC_MT_view, - LOGIC_PT_properties, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_nla.py b/release/scripts/startup/bl_ui/space_nla.py index 2a855f47d37..65d020477dc 100644 --- a/release/scripts/startup/bl_ui/space_nla.py +++ b/release/scripts/startup/bl_ui/space_nla.py @@ -212,13 +212,13 @@ class NLA_MT_edit_transform(Menu): classes = ( NLA_HT_header, - NLA_MT_add, NLA_MT_edit, - NLA_MT_edit_transform, NLA_MT_editor_menus, - NLA_MT_marker, - NLA_MT_select, NLA_MT_view, + NLA_MT_select, + NLA_MT_marker, + NLA_MT_add, + NLA_MT_edit_transform, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index 4d8d9f50a9e..b939d34e154 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -528,27 +528,27 @@ def node_draw_tree_view(layout, context): classes = ( NODE_HT_header, - NODE_MT_add, NODE_MT_editor_menus, + NODE_MT_add, + NODE_MT_view, + NODE_MT_select, NODE_MT_node, NODE_MT_node_color_presets, NODE_MT_node_color_specials, - NODE_MT_select, - NODE_MT_view, - NODE_PT_active_node_color, NODE_PT_active_node_generic, + NODE_PT_active_node_color, NODE_PT_active_node_properties, NODE_PT_backdrop, + NODE_PT_quality, + NODE_UL_interface_sockets, NODE_PT_grease_pencil, NODE_PT_grease_pencil_palettecolor, NODE_PT_grease_pencil_tools, - NODE_PT_quality, - NODE_PT_tools_grease_pencil_brush, - NODE_PT_tools_grease_pencil_brushcurves, NODE_PT_tools_grease_pencil_draw, NODE_PT_tools_grease_pencil_edit, NODE_PT_tools_grease_pencil_sculpt, - NODE_UL_interface_sockets, + NODE_PT_tools_grease_pencil_brush, + NODE_PT_tools_grease_pencil_brushcurves, ) diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py index 6ff5498cb4a..4eb550bbb35 100644 --- a/release/scripts/startup/bl_ui/space_outliner.py +++ b/release/scripts/startup/bl_ui/space_outliner.py @@ -133,10 +133,10 @@ class OUTLINER_MT_edit_datablocks(Menu): classes = ( OUTLINER_HT_header, - OUTLINER_MT_edit_datablocks, OUTLINER_MT_editor_menus, - OUTLINER_MT_search, OUTLINER_MT_view, + OUTLINER_MT_search, + OUTLINER_MT_edit_datablocks, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index ec347bdd666..01da3b48f7d 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -1241,32 +1241,32 @@ class SEQUENCER_PT_custom_props(SequencerButtonsPanel, PropertyPanel, Panel): classes = ( SEQUENCER_HT_header, - SEQUENCER_MT_add, - SEQUENCER_MT_add_effect, - SEQUENCER_MT_change, SEQUENCER_MT_editor_menus, - SEQUENCER_MT_frame, - SEQUENCER_MT_marker, - SEQUENCER_MT_select, - SEQUENCER_MT_strip, SEQUENCER_MT_view, SEQUENCER_MT_view_toggle, - SEQUENCER_PT_custom_props, + SEQUENCER_MT_select, + SEQUENCER_MT_marker, + SEQUENCER_MT_change, + SEQUENCER_MT_frame, + SEQUENCER_MT_add, + SEQUENCER_MT_add_effect, + SEQUENCER_MT_strip, SEQUENCER_PT_edit, SEQUENCER_PT_effect, + SEQUENCER_PT_input, + SEQUENCER_PT_sound, + SEQUENCER_PT_scene, + SEQUENCER_PT_mask, SEQUENCER_PT_filter, + SEQUENCER_PT_proxy, + SEQUENCER_PT_preview, + SEQUENCER_PT_view, + SEQUENCER_PT_view_safe_areas, + SEQUENCER_PT_modifiers, SEQUENCER_PT_grease_pencil, SEQUENCER_PT_grease_pencil_palettecolor, SEQUENCER_PT_grease_pencil_tools, - SEQUENCER_PT_input, - SEQUENCER_PT_mask, - SEQUENCER_PT_modifiers, - SEQUENCER_PT_preview, - SEQUENCER_PT_proxy, - SEQUENCER_PT_scene, - SEQUENCER_PT_sound, - SEQUENCER_PT_view, - SEQUENCER_PT_view_safe_areas, + SEQUENCER_PT_custom_props, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_text.py b/release/scripts/startup/bl_ui/space_text.py index 67b98d530a8..98a7da855ca 100644 --- a/release/scripts/startup/bl_ui/space_text.py +++ b/release/scripts/startup/bl_ui/space_text.py @@ -347,18 +347,18 @@ class TEXT_MT_toolbox(Menu): classes = ( TEXT_HT_header, TEXT_MT_edit, - TEXT_MT_edit_select, - TEXT_MT_edit_to3d, TEXT_MT_editor_menus, - TEXT_MT_format, - TEXT_MT_templates, - TEXT_MT_templates_osl, - TEXT_MT_templates_py, - TEXT_MT_text, - TEXT_MT_toolbox, - TEXT_MT_view, - TEXT_PT_find, TEXT_PT_properties, + TEXT_PT_find, + TEXT_MT_view, + TEXT_MT_text, + TEXT_MT_templates, + TEXT_MT_templates_py, + TEXT_MT_templates_osl, + TEXT_MT_edit_select, + TEXT_MT_format, + TEXT_MT_edit_to3d, + TEXT_MT_toolbox, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py index 9b2f6b69f80..b9a25cd72a0 100644 --- a/release/scripts/startup/bl_ui/space_time.py +++ b/release/scripts/startup/bl_ui/space_time.py @@ -271,13 +271,13 @@ def marker_menu_generic(layout): classes = ( TIME_HT_header, - TIME_MT_autokey, - TIME_MT_cache, TIME_MT_editor_menus, - TIME_MT_frame, TIME_MT_marker, - TIME_MT_playback, TIME_MT_view, + TIME_MT_cache, + TIME_MT_frame, + TIME_MT_playback, + TIME_MT_autokey, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index faaf54173ff..99ac5a049ee 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -1483,22 +1483,22 @@ class USERPREF_PT_addons(Panel): classes = ( USERPREF_HT_header, - USERPREF_MT_addons_online_resources, - USERPREF_MT_appconfigs, + USERPREF_PT_tabs, USERPREF_MT_interaction_presets, - USERPREF_MT_interface_theme_presets, - USERPREF_MT_keyconfigs, - USERPREF_MT_ndof_settings, + USERPREF_MT_appconfigs, USERPREF_MT_splash, USERPREF_MT_splash_footer, - USERPREF_PT_addons, - USERPREF_PT_edit, - USERPREF_PT_file, - USERPREF_PT_input, USERPREF_PT_interface, + USERPREF_PT_edit, USERPREF_PT_system, - USERPREF_PT_tabs, + USERPREF_MT_interface_theme_presets, USERPREF_PT_theme, + USERPREF_PT_file, + USERPREF_MT_ndof_settings, + USERPREF_MT_keyconfigs, + USERPREF_PT_input, + USERPREF_MT_addons_online_resources, + USERPREF_PT_addons, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 920fd1b7067..a2f11fa116a 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -3788,137 +3788,137 @@ class VIEW3D_PT_context_properties(Panel): rna_prop_ui.draw(self.layout, context, member, object, False) classes = ( - INFO_MT_add, - INFO_MT_armature_add, - INFO_MT_curve_add, - INFO_MT_edit_armature_add, - INFO_MT_edit_curve_add, - INFO_MT_lamp_add, - INFO_MT_mesh_add, - INFO_MT_metaball_add, - INFO_MT_surface_add, VIEW3D_HT_header, - VIEW3D_MT_angle_control, - VIEW3D_MT_armature_specials, - VIEW3D_MT_bone_options_disable, - VIEW3D_MT_bone_options_enable, - VIEW3D_MT_bone_options_toggle, - VIEW3D_MT_brush, - VIEW3D_MT_brush_paint_modes, - VIEW3D_MT_edit_armature, - VIEW3D_MT_edit_armature_delete, - VIEW3D_MT_edit_armature_parent, - VIEW3D_MT_edit_armature_roll, - VIEW3D_MT_edit_curve, - VIEW3D_MT_edit_curve_ctrlpoints, - VIEW3D_MT_edit_curve_delete, - VIEW3D_MT_edit_curve_segments, - VIEW3D_MT_edit_curve_showhide, - VIEW3D_MT_edit_curve_specials, - VIEW3D_MT_edit_font, - VIEW3D_MT_edit_gpencil, - VIEW3D_MT_edit_gpencil_delete, - VIEW3D_MT_edit_gpencil_interpolate, - VIEW3D_MT_edit_gpencil_transform, - VIEW3D_MT_edit_lattice, - VIEW3D_MT_edit_mesh, - VIEW3D_MT_edit_mesh_clean, - VIEW3D_MT_edit_mesh_delete, - VIEW3D_MT_edit_mesh_edges, - VIEW3D_MT_edit_mesh_extrude, - VIEW3D_MT_edit_mesh_faces, - VIEW3D_MT_edit_mesh_normals, - VIEW3D_MT_edit_mesh_select_by_trait, - VIEW3D_MT_edit_mesh_select_mode, - VIEW3D_MT_edit_mesh_select_more_less, - VIEW3D_MT_edit_mesh_select_similar, - VIEW3D_MT_edit_mesh_showhide, - VIEW3D_MT_edit_mesh_specials, - VIEW3D_MT_edit_mesh_vertices, - VIEW3D_MT_edit_meta, - VIEW3D_MT_edit_meta_showhide, - VIEW3D_MT_edit_proportional, - VIEW3D_MT_edit_surface, - VIEW3D_MT_edit_text_chars, VIEW3D_MT_editor_menus, - VIEW3D_MT_hide_mask, - VIEW3D_MT_hook, - VIEW3D_MT_make_links, - VIEW3D_MT_make_single_user, - VIEW3D_MT_mirror, - VIEW3D_MT_object, - VIEW3D_MT_object_animation, - VIEW3D_MT_object_apply, - VIEW3D_MT_object_clear, - VIEW3D_MT_object_constraints, - VIEW3D_MT_object_game, - VIEW3D_MT_object_group, - VIEW3D_MT_object_parent, - VIEW3D_MT_object_quick_effects, - VIEW3D_MT_object_showhide, - VIEW3D_MT_object_specials, - VIEW3D_MT_object_track, - VIEW3D_MT_paint_vertex, - VIEW3D_MT_paint_weight, - VIEW3D_MT_particle, - VIEW3D_MT_particle_showhide, - VIEW3D_MT_particle_specials, - VIEW3D_MT_pose, - VIEW3D_MT_pose_apply, - VIEW3D_MT_pose_constraints, - VIEW3D_MT_pose_group, - VIEW3D_MT_pose_ik, - VIEW3D_MT_pose_library, - VIEW3D_MT_pose_motion, - VIEW3D_MT_pose_propagate, - VIEW3D_MT_pose_showhide, - VIEW3D_MT_pose_slide, - VIEW3D_MT_pose_specials, - VIEW3D_MT_pose_transform, - VIEW3D_MT_sculpt, - VIEW3D_MT_select_edit_armature, - VIEW3D_MT_select_edit_curve, - VIEW3D_MT_select_edit_lattice, - VIEW3D_MT_select_edit_mesh, - VIEW3D_MT_select_edit_metaball, - VIEW3D_MT_select_edit_surface, - VIEW3D_MT_select_edit_text, - VIEW3D_MT_select_gpencil, - VIEW3D_MT_select_object, - VIEW3D_MT_select_object_more_less, - VIEW3D_MT_select_paint_mask, - VIEW3D_MT_select_paint_mask_vertex, - VIEW3D_MT_select_particle, - VIEW3D_MT_select_pose, - VIEW3D_MT_select_pose_more_less, - VIEW3D_MT_snap, VIEW3D_MT_transform, - VIEW3D_MT_transform_armature, VIEW3D_MT_transform_base, VIEW3D_MT_transform_object, + VIEW3D_MT_transform_armature, + VIEW3D_MT_mirror, + VIEW3D_MT_snap, VIEW3D_MT_uv_map, - VIEW3D_MT_vertex_group, + VIEW3D_MT_edit_proportional, VIEW3D_MT_view, + VIEW3D_MT_view_navigation, VIEW3D_MT_view_align, VIEW3D_MT_view_align_selected, VIEW3D_MT_view_cameras, - VIEW3D_MT_view_navigation, - VIEW3D_PT_background_image, - VIEW3D_PT_context_properties, - VIEW3D_PT_etch_a_ton, + VIEW3D_MT_select_object, + VIEW3D_MT_select_object_more_less, + VIEW3D_MT_select_pose, + VIEW3D_MT_select_pose_more_less, + VIEW3D_MT_select_particle, + VIEW3D_MT_edit_mesh, + VIEW3D_MT_edit_mesh_select_similar, + VIEW3D_MT_edit_mesh_select_by_trait, + VIEW3D_MT_edit_mesh_select_more_less, + VIEW3D_MT_select_edit_mesh, + VIEW3D_MT_select_edit_curve, + VIEW3D_MT_select_edit_surface, + VIEW3D_MT_select_edit_text, + VIEW3D_MT_select_edit_metaball, + VIEW3D_MT_select_edit_lattice, + VIEW3D_MT_select_edit_armature, + VIEW3D_MT_select_gpencil, + VIEW3D_MT_select_paint_mask, + VIEW3D_MT_select_paint_mask_vertex, + VIEW3D_MT_angle_control, + INFO_MT_mesh_add, + INFO_MT_curve_add, + INFO_MT_surface_add, + INFO_MT_metaball_add, + INFO_MT_edit_curve_add, + INFO_MT_edit_armature_add, + INFO_MT_armature_add, + INFO_MT_lamp_add, + INFO_MT_add, + VIEW3D_MT_object, + VIEW3D_MT_object_animation, + VIEW3D_MT_object_clear, + VIEW3D_MT_object_specials, + VIEW3D_MT_object_apply, + VIEW3D_MT_object_parent, + VIEW3D_MT_object_track, + VIEW3D_MT_object_group, + VIEW3D_MT_object_constraints, + VIEW3D_MT_object_quick_effects, + VIEW3D_MT_object_showhide, + VIEW3D_MT_make_single_user, + VIEW3D_MT_make_links, + VIEW3D_MT_object_game, + VIEW3D_MT_brush, + VIEW3D_MT_brush_paint_modes, + VIEW3D_MT_paint_vertex, + VIEW3D_MT_hook, + VIEW3D_MT_vertex_group, + VIEW3D_MT_paint_weight, + VIEW3D_MT_sculpt, + VIEW3D_MT_hide_mask, + VIEW3D_MT_particle, + VIEW3D_MT_particle_specials, + VIEW3D_MT_particle_showhide, + VIEW3D_MT_pose, + VIEW3D_MT_pose_transform, + VIEW3D_MT_pose_slide, + VIEW3D_MT_pose_propagate, + VIEW3D_MT_pose_library, + VIEW3D_MT_pose_motion, + VIEW3D_MT_pose_group, + VIEW3D_MT_pose_ik, + VIEW3D_MT_pose_constraints, + VIEW3D_MT_pose_showhide, + VIEW3D_MT_pose_apply, + VIEW3D_MT_pose_specials, + VIEW3D_MT_bone_options_toggle, + VIEW3D_MT_bone_options_enable, + VIEW3D_MT_bone_options_disable, + VIEW3D_MT_edit_mesh_specials, + VIEW3D_MT_edit_mesh_select_mode, + VIEW3D_MT_edit_mesh_extrude, + VIEW3D_MT_edit_mesh_vertices, + VIEW3D_MT_edit_mesh_edges, + VIEW3D_MT_edit_mesh_faces, + VIEW3D_MT_edit_mesh_normals, + VIEW3D_MT_edit_mesh_clean, + VIEW3D_MT_edit_mesh_delete, + VIEW3D_MT_edit_mesh_showhide, + VIEW3D_MT_edit_gpencil, + VIEW3D_MT_edit_gpencil_delete, + VIEW3D_MT_edit_curve, + VIEW3D_MT_edit_curve_ctrlpoints, + VIEW3D_MT_edit_curve_segments, + VIEW3D_MT_edit_curve_specials, + VIEW3D_MT_edit_curve_delete, + VIEW3D_MT_edit_curve_showhide, + VIEW3D_MT_edit_surface, + VIEW3D_MT_edit_font, + VIEW3D_MT_edit_text_chars, + VIEW3D_MT_edit_meta, + VIEW3D_MT_edit_meta_showhide, + VIEW3D_MT_edit_lattice, + VIEW3D_MT_edit_armature, + VIEW3D_MT_armature_specials, + VIEW3D_MT_edit_armature_parent, + VIEW3D_MT_edit_armature_roll, + VIEW3D_MT_edit_armature_delete, + VIEW3D_MT_edit_gpencil_transform, + VIEW3D_MT_edit_gpencil_interpolate, VIEW3D_PT_grease_pencil, VIEW3D_PT_grease_pencil_palettecolor, - VIEW3D_PT_transform_orientations, + VIEW3D_PT_view3d_properties, VIEW3D_PT_view3d_cursor, - VIEW3D_PT_view3d_curvedisplay, + VIEW3D_PT_view3d_name, VIEW3D_PT_view3d_display, + VIEW3D_PT_view3d_stereo, + VIEW3D_PT_view3d_shading, + VIEW3D_PT_view3d_motion_tracking, VIEW3D_PT_view3d_meshdisplay, VIEW3D_PT_view3d_meshstatvis, - VIEW3D_PT_view3d_motion_tracking, - VIEW3D_PT_view3d_name, - VIEW3D_PT_view3d_properties, - VIEW3D_PT_view3d_shading, - VIEW3D_PT_view3d_stereo, + VIEW3D_PT_view3d_curvedisplay, + VIEW3D_PT_background_image, + VIEW3D_PT_transform_orientations, + VIEW3D_PT_etch_a_ton, + VIEW3D_PT_context_properties, ) diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index ad83da7db83..d58453deaef 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -2009,65 +2009,65 @@ class VIEW3D_PT_tools_history(View3DPanel, Panel): classes = ( - TEXTURE_UL_texpaintslots, - VIEW3D_MT_tools_projectpaint_stencil, - VIEW3D_MT_tools_projectpaint_uvlayer, + VIEW3D_PT_tools_transform, + VIEW3D_PT_tools_object, + VIEW3D_PT_tools_add_object, + VIEW3D_PT_tools_relations, + VIEW3D_PT_tools_animation, + VIEW3D_PT_tools_rigid_body, + VIEW3D_PT_tools_transform_mesh, + VIEW3D_PT_tools_meshedit, + VIEW3D_PT_tools_meshweight, + VIEW3D_PT_tools_add_mesh_edit, + VIEW3D_PT_tools_shading, + VIEW3D_PT_tools_uvs, + VIEW3D_PT_tools_meshedit_options, + VIEW3D_PT_tools_transform_curve, + VIEW3D_PT_tools_curveedit, + VIEW3D_PT_tools_add_curve_edit, + VIEW3D_PT_tools_curveedit_options_stroke, + VIEW3D_PT_tools_transform_surface, + VIEW3D_PT_tools_surfaceedit, + VIEW3D_PT_tools_add_surface_edit, + VIEW3D_PT_tools_textedit, + VIEW3D_PT_tools_armatureedit, + VIEW3D_PT_tools_armatureedit_transform, + VIEW3D_PT_tools_armatureedit_options, + VIEW3D_PT_tools_mballedit, + VIEW3D_PT_tools_add_mball_edit, + VIEW3D_PT_tools_latticeedit, + VIEW3D_PT_tools_posemode, + VIEW3D_PT_tools_posemode_options, VIEW3D_PT_imapaint_tools_missing, + VIEW3D_PT_tools_brush, + TEXTURE_UL_texpaintslots, + VIEW3D_MT_tools_projectpaint_uvlayer, + VIEW3D_PT_slots_projectpaint, + VIEW3D_PT_stencil_projectpaint, + VIEW3D_PT_tools_brush_overlay, + VIEW3D_PT_tools_brush_texture, + VIEW3D_PT_tools_mask_texture, + VIEW3D_PT_tools_brush_stroke, + VIEW3D_PT_tools_brush_curve, VIEW3D_PT_sculpt_dyntopo, VIEW3D_PT_sculpt_options, VIEW3D_PT_sculpt_symmetry, - VIEW3D_PT_slots_projectpaint, - VIEW3D_PT_stencil_projectpaint, - VIEW3D_PT_tools_add_curve_edit, - VIEW3D_PT_tools_add_mball_edit, - VIEW3D_PT_tools_add_mesh_edit, - VIEW3D_PT_tools_add_object, - VIEW3D_PT_tools_add_surface_edit, - VIEW3D_PT_tools_animation, - VIEW3D_PT_tools_armatureedit, - VIEW3D_PT_tools_armatureedit_options, - VIEW3D_PT_tools_armatureedit_transform, - VIEW3D_PT_tools_brush, VIEW3D_PT_tools_brush_appearance, - VIEW3D_PT_tools_brush_curve, - VIEW3D_PT_tools_brush_overlay, - VIEW3D_PT_tools_brush_stroke, - VIEW3D_PT_tools_brush_texture, - VIEW3D_PT_tools_curveedit, - VIEW3D_PT_tools_curveedit_options_stroke, - VIEW3D_PT_tools_grease_pencil_brush, - VIEW3D_PT_tools_grease_pencil_brushcurves, + VIEW3D_PT_tools_weightpaint, + VIEW3D_PT_tools_weightpaint_options, + VIEW3D_PT_tools_vertexpaint, + VIEW3D_PT_tools_imagepaint_external, + VIEW3D_PT_tools_imagepaint_symmetry, + VIEW3D_PT_tools_projectpaint, + VIEW3D_MT_tools_projectpaint_stencil, + VIEW3D_PT_tools_particlemode, VIEW3D_PT_tools_grease_pencil_draw, VIEW3D_PT_tools_grease_pencil_edit, VIEW3D_PT_tools_grease_pencil_interpolate, VIEW3D_PT_tools_grease_pencil_sculpt, + VIEW3D_PT_tools_grease_pencil_brush, + VIEW3D_PT_tools_grease_pencil_brushcurves, VIEW3D_PT_tools_history, - VIEW3D_PT_tools_imagepaint_external, - VIEW3D_PT_tools_imagepaint_symmetry, - VIEW3D_PT_tools_latticeedit, - VIEW3D_PT_tools_mask_texture, - VIEW3D_PT_tools_mballedit, - VIEW3D_PT_tools_meshedit, - VIEW3D_PT_tools_meshedit_options, - VIEW3D_PT_tools_meshweight, - VIEW3D_PT_tools_object, - VIEW3D_PT_tools_particlemode, - VIEW3D_PT_tools_posemode, - VIEW3D_PT_tools_posemode_options, - VIEW3D_PT_tools_projectpaint, - VIEW3D_PT_tools_relations, - VIEW3D_PT_tools_rigid_body, - VIEW3D_PT_tools_shading, - VIEW3D_PT_tools_surfaceedit, - VIEW3D_PT_tools_textedit, - VIEW3D_PT_tools_transform, - VIEW3D_PT_tools_transform_curve, - VIEW3D_PT_tools_transform_mesh, - VIEW3D_PT_tools_transform_surface, - VIEW3D_PT_tools_uvs, - VIEW3D_PT_tools_vertexpaint, - VIEW3D_PT_tools_weightpaint, - VIEW3D_PT_tools_weightpaint_options, ) if __name__ == "__main__": # only for live edit. From df76616d7450b99938f265283fad443186da4039 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Sun, 19 Mar 2017 17:31:07 +0100 Subject: [PATCH 9/9] Usual UI/i18n message fixes. Please provide valid description for SurfaceDeform modifier tooltip. Such place-holders should not pass final checks before merging in master! --- release/scripts/startup/bl_ui/space_userpref.py | 2 +- source/blender/makesrna/intern/rna_modifier.c | 2 +- source/blender/modifiers/intern/MOD_surfacedeform.c | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index 99ac5a049ee..fe126f6522c 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -1320,7 +1320,7 @@ class USERPREF_PT_addons(Panel): if addon_utils.error_duplicates: box = col.box() row = box.row() - row.label("Multiple addons with the same name found!") + row.label("Multiple add-ons with the same name found!") row.label(icon='ERROR') box.label("Please delete one of each pair:") for (addon_name, addon_file, addon_path) in addon_utils.error_duplicates: diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c index 47c4b425155..36cf909b299 100644 --- a/source/blender/makesrna/intern/rna_modifier.c +++ b/source/blender/makesrna/intern/rna_modifier.c @@ -4717,7 +4717,7 @@ static void rna_def_modifier_surfacedeform(BlenderRNA *brna) PropertyRNA *prop; srna = RNA_def_struct(brna, "SurfaceDeformModifier", "Modifier"); - RNA_def_struct_ui_text(srna, "SurfaceDeform Modifier", "blablabla"); + RNA_def_struct_ui_text(srna, "SurfaceDeform Modifier", ""); RNA_def_struct_sdna(srna, "SurfaceDeformModifierData"); RNA_def_struct_ui_icon(srna, ICON_MOD_MESHDEFORM); diff --git a/source/blender/modifiers/intern/MOD_surfacedeform.c b/source/blender/modifiers/intern/MOD_surfacedeform.c index a999d7629af..776cf02754e 100644 --- a/source/blender/modifiers/intern/MOD_surfacedeform.c +++ b/source/blender/modifiers/intern/MOD_surfacedeform.c @@ -973,7 +973,7 @@ static bool surfacedeformBind(SurfaceDeformModifierData *smd, float (*vertexCos) adj_result = buildAdjacencyMap(mpoly, medge, mloop, tnumpoly, tnumedges, vert_edges, adj_array, edge_polys); if (adj_result == MOD_SDEF_BIND_RESULT_NONMANY_ERR) { - modifier_setError((ModifierData *)smd, "Target has edges with more than two polys"); + modifier_setError((ModifierData *)smd, "Target has edges with more than two polygons"); freeAdjacencyMap(vert_edges, adj_array, edge_polys); free_bvhtree_from_mesh(&treeData); MEM_freeN(smd->verts); @@ -1019,11 +1019,11 @@ static bool surfacedeformBind(SurfaceDeformModifierData *smd, float (*vertexCos) freeData((ModifierData *)smd); } else if (data.success == MOD_SDEF_BIND_RESULT_NONMANY_ERR) { - modifier_setError((ModifierData *)smd, "Target has edges with more than two polys"); + modifier_setError((ModifierData *)smd, "Target has edges with more than two polygons"); freeData((ModifierData *)smd); } else if (data.success == MOD_SDEF_BIND_RESULT_CONCAVE_ERR) { - modifier_setError((ModifierData *)smd, "Target contains concave polys"); + modifier_setError((ModifierData *)smd, "Target contains concave polygons"); freeData((ModifierData *)smd); } else if (data.success == MOD_SDEF_BIND_RESULT_OVERLAP_ERR) { @@ -1035,7 +1035,7 @@ static bool surfacedeformBind(SurfaceDeformModifierData *smd, float (*vertexCos) * to explain this whith a reasonably sized message. * Though it shouldn't really matter all that much, * because this is very unlikely to occur */ - modifier_setError((ModifierData *)smd, "Target contains invalid polys"); + modifier_setError((ModifierData *)smd, "Target contains invalid polygons"); freeData((ModifierData *)smd); }