1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_view_XViewCursor_idl__
28#define __com_sun_star_view_XViewCursor_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34
35//=============================================================================
36
37module com {  module sun {  module star {  module view {
38
39//=============================================================================
40
41/** makes it possible to move a cursor up/down/left/right within laid out text.
42
43	@see com::sun::star::table::CellCursor
44	@see com::sun::star::text::TextCursor
45	@see com::sun::star::view::XLineCursor
46 */
47published interface XViewCursor: com::sun::star::uno::XInterface
48{
49	//-------------------------------------------------------------------------
50	/** moves the cursor the specified number of lines down.
51
52		@param nCount
53			specifies the number of lines to go down.
54
55		@param bExpand
56			determines whether the text range of the cursor is expanded (<TRUE/>)
57			or the cursor will be just at the new position after the move (<FALSE/>).
58
59		@returns
60			<TRUE/> if the cursor was moved,
61			or <FALSE/> if it was already in the bottom row.
62	 */
63	boolean goDown( [in] short nCount, [in] boolean bExpand );
64
65	//-------------------------------------------------------------------------
66	/** moves the cursor the specified number of lines up.
67
68		@param nCount
69			specifies the number of lines to go up.
70
71		@param bExpand
72			determines whether the text range of the cursor is expanded (<TRUE/>)
73
74		@returns
75			<TRUE/> if the cursor was moved,
76			or <FALSE/> if it was already in the top row.
77	 */
78	boolean goUp( [in] short nCount, [in] boolean bExpand );
79
80	//-------------------------------------------------------------------------
81	/** moves the cursor the specified number of characters to the left.
82
83		@param nCount
84			specifies the number of characters to move.
85
86		@param bExpand
87			determines whether the text range of the cursor is expanded (<TRUE/>)
88
89		@returns
90			<TRUE/> if the cursor was moved,
91			or <FALSE/> if it was already at the leftmost position.
92	 */
93	boolean goLeft( [in] short nCount, [in] boolean bExpand );
94
95	//-------------------------------------------------------------------------
96	/** moves the cursor the specified number of characters to the right.
97
98		@param nCount
99			specifies the number of characters to move.
100
101		@param bExpand
102			determines whether the text range of the cursor is expanded (<TRUE/>)
103
104		@returns
105			<TRUE/> if the cursor was moved,
106			or <FALSE/> if it was already at the rightmost position.
107	 */
108	boolean goRight( [in] short nCount, [in] boolean bExpand );
109
110};
111
112//=============================================================================
113
114}; }; }; };
115
116#endif
117