2
/******************************************************************************
4
* DESCRIPTION: for cursor handling in TeXmacs
5
* COPYRIGHT : (C) 1999 Joris van der Hoeven
6
*******************************************************************************
7
* This software falls under the GNU general public license and comes WITHOUT
8
* ANY WARRANTY WHATSOEVER. See the file $TEXMACS_PATH/LICENSE for more details.
9
* If you don't have this file, write to the Free Software Foundation, Inc.,
10
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
11
******************************************************************************/
22
class edit_cursor_rep: virtual public editor_rep {
24
cursor cu; // the cursor
25
cursor mv; // "ghost cursor" position when moving cursor
26
int mv_status; // cursor status during movements
29
cursor& the_cursor ();
30
cursor& the_ghost_cursor ();
32
path tree_path (SI x, SI y, SI delta);
33
bool cursor_move_sub (SI& x0, SI& y0, SI& delta, SI dx, SI dy);
34
void cursor_move (SI dx, SI dy);
35
void adjust_ghost_cursor (int status);
36
void notify_cursor_moved (int status);
42
/* visual cursor movement */
43
void go_to (SI x, SI y);
51
/* logical cursor movement */
52
path current_position ();
54
void go_to_correct (path p);
55
void go_to_start (path p);
56
void go_to_end (path p);
57
void go_to_border (path p, bool at_start);
61
void go_start_line ();
63
void go_start_of (string what);
64
void go_end_of (string what);
65
void go_start_with (string var, string val);
66
void go_end_with (string var, string val);
68
/* other cursor routines */
69
void go_to_label (string s);
73
#endif // defined EDIT_CURSOR_H