OSDN Git Service

Update Dutch.po (#842)
[winmerge-jp/winmerge-jp.git] / Src / PropMarkerColors.h
1 /** 
2  * @file  PropMarkerColors.h
3  *
4  * @brief Declaration file for PropMarkerColors propertyheet
5  *
6  */
7 #pragma once
8
9 #include "ColorButton.h"
10 #include "OptionsPanel.h"
11 #include <array>
12
13 class COptionsMgr;
14 class SyntaxColors;
15
16 /** @brief Property page for colors options; used in options property sheet */
17 class PropMarkerColors : public OptionsPanel
18 {
19
20 // Construction
21 public:
22
23         PropMarkerColors(COptionsMgr *optionsMgr, SyntaxColors *pColors);
24
25 // Implement IOptionsPanel
26         virtual void ReadOptions() override;
27         virtual void WriteOptions() override;
28
29 // Dialog Data
30 private:
31
32         SyntaxColors *m_pTempColors;
33         std::array<COLORREF, 16> m_cCustColors;
34
35         //{{AFX_DATA(PropMarkerColors)
36         enum { IDD = IDD_PROPPAGE_COLORS_MARKER };
37         CColorButton    m_btnMarkerColors[4];
38         //}}AFX_DATA
39
40         // Overrides
41         // ClassWizard generated virtual function overrides
42         //{{AFX_VIRTUAL(PropMarkerColors)
43         protected:
44         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
45         //}}AFX_VIRTUAL
46
47 // Implementation
48 protected:
49
50         typedef enum { SET_DEFAULTS, READ_OPTIONS, LOAD_COLORS } OPERATION;
51
52         void BrowseColorAndSave(CColorButton & colorButton, int colorIndex);
53         void SerializeColorsToFromScreen(OPERATION op);
54         void SerializeColorToFromScreen(OPERATION op, CColorButton & btn, int colorIndex);
55
56         // Generated message map functions
57         //{{AFX_MSG(PropMarkerColors)
58         afx_msg void OnMarkerColors(UINT nID);
59         //}}AFX_MSG
60         DECLARE_MESSAGE_MAP()
61 };