X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfind.h;h=bfaae8f43d96d6bfdda818cabdda8637eafd7fdc;hb=72c304a6297311086d8fe1a17622f7b79623d3bd;hp=9adcae968d9c0faf26f729df98b67a7c28f1836a;hpb=249d96ed942ca92b056c404fbcfee9ca00bd8d2e;p=lyx.git diff --git a/src/lyxfind.h b/src/lyxfind.h index 9adcae968d..bfaae8f43d 100644 --- a/src/lyxfind.h +++ b/src/lyxfind.h @@ -26,6 +26,7 @@ namespace lyx { class Buffer; +class Cursor; class BufferView; class DocIterator; class FuncRequest; @@ -63,7 +64,7 @@ bool lyxfind(BufferView * bv, FuncRequest const & ev); * The string is encoded by \c replace2string. * \return whether we did anything */ -bool lyxreplace(BufferView * bv, +bool lyxreplace(BufferView * bv, FuncRequest const &, bool has_deleted = false); /// find the next change in the buffer @@ -72,6 +73,10 @@ bool findNextChange(BufferView * bv); /// find the previous change in the buffer bool findPreviousChange(BufferView * bv); +/// select change under the cursor +bool selectChange(Cursor & cur, bool forward = true); + + class FindAndReplaceOptions { public: typedef enum { @@ -80,6 +85,10 @@ public: S_OPEN_BUFFERS, S_ALL_MANUALS } SearchScope; + typedef enum { + R_EVERYTHING, + R_ONLY_MATHS + } SearchRestriction; FindAndReplaceOptions( docstring const & find_buf_name, bool casesensitive, @@ -89,9 +98,13 @@ public: bool ignoreformat, docstring const & repl_buf_name, bool keep_case, - SearchScope scope = S_BUFFER + SearchScope scope = S_BUFFER, + SearchRestriction restr = R_EVERYTHING, + bool replace_all = false ); - FindAndReplaceOptions() { } + FindAndReplaceOptions() : casesensitive(false), matchword(false), forward(false), + expandmacros(false), ignoreformat(false), + keep_case(false), scope(S_BUFFER), restr(R_EVERYTHING), replace_all(false) {} docstring find_buf_name; bool casesensitive; bool matchword; @@ -102,8 +115,13 @@ public: docstring repl_buf_name; bool keep_case; SearchScope scope; + SearchRestriction restr; + bool replace_all; }; +/// Set the formats that should be ignored +void setIgnoreFormat(std::string const & type, bool value); + /// Write a FindAdvOptions instance to a stringstream std::ostringstream & operator<<(std::ostringstream & os, lyx::FindAndReplaceOptions const & opt); @@ -112,7 +130,7 @@ std::istringstream & operator>>(std::istringstream & is, lyx::FindAndReplaceOpti /// Perform a FindAdv operation. bool findAdv(BufferView * bv, FindAndReplaceOptions const & opt); - + /** Computes the simple-text or LaTeX export (depending on opt) of buf starting ** from cur and ending len positions after cur, if len is positive, or at the ** paragraph or innermost inset end if len is -1. @@ -125,6 +143,7 @@ docstring stringifyFromForSearch( DocIterator const & cur, int len = -1); + } // namespace lyx #endif // LYXFIND_H