OSDN Git Service

Merge branch 'master' of https://github.com/winmerge/winmerge into jp
[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         void SetAffectLeft(bool bAffect) { m_bAffectsLeft = bAffect; }
29         void SetAffectMiddle(bool bAffect) { m_bAffectsMiddle = bAffect; }
30         void SetAffectRight(bool bAffect) { m_bAffectsRight = bAffect; }
31         bool DoesAffectLeft() const { return m_bAffectsLeft; }
32         bool DoesAffectMiddle() const { return m_bAffectsMiddle; }
33         bool DoesAffectRight() const { return m_bAffectsRight; }
34
35 // Implementation methods
36 private:
37         void UpdateDataToWindow() { UpdateData(FALSE); }
38         void UpdateDataFromWindow() { UpdateData(TRUE); }
39         void UpdateSaveGroup();
40
41 // Implementation data
42 private:
43 // Dialog Data
44         //{{AFX_DATA(CLoadSaveCodepageDlg)
45         enum { IDD = IDD_LOAD_SAVE_CODEPAGE };
46         bool    m_bAffectsLeft;
47         bool    m_bAffectsMiddle;
48         bool    m_bAffectsRight;
49         bool    m_bLoadSaveSameCodepage;
50         CButton m_AffectsLeftBtn;
51         CButton m_AffectsMiddleBtn;
52         CButton m_AffectsRightBtn;
53         //}}AFX_DATA
54         String m_sAffectsLeftString;
55         String m_sAffectsMiddleString;
56         String m_sAffectsRightString;
57         int m_nLoadCodepage;
58         int m_nSaveCodepage;
59         bool m_bSaveCodepageBOM;
60         bool m_bEnableSaveCodepage;
61         int m_nFiles;
62
63 // Overrides
64         // ClassWizard generated virtual function overrides
65         //{{AFX_VIRTUAL(CLoadSaveCodepageDlg)
66         protected:
67         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
68         //}}AFX_VIRTUAL
69
70 // Implementation
71 protected:
72
73         // Generated message map functions
74         //{{AFX_MSG(CLoadSaveCodepageDlg)
75         virtual BOOL OnInitDialog() override;
76         afx_msg void OnAffectsLeftBtnClicked();
77         afx_msg void OnAffectsMiddleBtnClicked();
78         afx_msg void OnAffectsRightBtnClicked();
79         afx_msg void OnLoadSaveSameCodepage();
80         virtual void OnOK ();
81         //}}AFX_MSG
82         DECLARE_MESSAGE_MAP()
83 };