2009-01-23 14:43:25 +00:00
|
|
|
/**
|
|
|
|
|
* $Id:
|
|
|
|
|
*
|
|
|
|
|
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
|
|
|
*
|
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
|
*
|
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
|
*
|
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
|
|
|
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
|
*
|
|
|
|
|
* The Original Code is Copyright (C) 2008 Blender Foundation.
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
* Contributor(s): Blender Foundation
|
|
|
|
|
*
|
|
|
|
|
* ***** END GPL LICENSE BLOCK *****
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef ED_CURVE_INTERN_H
|
|
|
|
|
#define ED_CURVE_INTERN_H
|
|
|
|
|
|
|
|
|
|
/* internal exports only */
|
|
|
|
|
struct wmOperatorType;
|
|
|
|
|
|
|
|
|
|
/* lorem.c */
|
|
|
|
|
char *ED_lorem;
|
|
|
|
|
|
|
|
|
|
/* editfont.c */
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
enum { DEL_ALL, DEL_NEXT_CHAR, DEL_PREV_CHAR, DEL_SELECTION, DEL_NEXT_SEL, DEL_PREV_SEL };
|
|
|
|
|
enum { CASE_LOWER, CASE_UPPER };
|
|
|
|
|
enum { LINE_BEGIN, LINE_END, PREV_CHAR, NEXT_CHAR, PREV_WORD, NEXT_WORD,
|
|
|
|
|
PREV_LINE, NEXT_LINE, PREV_PAGE, NEXT_PAGE };
|
|
|
|
|
|
2009-04-12 22:43:07 +00:00
|
|
|
void FONT_OT_text_insert(struct wmOperatorType *ot);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
void FONT_OT_line_break(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_insert_lorem(struct wmOperatorType *ot);
|
|
|
|
|
|
2009-03-29 02:15:13 +00:00
|
|
|
void FONT_OT_case_toggle(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_case_set(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_style_toggle(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_style_set(struct wmOperatorType *ot);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
|
2009-04-12 22:43:07 +00:00
|
|
|
void FONT_OT_text_copy(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_text_cut(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_text_paste(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_file_paste(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_buffer_paste(struct wmOperatorType *ot);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
|
|
|
|
|
void FONT_OT_move(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_move_select(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_delete(struct wmOperatorType *ot);
|
|
|
|
|
|
|
|
|
|
void FONT_OT_change_character(struct wmOperatorType *ot);
|
|
|
|
|
void FONT_OT_change_spacing(struct wmOperatorType *ot);
|
2009-01-23 14:43:25 +00:00
|
|
|
|
2009-02-11 23:02:21 +00:00
|
|
|
/* editcurve.c */
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
void CURVE_OT_hide(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_reveal(struct wmOperatorType *ot);
|
|
|
|
|
|
2009-02-11 23:02:21 +00:00
|
|
|
void CURVE_OT_separate(struct wmOperatorType *ot);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
void CURVE_OT_duplicate(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_delete(struct wmOperatorType *ot);
|
|
|
|
|
|
2009-03-29 02:15:13 +00:00
|
|
|
void CURVE_OT_spline_type_set(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_radius_set(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_spline_weight_set(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_handle_type_set(struct wmOperatorType *ot);
|
2009-07-21 00:36:07 +00:00
|
|
|
void CURVE_OT_shade_smooth(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_shade_flat(struct wmOperatorType *ot);
|
2009-03-29 02:15:13 +00:00
|
|
|
void CURVE_OT_tilt_clear(struct wmOperatorType *ot);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
|
2009-02-11 23:02:21 +00:00
|
|
|
void CURVE_OT_smooth(struct wmOperatorType *ot);
|
2.5: Most curve/surface editmode operators back:
* Hide, Reveal
* Separate, Duplicate, Delete
* Set Weight, Set Radius, Set Spline Type, Set Handle Type, Set Smooth
* Tilt, Clear Tilt
* Smooth, Smooth Radius
* De(select) First, De(select) Last, De(select) All, Select Inverse,
Select Linked, Select Control Point Row, Select Next, Select Previous,
Select More, Select Less, Select Random, Select Every Nth
* Switch Direction, Subdivide, Make Segment, Spin, Extrude, Toggle Cyclic
* Specials Menu
Not working correct yet:
* Add Vertex (ctrl click)
* Add Menu
2009-02-12 22:12:21 +00:00
|
|
|
void CURVE_OT_smooth_radius(struct wmOperatorType *ot);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
|
2009-02-11 23:02:21 +00:00
|
|
|
void CURVE_OT_de_select_first(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_de_select_last(struct wmOperatorType *ot);
|
2009-11-29 22:16:29 +00:00
|
|
|
void CURVE_OT_select_all(struct wmOperatorType *ot);
|
2009-07-08 21:31:28 +00:00
|
|
|
void CURVE_OT_select_inverse(struct wmOperatorType *ot);
|
2009-02-11 23:02:21 +00:00
|
|
|
void CURVE_OT_select_linked(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_select_row(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_select_next(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_select_previous(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_select_more(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_select_less(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_select_random(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_select_every_nth(struct wmOperatorType *ot);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
|
|
|
|
|
void CURVE_OT_switch_direction(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_subdivide(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_make_segment(struct wmOperatorType *ot);
|
|
|
|
|
void CURVE_OT_spin(struct wmOperatorType *ot);
|
2009-04-12 22:43:07 +00:00
|
|
|
void CURVE_OT_vertex_add(struct wmOperatorType *ot);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
void CURVE_OT_extrude(struct wmOperatorType *ot);
|
2009-03-29 02:15:13 +00:00
|
|
|
void CURVE_OT_cyclic_toggle(struct wmOperatorType *ot);
|
2.5: Most curve/surface editmode operators back:
* Hide, Reveal
* Separate, Duplicate, Delete
* Set Weight, Set Radius, Set Spline Type, Set Handle Type, Set Smooth
* Tilt, Clear Tilt
* Smooth, Smooth Radius
* De(select) First, De(select) Last, De(select) All, Select Inverse,
Select Linked, Select Control Point Row, Select Next, Select Previous,
Select More, Select Less, Select Random, Select Every Nth
* Switch Direction, Subdivide, Make Segment, Spin, Extrude, Toggle Cyclic
* Specials Menu
Not working correct yet:
* Add Vertex (ctrl click)
* Add Menu
2009-02-12 22:12:21 +00:00
|
|
|
|
|
|
|
|
void CURVE_OT_specials_menu(struct wmOperatorType *ot);
|
2009-02-11 23:02:21 +00:00
|
|
|
|
2009-01-23 14:43:25 +00:00
|
|
|
#endif /* ED_UTIL_INTERN_H */
|
|
|
|
|
|