OSDN Git Service

resource.h: Add IDS_PLUGIN_DESCRIPTION*
[winmerge-jp/winmerge-jp.git] / Src / LineFiltersDlg.h
1 /** 
2  * @file  LineFiltersDlg.h
3  *
4  * @brief Declaration file for Line Filter dialog
5  *
6  */
7 #pragma once
8
9 #include "TrDialogs.h"
10
11 class LineFiltersList;
12
13 /**
14  * @brief A dialog for editing and selecting used line filters.
15  * This dialog allows user to add, edit and remove line filters. Currently
16  * active filters are selected by enabling their checkbox.
17  */
18 class LineFiltersDlg : public CTrPropertyPage
19 {
20         DECLARE_DYNAMIC(LineFiltersDlg)
21
22 // Construction
23 public:
24         LineFiltersDlg();
25
26         void SetList(LineFiltersList * list);
27
28 // Dialog Data
29         //{{AFX_DATA(LineFiltersDlg)
30         enum { IDD = IDD_FILTERS_LINEFILTERS };
31         bool    m_bIgnoreRegExp;
32         //}}AFX_DATA
33
34 // Overrides
35         // ClassWizard generate virtual function overrides
36         //{{AFX_VIRTUAL(LineFiltersDlg)
37         protected:
38         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
39         //}}AFX_VIRTUAL
40
41 // Implementation
42 protected:
43
44         // Generated message map functions
45         //{{AFX_MSG(LineFiltersDlg)
46         virtual BOOL OnInitDialog() override;
47         afx_msg void OnHelp();
48         virtual void OnOK() override;
49         afx_msg void OnBnClickedLfilterAddBtn();
50         afx_msg void OnBnClickedLfilterEditbtn();
51         afx_msg void OnBnClickedLfilterRemovebtn();
52         afx_msg void OnLvnItemActivateLfilterList(NMHDR *pNMHDR, LRESULT *pResult);
53         afx_msg void OnLvnKeyDownLfilterList(NMHDR *pNMHDR, LRESULT *pResult);
54         afx_msg void OnEndLabelEditLfilterList(NMHDR *pNMHDR, LRESULT *pResult);
55         //}}AFX_MSG
56         DECLARE_MESSAGE_MAP()
57
58         void InitList();
59         int AddRow(const String& filter = nullptr, bool enabled = false);
60         void EditSelectedFilter();
61
62 private:
63         CListCtrl m_filtersList; /**< List control having filter strings */
64
65         LineFiltersList * m_pList; /**< Helper list for getting/setting filters. */
66 };