2 * @file PropMergeColors.h
4 * @brief Declaration file for PropMergeColors propertyheet
9 #include "ColorButton.h"
10 #include "OptionsPanel.h"
15 const int CustomColorsAmount = 16;
17 /** @brief Property page for colors options; used in options property sheet */
18 class PropMergeColors : public OptionsPanel
22 explicit PropMergeColors(COptionsMgr *optionsMgr);
24 // Implement IOptionsPanel
25 virtual void ReadOptions() override;
26 virtual void WriteOptions() override;
30 //{{AFX_DATA(PropMergeColors)
31 enum { IDD = IDD_PROPPAGE_COLORS_WINMERGE };
32 CColorButton m_cTrivialDeleted;
33 CColorButton m_cTrivial;
34 CColorButton m_cSelDiffText;
35 CColorButton m_cDiffText;
36 CColorButton m_cSelDiffDeleted;
37 CColorButton m_cDiffDeleted;
38 CColorButton m_cSelDiff;
40 CColorButton m_cTrivialText;
41 CColorButton m_cMoved;
42 CColorButton m_cMovedDeleted;
43 CColorButton m_cMovedText;
44 CColorButton m_cSelMoved;
45 CColorButton m_cSelMovedDeleted;
46 CColorButton m_cSelMovedText;
48 CColorButton m_cSNPDeleted;
49 CColorButton m_cSNPText;
50 CColorButton m_cSelSNP;
51 CColorButton m_cSelSNPDeleted;
52 CColorButton m_cSelSNPText;
53 CColorButton m_cWordDiff;
54 CColorButton m_cWordDiffDeleted;
55 CColorButton m_cWordDiffText;
56 CColorButton m_cSelWordDiff;
57 CColorButton m_cSelWordDiffDeleted;
58 CColorButton m_cSelWordDiffText;
62 // ClassWizard generated virtual function overrides
63 //{{AFX_VIRTUAL(PropMergeColors)
65 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
71 static const COLORREF COLOR_NONE = 0xffffffff;
72 typedef enum { SET_DEFAULTS, WRITE_OPTIONS, READ_OPTIONS } OPERATION;
74 void BrowseColor(CColorButton & colorButton);
75 void SerializeColors(OPERATION op);
76 void SerializeColor(OPERATION op, CColorButton & btn, const String& optionName);
77 void UpdateTextColorButtonState(int checkboxId, CColorButton &btn);
78 void UpdateTextColorButtonsState();
80 std::array<COLORREF, CustomColorsAmount> m_cCustColors;
82 // Generated message map functions
83 //{{AFX_MSG(PropMergeColors)
84 afx_msg void OnDifferenceColor();
85 afx_msg void OnDifferenceDeletedColor();
86 afx_msg void OnSelDifferenceDeletedColor();
87 afx_msg void OnSelDifferenceColor();
88 afx_msg void OnDifferenceTextColor();
89 afx_msg void OnSelDifferenceTextColor();
90 afx_msg void OnTrivialDiffColor();
91 afx_msg void OnTrivialDiffDeletedColor();
92 afx_msg void OnTrivialDiffTextColor();
93 afx_msg void OnMovedColor();
94 afx_msg void OnMovedDeletedColor();
95 afx_msg void OnMovedTextColor();
96 afx_msg void OnSelMovedColor();
97 afx_msg void OnSelMovedDeletedColor();
98 afx_msg void OnSelMovedTextColor();
99 afx_msg void OnSNPColor();
100 afx_msg void OnSNPDeletedColor();
101 afx_msg void OnSNPTextColor();
102 afx_msg void OnSelSNPColor();
103 afx_msg void OnSelSNPDeletedColor();
104 afx_msg void OnSelSNPTextColor();
105 afx_msg void OnWordDiffColor();
106 afx_msg void OnWordDiffDeletedColor();
107 afx_msg void OnWordDiffTextColor();
108 afx_msg void OnSelWordDiffColor();
109 afx_msg void OnSelWordDiffDeletedColor();
110 afx_msg void OnSelWordDiffTextColor();
111 template<int checkbox_id, int colorbutton_id>
112 afx_msg void OnUseTextColor();
114 DECLARE_MESSAGE_MAP()