]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfind.h
1.) some white spaces removed
[lyx.git] / src / lyxfind.h
index e755efbd1548a585dc47be8043679c009cbb1a94..9dc17df86b93742399993dda77d9310fb84e0667 100644 (file)
@@ -66,37 +66,50 @@ void replace(BufferView * bv, FuncRequest const &, bool has_deleted = false);
 /// find the next change in the buffer
 bool findNextChange(BufferView * bv);
 
-class FindAdvOptions {
+/// 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);
+
+// Hopefully, nobody will ever replace with something like this
+#define LYX_FR_NULL_STRING "__LYX__F&R__NULL__STRING__"
+
+class FindAndReplaceOptions {
 public:
-  FindAdvOptions(
-                 docstring const & search,
-                 bool casesensitive,
-                 bool matchword,
-                 bool forward,
-                 bool expandmacros,
-                 bool ignoreformat,
-                 bool regexp);
-  FindAdvOptions() {}
-  docstring search;
-  bool casesensitive;
-  bool matchword;
-  bool forward;
-  bool expandmacros;
-  bool ignoreformat;
-  bool regexp;
+       FindAndReplaceOptions(
+               docstring const & search,
+               bool casesensitive,
+               bool matchword,
+               bool forward,
+               bool expandmacros,
+               bool ignoreformat,
+               bool regexp,
+               docstring const & replace
+       );
+       FindAndReplaceOptions() {  }
+       docstring search;
+       bool casesensitive;
+       bool matchword;
+       bool forward;
+       bool expandmacros;
+       bool ignoreformat;
+       bool regexp;
+       docstring replace;
 };
 
 /// Write a FindAdvOptions instance to a stringstream
-std::ostringstream & operator<<(std::ostringstream & os, lyx::FindAdvOptions const & opt);
+std::ostringstream & operator<<(std::ostringstream & os, lyx::FindAndReplaceOptions const & opt);
 
 /// Read a FindAdvOptions instance from a stringstream
-std::istringstream & operator>>(std::istringstream & is, lyx::FindAdvOptions & opt);
+std::istringstream & operator>>(std::istringstream & is, lyx::FindAndReplaceOptions & opt);
 
 /// Dispatch a LFUN_WORD_FINDADV command request
 void findAdv(BufferView * bv, FuncRequest const & ev);
 
 /// Perform a FindAdv operation.
-bool findAdv(BufferView * bv, FindAdvOptions const & opt);
+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
@@ -105,8 +118,10 @@ bool findAdv(BufferView * bv, FindAdvOptions const & opt);
  ** This is useful for computing opt.search from the SearchAdvDialog controller (ControlSearchAdv).
  ** Ideally, this should not be needed, and the opt.search field should become a Text const &.
  **/
-docstring stringifyFromForSearch(FindAdvOptions const & opt,
-    Buffer const & buf, DocIterator const & cur, int len = -1);
+docstring stringifyFromForSearch(
+       FindAndReplaceOptions const & opt,
+       DocIterator const & cur,
+       int len = -1);
 
 } // namespace lyx