X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfind.h;h=6301ab5b7418340f59eec33e7072b22aa85a412f;hb=fb12b282f1300123c7f4c7f10525c29cb598e1fe;hp=52b79307e49cd419d00f6a62965e20d12ae61fc7;hpb=31b56dac8042735f75229ad480b3e98531c181ff;p=lyx.git diff --git a/src/lyxfind.h b/src/lyxfind.h index 52b79307e4..6301ab5b74 100644 --- a/src/lyxfind.h +++ b/src/lyxfind.h @@ -1,33 +1,63 @@ // -*- C++ -*- +/** + * \file lyxfind.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author Lars Gullik Bjønnes + * \author John Levon + * \author Jürgen Vigna + * \author Alfredo Braunstein + * + * Full author contact details are available in file CREDITS. + */ + #ifndef LYXFIND_H #define LYXFIND_H -#ifdef __GNUG__ -#pragma interface -#endif +#include "support/strfwd.h" -#include "LString.h" -#include "lyxparagraph.h" +namespace lyx { class BufferView; - -int LyXReplace(BufferView * bv, string const &, string const &, - bool const &, bool const &, bool const &, bool const & = false); - -bool LyXFind(BufferView * bv, string const &, bool const &, bool const &, - bool const &); - -/// returns true if the specified string is at the specified position -bool IsStringInText(LyXParagraph * par, LyXParagraph::size_type pos, - string const & str, bool const & = true, - bool const & = false); - -/// if the string is found: return true and set the cursor to the new position -bool SearchForward(BufferView *, string const & str, bool const & = true, - bool const & = false); -/// -bool SearchBackward(BufferView *, string const & str, bool const & = true, - bool const & = false); - - -#endif +class FuncRequest; +class Text; + +/** Encode the parameters needed to find \c search as a string + * that can be dispatched to the LyX core in a FuncRequest wrapper. + */ +docstring const find2string(docstring const & search, + bool casesensitive, + bool matchword, + bool forward); + +/** Encode the parameters needed to replace \c search with \c replace + * as a string that can be dispatched to the LyX core in a FuncRequest + * wrapper. + */ +docstring const replace2string(docstring const & search, + docstring const & replace, + bool casesensitive, + bool matchword, + bool all, + bool forward); + +/** Parse the string encoding of the find request that is found in + * \c ev.argument and act on it. + * The string is encoded by \c find2string. + * \return true if the string was found. + */ +bool find(BufferView * bv, FuncRequest const & ev); + +/** Parse the string encoding of the replace request that is found in + * \c ev.argument and act on it. + * The string is encoded by \c replace2string. + */ +void replace(BufferView * bv, FuncRequest const &, bool has_deleted = false); + +/// find the next change in the buffer +bool findNextChange(BufferView * bv); + +} // namespace lyx + +#endif // LYXFIND_H