OSDN Git Service

Merge with stable
[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 class LineFiltersList;
10
11 /**
12  * @brief A dialog for editing and selecting used line filters.
13  * This dialog allows user to add, edit and remove line filters. Currently
14  * active filters are selected by enabling their checkbox.
15  */
16 class LineFiltersDlg : public CPropertyPage
17 {
18         DECLARE_DYNAMIC(LineFiltersDlg)
19
20 // Construction
21 public:
22         LineFiltersDlg();
23
24         void SetList(LineFiltersList * list);
25
26 // Dialog Data
27         //{{AFX_DATA(LineFiltersDlg)
28         enum { IDD = IDD_PROPPAGE_FILTER };
29         bool    m_bIgnoreRegExp;
30         //}}AFX_DATA
31
32 // Overrides
33         // ClassWizard generate virtual function overrides
34         //{{AFX_VIRTUAL(LineFiltersDlg)
35         protected:
36         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
37         //}}AFX_VIRTUAL
38
39 // Implementation
40 protected:
41
42         // Generated message map functions
43         //{{AFX_MSG(LineFiltersDlg)
44         virtual BOOL OnInitDialog();
45         afx_msg void OnHelp();
46         virtual void OnOK();
47         afx_msg void OnBnClickedLfilterAddBtn();
48         afx_msg void OnBnClickedLfilterEditbtn();
49         afx_msg void OnBnClickedLfilterRemovebtn();
50         afx_msg void OnLvnItemActivateLfilterList(NMHDR *pNMHDR, LRESULT *pResult);
51         afx_msg void OnLvnKeyDownLfilterList(NMHDR *pNMHDR, LRESULT *pResult);
52         afx_msg void OnEndLabelEditLfilterList(NMHDR *pNMHDR, LRESULT *pResult);
53         //}}AFX_MSG
54         DECLARE_MESSAGE_MAP()
55
56         void InitList();
57         int AddRow(const String& filter = NULL, bool enabled = false);
58         void EditSelectedFilter();
59
60 private:
61         CListCtrl m_filtersList; /**< List control having filter strings */
62
63         LineFiltersList * m_pList; /**< Helper list for getting/setting filters. */
64 };
65
66 //{{AFX_INSERT_LOCATION}}
67 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.