diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-09-04 16:08:57 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-09-04 17:11:27 +0300 |
commit | fc115e1ab23a9c458ea1496f160e14009e68cd54 (patch) | |
tree | f61d7a4d8c09d5ebf6839299ec00998976f31f3f /source/blender/editors/space_view3d/view3d_header.c | |
parent | 0f50caf5560f9c2f9af393eefdf2b209210dbfba (diff) |
Cleanup: remove legacy layer and dupli code.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_header.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_header.c | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c index 83cabd2a60e..854bf01b158 100644 --- a/source/blender/editors/space_view3d/view3d_header.c +++ b/source/blender/editors/space_view3d/view3d_header.c @@ -69,160 +69,6 @@ static void do_view3d_header_buttons(bContext *C, void *arg, int event); #define B_SEL_EDGE 111 #define B_SEL_FACE 112 -/* XXX quickly ported across */ -static void handle_view3d_lock(bContext *C) -{ - Scene *scene = CTX_data_scene(C); - ScrArea *sa = CTX_wm_area(C); - View3D *v3d = CTX_wm_view3d(C); - - if (v3d != NULL && sa != NULL) { - if (v3d->localvd == NULL && v3d->scenelock && sa->spacetype == SPACE_VIEW3D) { - /* copy to scene */ - scene->lay = v3d->lay; - scene->layact = v3d->layact; - scene->camera = v3d->camera; - - /* notifiers for scene update */ - WM_event_add_notifier(C, NC_SCENE | ND_LAYER, scene); - } - } -} - -/** - * layer code is on three levels actually: - * - here for operator - * - uiTemplateLayers in interface/ code for buttons - * - ED_view3d_view_layer_set for RNA - */ -static void view3d_layers_editmode_ensure(View3D *v3d, Object *obedit) -{ - /* sanity check - when in editmode disallow switching the editmode layer off since its confusing - * an alternative would be to always draw the editmode object. */ - if (obedit && (obedit->lay & v3d->lay) == 0) { - int bit; - for (bit = 0; bit < 32; bit++) { - if (obedit->lay & (1u << bit)) { - v3d->lay |= (1u << bit); - break; - } - } - } -} - -static int view3d_layers_exec(bContext *C, wmOperator *op) -{ - ScrArea *sa = CTX_wm_area(C); - View3D *v3d = sa->spacedata.first; - Object *obedit = CTX_data_edit_object(C); - int nr = RNA_int_get(op->ptr, "nr"); - const bool toggle = RNA_boolean_get(op->ptr, "toggle"); - - if (nr < 0) - return OPERATOR_CANCELLED; - - if (nr == 0) { - /* all layers */ - if (!v3d->lay_prev) - v3d->lay_prev = 1; - - if (toggle && v3d->lay == ((1 << 20) - 1)) { - /* return to active layer only */ - v3d->lay = v3d->lay_prev; - - view3d_layers_editmode_ensure(v3d, obedit); - } - else { - v3d->lay_prev = v3d->lay; - v3d->lay |= (1 << 20) - 1; - } - } - else { - int bit; - nr--; - - if (RNA_boolean_get(op->ptr, "extend")) { - if (toggle && v3d->lay & (1 << nr) && (v3d->lay & ~(1 << nr))) - v3d->lay &= ~(1 << nr); - else - v3d->lay |= (1 << nr); - } - else { - v3d->lay = (1 << nr); - } - - view3d_layers_editmode_ensure(v3d, obedit); - - /* set active layer, ensure to always have one */ - if (v3d->lay & (1 << nr)) - v3d->layact = 1 << nr; - else if ((v3d->lay & v3d->layact) == 0) { - for (bit = 0; bit < 32; bit++) { - if (v3d->lay & (1u << bit)) { - v3d->layact = (1u << bit); - break; - } - } - } - } - - if (v3d->scenelock) handle_view3d_lock(C); - - DEG_on_visible_update(CTX_data_main(C), false); - - ED_area_tag_redraw(sa); - - return OPERATOR_FINISHED; -} - -/* applies shift and alt, lazy coding or ok? :) */ -/* the local per-keymap-entry keymap will solve it */ -static int view3d_layers_invoke(bContext *C, wmOperator *op, const wmEvent *event) -{ - if (event->ctrl || event->oskey) - return OPERATOR_PASS_THROUGH; - - if (event->shift) - RNA_boolean_set(op->ptr, "extend", true); - else - RNA_boolean_set(op->ptr, "extend", false); - - if (event->alt) { - const int nr = RNA_int_get(op->ptr, "nr") + 10; - RNA_int_set(op->ptr, "nr", nr); - } - view3d_layers_exec(C, op); - - return OPERATOR_FINISHED; -} - -static bool view3d_layers_poll(bContext *C) -{ - return (ED_operator_view3d_active(C) && CTX_wm_view3d(C)->localvd == NULL); -} - -void VIEW3D_OT_layers(wmOperatorType *ot) -{ - /* identifiers */ - ot->name = "Layers"; - ot->description = "Toggle layer(s) visibility"; - ot->idname = "VIEW3D_OT_layers"; - - /* api callbacks */ - ot->invoke = view3d_layers_invoke; - ot->exec = view3d_layers_exec; - ot->poll = view3d_layers_poll; - - /* flags */ - ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; - - RNA_def_int(ot->srna, "nr", 1, 0, 20, "Number", "The layer number to set, zero for all layers", 0, 20); - RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Add this layer to the current view layers"); - RNA_def_boolean(ot->srna, "toggle", 1, "Toggle", "Toggle the layer"); -} - -/** \} */ - /* -------------------------------------------------------------------- */ /** \name Toggle Matcap Flip Operator * \{ */ |