/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef __com_sun_star_util_SearchDescriptor_idl__ #define __com_sun_star_util_SearchDescriptor_idl__ #include #include module com { module sun { module star { module util { /** describes what and how to search within a container. */ published service SearchDescriptor { interface com::sun::star::util::XSearchDescriptor; interface com::sun::star::beans::XPropertySet; /** If `TRUE`, the search is done backwards in the document. */ [property] boolean SearchBackwards; /** If `TRUE`, the case of the letters is important for the match. */ [property] boolean SearchCaseSensitive; /** If `TRUE`, only complete words will be found. */ [property] boolean SearchWords; /** If `TRUE`, the search string is evaluated as a regular expression.

SearchRegularExpression, SearchWildcard and SearchSimilarity are mutually exclusive, only one can be `TRUE` at the same time.

*/ [property] boolean SearchRegularExpression; /** If `TRUE`, it is searched for positions where the paragraph style with the name of the search pattern is applied. */ [property] boolean SearchStyles; /** If `TRUE`, a "similarity search" is performed.

In the case of a similarity search, the following properties specify the kind of similarity:

SearchRegularExpression, SearchWildcard and SearchSimilarity are mutually exclusive, only one can be `TRUE` at the same time.

*/ [property] boolean SearchSimilarity; /** If `TRUE`, all similarity rules are applied together.

In the case of a relaxed similarity search, the following properties are applied together:

*/ [property] boolean SearchSimilarityRelax; /** This property specifies the number of characters that may be ignored to match the search pattern. */ [property] short SearchSimilarityRemove; /** specifies the number of characters that must be added to match the search pattern. */ [property] short SearchSimilarityAdd; /** This property specifies the number of characters that must be replaced to match the search pattern. */ [property] short SearchSimilarityExchange; /** If `TRUE`, the search string is evaluated as a wildcard pattern.

Wildcards are '*' (asterisk) for any sequence of characters, including an empty sequence, and '?' (question mark) for exactly one character. Escape character is '\' (U+005C REVERSE SOLIDUS) aka backslash, it escapes the special meaning of a question mark, asterisk or escape character that follows immediately after the escape character.

SearchRegularExpression, SearchWildcard and SearchSimilarity are mutually exclusive, only one can be `TRUE` at the same time.

@since LibreOffice 5.2 */ [optional, property] boolean SearchWildcard; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */