]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfind.h
Change a couple instances of QFontMetrics::width()
[lyx.git] / src / lyxfind.h
index 9adcae968d9c0faf26f729df98b67a7c28f1836a..bfaae8f43d96d6bfdda818cabdda8637eafd7fdc 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,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