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
28#ifndef __com_sun_star_table_XCellCursor_idl__
29#define __com_sun_star_table_XCellCursor_idl__
30
31#ifndef __com_sun_star_table_XCellRange_idl__
32#include <com/sun/star/table/XCellRange.idl>
33#endif
34
35//=============================================================================
36
37module com {  module sun {  module star {  module table {
38
39//=============================================================================
40
41/** provides methods to control the position of a cell cursor.
42
43	@see com::sun::star::table::CellCursor
44 */
45published interface XCellCursor: com::sun::star::table::XCellRange
46{
47	//-------------------------------------------------------------------------
48
49	/** points the cursor to a single cell which is the beginning of a
50		contiguous series of (filled) cells.
51	 */
52	void gotoStart();
53
54	//-------------------------------------------------------------------------
55
56	/** points the cursor to a single cell which is the end of a contiguous
57		series of (filled) cells.
58	 */
59	void gotoEnd();
60
61	//-------------------------------------------------------------------------
62
63	/** points the cursor to the next unprotected cell.
64
65		<p>If the sheet is not protected, this is the next cell to the
66		right.</p>
67	 */
68	void gotoNext();
69
70	//-------------------------------------------------------------------------
71
72	/** points the cursor to the previous unprotected cell.
73
74		<p>If the sheet is not protected, this is the next cell to the
75		left.</p>
76	 */
77	void gotoPrevious();
78
79	//-------------------------------------------------------------------------
80
81	/** moves the origin of the cursor relative to the current position.
82
83		@param nColumnOffset
84			is the count of columns to move. A negative value moves the
85			cursor to the left.
86
87		@param nRowOffset
88			is the count of rows to move. A negative value moves the
89			cursor to the top.
90	 */
91	void gotoOffset( [in] long nColumnOffset, [in] long nRowOffset );
92
93};
94
95//=============================================================================
96
97}; }; }; };
98
99#endif
100
101