1 #ifndef _CODEBLOCKS_SRC_FIND_REPLACE_H_
2 #define _CODEBLOCKS_SRC_FIND_REPLACE_H_
3 
4 struct cbFindReplaceData;
5 class cbStyledTextCtrl;
6 class wxString;
7 class cbSearchResultsLog;
8 
9 class FindReplace
10 {
11     public:
12         FindReplace();
13         ~FindReplace();
14 
15         void CreateSearchLog();
16 
17         int ShowFindDialog(bool replace,  bool explicitly_find_in_files = false);
18         int FindNext(bool goingDown, cbStyledTextCtrl* control, cbFindReplaceData* data, bool selected);
19         int FindSelectedText(bool goingDown);
20 
21     private:
22         void LogSearch(const wxString& file, int line, const wxString& lineText);
23 
24         void CalculateFindReplaceStartEnd(cbStyledTextCtrl* control, cbFindReplaceData* data, bool replace = false);
25         int Find(cbStyledTextCtrl* control, cbFindReplaceData* data);
26         int FindInFiles(cbFindReplaceData* data);
27         int Replace(cbStyledTextCtrl* control, cbFindReplaceData* data);
28         int ReplaceInFiles(cbFindReplaceData* data);
29 
30     private:
31         cbFindReplaceData   *m_LastFindReplaceData;
32         cbSearchResultsLog  *m_pSearchLog;
33 };
34 
35 #endif // _CODEBLOCKS_SRC_FIND_REPLACE_H_
36 
37