OSDN Git Service

resource.h: Add IDS_PLUGIN_DESCRIPTION*
[winmerge-jp/winmerge-jp.git] / Src / LoadSaveCodepageDlg.h
1 /** 
2  * @file  LoadSaveCodepageDlg.h
3  *
4  * @brief Declaration of the dialog used to select codepages
5  */
6 #pragma once
7
8 #include "TrDialogs.h"
9 #include "UnicodeString.h"
10
11 /////////////////////////////////////////////////////////////////////////////
12 // CLoadSaveCodepageDlg dialog
13
14 class CLoadSaveCodepageDlg : public CTrDialog
15 {
16 public:
17 // Construction
18         explicit CLoadSaveCodepageDlg(int nFiles, CWnd* pParent = nullptr);   // standard constructor
19         void SetLeftRightAffectStrings(const String & sAffectsLeft, const String & sAffectsMiddle, const String & sAffectsRight);
20         void EnableSaveCodepage(bool enable) { m_bEnableSaveCodepage = enable; }
21         void SetCodepages(int codepage) { m_nLoadCodepage = m_nSaveCodepage = codepage; }
22         void SetCodepageBOM(bool bom) { m_bSaveCodepageBOM = bom; }
23
24 // Reading results
25         int GetLoadCodepage() const { return m_nLoadCodepage; }
26         int GetSaveCodepage() const { return m_nSaveCodepage; }
27         bool GetSaveCodepageBOM() const { return m_bSaveCodepageBOM; }
28         bool DoesAffectLeft() const { return m_bAffectsLeft; }
29         bool DoesAffectMiddle() const { return m_bAffectsMiddle; }
30         bool DoesAffectRight() const { return m_bAffectsRight; }
31
32 // Implementation methods
33 private:
34         void UpdateDataToWindow() { UpdateData(FALSE); }
35         void UpdateDataFromWindow() { UpdateData(TRUE); }
36         void UpdateSaveGroup();
37
38 // Implementation data
39 private:
40 // Dialog Data
41         //{{AFX_DATA(CLoadSaveCodepageDlg)
42         enum { IDD = IDD_LOAD_SAVE_CODEPAGE };
43         bool    m_bAffectsLeft;
44         bool    m_bAffectsMiddle;
45         bool    m_bAffectsRight;
46         bool    m_bLoadSaveSameCodepage;
47         CButton m_AffectsLeftBtn;
48         CButton m_AffectsMiddleBtn;
49         CButton m_AffectsRightBtn;
50         //}}AFX_DATA
51         String m_sAffectsLeftString;
52         String m_sAffectsMiddleString;
53         String m_sAffectsRightString;
54         int m_nLoadCodepage;
55         int m_nSaveCodepage;
56         bool m_bSaveCodepageBOM;
57         bool m_bEnableSaveCodepage;
58         int m_nFiles;
59
60 // Overrides
61         // ClassWizard generated virtual function overrides
62         //{{AFX_VIRTUAL(CLoadSaveCodepageDlg)
63         protected:
64         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
65         //}}AFX_VIRTUAL
66
67 // Implementation
68 protected:
69
70         // Generated message map functions
71         //{{AFX_MSG(CLoadSaveCodepageDlg)
72         virtual BOOL OnInitDialog() override;
73         afx_msg void OnAffectsLeftBtnClicked();
74         afx_msg void OnAffectsMiddleBtnClicked();
75         afx_msg void OnAffectsRightBtnClicked();
76         afx_msg void OnLoadSaveSameCodepage();
77         virtual void OnOK ();
78         //}}AFX_MSG
79         DECLARE_MESSAGE_MAP()
80 };