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_util_SearchDescriptor_idl__
28#define __com_sun_star_util_SearchDescriptor_idl__
29
30#ifndef __com_sun_star_util_XSearchDescriptor_idl__
31#include <com/sun/star/util/XSearchDescriptor.idl>
32#endif
33
34#ifndef __com_sun_star_beans_XPropertySet_idl__
35#include <com/sun/star/beans/XPropertySet.idl>
36#endif
37
38
39//=============================================================================
40
41module com {  module sun {  module star {  module util {
42
43//=============================================================================
44
45/** describes what and how to search within a container.
46 */
47published service SearchDescriptor
48{
49	interface com::sun::star::util::XSearchDescriptor;
50
51	interface com::sun::star::beans::XPropertySet;
52
53	//-------------------------------------------------------------------------
54	/** If <TRUE/>, the search is done backwards in the document.
55	 */
56	[property] boolean SearchBackwards;
57
58	//-------------------------------------------------------------------------
59	/** If <TRUE/>, the case of the letters is important for the match.
60	 */
61	[property] boolean SearchCaseSensitive;
62
63	//-------------------------------------------------------------------------
64	/** If <TRUE/>, only complete words will be found.
65	 */
66	[property] boolean SearchWords;
67
68	//-------------------------------------------------------------------------
69	/** If <TRUE/>, the search string is evaluated as a regular expression.
70	 */
71	[property] boolean SearchRegularExpression;
72
73	//-------------------------------------------------------------------------
74	/** If <TRUE/>, it is searched for positions where the paragraph style with
75		the name of the search pattern is applied.
76	 */
77	[property] boolean SearchStyles;
78
79	//-------------------------------------------------------------------------
80	/** If <TRUE/>, a "similarity search" is performed.
81
82		<p>In the case of a similarity search, the following properties
83		specify the kind of similarity:
84		</p>
85		<ul>
86		<li>SearchSimilarityRelax
87		</li>
88		<li>SearchSimilarityRemove
89		</li>
90		<li>SearchSimilarityAdd
91		</li>
92		<li>SearchSimilarityExchange
93		</li>
94		</ul>
95	 */
96	[property] boolean SearchSimilarity;
97
98	//-------------------------------------------------------------------------
99	/** If <TRUE/>, all similarity rules are applied together.
100
101		<p>In the case of a relaxed similarity search, the following
102		properties are applied together:
103
104		</p>
105		<ul>
106		<li>SearchSimilarityRemove
107		</li>
108		<li>SearchSimilarityAdd
109		</li>
110		<li>SearchSimilarityExchange
111		</li>
112		</ul>
113	 */
114	[property] boolean SearchSimilarityRelax;
115
116	//-------------------------------------------------------------------------
117	/** This property specifies the number of characters that may be
118		ignored to match the search pattern.
119	 */
120	[property] short SearchSimilarityRemove;
121
122	//-------------------------------------------------------------------------
123	/** specifies the number of characters that must be
124		added to match the search pattern.
125	 */
126	[property] short SearchSimilarityAdd;
127
128	//-------------------------------------------------------------------------
129	/** This property specifies the number of characters that must
130		be replaced to match the search pattern.
131	 */
132	[property] short SearchSimilarityExchange;
133
134};
135
136//=============================================================================
137
138}; }; }; };
139
140#endif
141