diff options
author | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2013-04-18 18:26:28 +0200 |
---|---|---|
committer | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2013-04-23 22:20:31 +0200 |
commit | b9337e22ce1dbf2eba0e8c8db294ae99f4111f91 (patch) | |
tree | 53ee1bd3dfd213815a21579151983cb997922b05 /unotools/inc/unotools/textsearch.hxx | |
parent | f4e1642a1761d5eab6ccdd89928869c2b2f1528a (diff) |
execute move of global headers
see https://gerrit.libreoffice.org/#/c/3367/
and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details
Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a
Diffstat (limited to 'unotools/inc/unotools/textsearch.hxx')
-rw-r--r-- | unotools/inc/unotools/textsearch.hxx | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/unotools/inc/unotools/textsearch.hxx b/unotools/inc/unotools/textsearch.hxx deleted file mode 100644 index 0b826102cb91..000000000000 --- a/unotools/inc/unotools/textsearch.hxx +++ /dev/null @@ -1,186 +0,0 @@ -/* -*- 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 . - */ -#include "unotools/unotoolsdllapi.h" - -#ifndef _UNOTOOLS_TEXTSEARCH_HXX -#define _UNOTOOLS_TEXTSEARCH_HXX -#include <i18nlangtag/lang.h> -#include <rtl/ustring.hxx> -#include <tools/string.hxx> -#include <com/sun/star/uno/Reference.h> -#include <com/sun/star/lang/Locale.hpp> -#include <com/sun/star/util/XTextSearch.hpp> -#include <com/sun/star/util/SearchOptions.hpp> - -class CharClass; - -namespace com { - namespace sun { - namespace star { - namespace util { - struct SearchResult; - } - } - } -} - -// ............................................................................ -namespace utl -{ -// ............................................................................ - -// Utility class for searching -class UNOTOOLS_DLLPUBLIC SearchParam -{ -public: - enum SearchType{ SRCH_NORMAL, SRCH_REGEXP, SRCH_LEVDIST }; - -private: - String sSrchStr; // the search string - String sReplaceStr; // the replace string - - SearchType m_eSrchType; // search normal/regular/LevDist - - int m_bWordOnly : 1; // used by normal search - int m_bSrchInSel : 1; // search only in the selection - int m_bCaseSense : 1; // - - // values for the "weight Levenshtein-Distance" - int bLEV_Relaxed : 1; - int nLEV_OtherX; - int nLEV_ShorterY; - int nLEV_LongerZ; - - // asian flags - used for the transliteration - long nTransliterationFlags; - -public: - SearchParam( const OUString &rText, - SearchType eSrchType = SearchParam::SRCH_NORMAL, - sal_Bool bCaseSensitive = sal_True, - sal_Bool bWordOnly = sal_False, - sal_Bool bSearchInSelection = sal_False ); - - SearchParam( const SearchParam& ); - - ~SearchParam(); - - const String& GetSrchStr() const { return sSrchStr; } - const String& GetReplaceStr() const { return sReplaceStr; } - SearchType GetSrchType() const { return m_eSrchType; } - - int IsCaseSensitive() const { return m_bCaseSense; } - int IsSrchInSelection() const { return m_bSrchInSel; } - int IsSrchWordOnly() const { return m_bWordOnly; } - - - void SetSrchStr( const String& rStr ) { sSrchStr = rStr; } - void SetReplaceStr( const String& rStr ) { sReplaceStr = rStr; } - void SetSrchType( SearchType eType ) { m_eSrchType = eType; } - - void SetCaseSensitive( int bFlag ) { m_bCaseSense = bFlag; } - void SetSrchInSelection( int bFlag ) { m_bSrchInSel = bFlag; } - void SetSrchWordOnly( int bFlag ) { m_bWordOnly = bFlag; } - - int IsSrchRelaxed() const { return bLEV_Relaxed; } - int GetLEVOther() const { return nLEV_OtherX; } - int GetLEVShorter() const { return nLEV_ShorterY; } - int GetLEVLonger() const { return nLEV_LongerZ; } - - void SetSrchRelaxed( int bFlag ) { bLEV_Relaxed = bFlag; } - void SetLEVOther( int nValue ) { nLEV_OtherX = nValue; } - void SetLEVShorter( int nValue ) { nLEV_ShorterY = nValue; } - void SetLEVLonger( int nValue ) { nLEV_LongerZ = nValue; } - - long GetTransliterationFlags() const { return nTransliterationFlags; } - void SetTransliterationFlags( long nValue ) { nTransliterationFlags = nValue; } -}; - -// Utility class for searching a substring in a string. -// The following metrics are supported -// - ordinary text (Bayer/Moore) -// - regular expressions -// - weighted Levenshtein distance -// -// This class allows forward and backward searching! - -class UNOTOOLS_DLLPUBLIC TextSearch -{ - static ::com::sun::star::uno::Reference< ::com::sun::star::util::XTextSearch > - getXTextSearch( const ::com::sun::star::util::SearchOptions& rPara ); - - com::sun::star::uno::Reference < com::sun::star::util::XTextSearch > - xTextSearch; - - void Init( const SearchParam & rParam, - const ::com::sun::star::lang::Locale& rLocale ); - -public: - // rText is the string being searched for - // this first two CTORs are deprecated! - TextSearch( const SearchParam & rPara, LanguageType nLanguage ); - TextSearch( const SearchParam & rPara, const CharClass& rCClass ); - - TextSearch( const ::com::sun::star::util::SearchOptions& rPara ); - ~TextSearch(); - - /* search in the (selected) text the search string: - rScrTxt - the text, in in which we search - pStart - start position for the search - pEnde - end position for the search - - RETURN values == sal_True: something is found - - pStart start pos of the found text, - - pStart end pos of the found text, - - pSrchResult - the search result with all found - positions. Is only filled with more positions - if the regular expression handles groups. - - == sal_False: nothing found, pStart,pEnde unchanged. - - Definitions: start pos always inclusive, end pos always exclusive! - The position must always in the right direction! - search forward: start <= end - search backward: end <= start - */ - int SearchFrwrd( const String &rStr, - xub_StrLen* pStart, xub_StrLen* pEnde, - ::com::sun::star::util::SearchResult* pSrchResult = 0 ); - sal_Bool SearchForward( const OUString &rStr, - sal_Int32* pStart, sal_Int32* pEnd, - ::com::sun::star::util::SearchResult* pRes = 0 ); - int SearchBkwrd( const String &rStr, - xub_StrLen* pStart, xub_StrLen* pEnde, - ::com::sun::star::util::SearchResult* pSrchResult = 0 ); - - void SetLocale( const ::com::sun::star::util::SearchOptions& rOpt, - const ::com::sun::star::lang::Locale& rLocale ); - - /* replace back references in the replace string by the sub expressions from the search result */ - void ReplaceBackReferences( String& rReplaceStr, const String &rStr, const ::com::sun::star::util::SearchResult& rResult ); - -}; - -// ............................................................................ -} // namespace utl -// ............................................................................ - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |