]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfind.h
Allow to provide xunicode.
[lyx.git] / src / lyxfind.h
index 589a5d01d5870177a2e9a42cdfe477d42f506192..61f44366ec0671a93f48a9349d8bd8a3298d73c4 100644 (file)
@@ -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,9 +73,9 @@ bool findNextChange(BufferView * bv);
 /// find the previous change in the buffer
 bool findPreviousChange(BufferView * bv);
 
-/// find the change in the buffer
-/// \param next true to find the next change, otherwise the previous
-bool findChange(BufferView * bv, bool next);
+/// select change under the cursor
+bool selectChange(Cursor & cur, bool forward = true);
+
 
 class FindAndReplaceOptions {
 public:
@@ -84,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,
@@ -93,9 +98,12 @@ public:
                bool ignoreformat,
                docstring const & repl_buf_name,
                bool keep_case,
-               SearchScope scope = S_BUFFER
+               SearchScope scope = S_BUFFER,
+               SearchRestriction restr = R_EVERYTHING
        );
-       FindAndReplaceOptions() {  }
+       FindAndReplaceOptions() : casesensitive(false), matchword(false), forward(false),
+                                 expandmacros(false), ignoreformat(false),
+                                                         keep_case(false), scope(S_BUFFER), restr(R_EVERYTHING) {}
        docstring find_buf_name;
        bool casesensitive;
        bool matchword;
@@ -106,6 +114,7 @@ public:
        docstring repl_buf_name;
        bool keep_case;
        SearchScope scope;
+       SearchRestriction restr;
 };
 
 /// Write a FindAdvOptions instance to a stringstream
@@ -116,7 +125,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.