diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-12-29 16:43:19 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-12-29 16:55:05 +0400 |
commit | 42aa19088e02e296b4cc19b7171de2840e111539 (patch) | |
tree | a93965803fdacffc75e798cd3a1f3e094d00aa30 /source/blender/editors/curve/editfont.c | |
parent | 1c8d1569dac3e9bc5afd8aa5f5d12a93354c8cad (diff) |
Text3d: add select all operator
also add Edit menu for 3d text and move cut/copy/paste there.
Diffstat (limited to 'source/blender/editors/curve/editfont.c')
-rw-r--r-- | source/blender/editors/curve/editfont.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c index 1ca97da5f74..59075d44c67 100644 --- a/source/blender/editors/curve/editfont.c +++ b/source/blender/editors/curve/editfont.c @@ -675,6 +675,47 @@ void FONT_OT_style_toggle(wmOperatorType *ot) RNA_def_enum(ot->srna, "style", style_items, CU_CHINFO_BOLD, "Style", "Style to set selection to"); } + +/* -------------------------------------------------------------------- */ +/* Select All */ + +static int font_select_all_exec(bContext *C, wmOperator *UNUSED(op)) +{ + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + Curve *cu = obedit->data; + + if (cu->len) { + cu->selstart = 1; + cu->selend = cu->len; + cu->pos = cu->len; + + text_update_edited(C, scene, obedit, true, FO_SELCHANGE); + + return OPERATOR_FINISHED; + } + else { + return OPERATOR_CANCELLED; + } + +} + +void FONT_OT_select_all(wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Select All"; + ot->description = "Select all text"; + ot->idname = "FONT_OT_select_all"; + + /* api callbacks */ + ot->exec = font_select_all_exec; + ot->poll = ED_operator_editfont; + + /* flags */ + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; +} + + /******************* copy text operator ********************/ static void copy_selection(Object *obedit) |