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();
26 virtual void WriteOptions();
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;
73 typedef enum { COLORSCHEME_GITHUBBITBUCKET} COLORSCHEME;
75 void BrowseColor(CColorButton & colorButton);
76 void SerializeColors(OPERATION op);
77 void SerializeColor(OPERATION op, CColorButton & btn, const String& optionName);
78 void UpdateTextColorButtonState(int checkboxId, CColorButton &btn);
79 void UpdateTextColorButtonsState();
80 void SetColorScheme(int scheme);
82 std::array<COLORREF, CustomColorsAmount> m_cCustColors;
84 // Generated message map functions
85 //{{AFX_MSG(PropMergeColors)
86 afx_msg void OnDifferenceColor();
87 afx_msg void OnDifferenceDeletedColor();
88 afx_msg void OnSelDifferenceDeletedColor();
89 afx_msg void OnSelDifferenceColor();
90 afx_msg void OnDifferenceTextColor();
91 afx_msg void OnSelDifferenceTextColor();
92 afx_msg void OnTrivialDiffColor();
93 afx_msg void OnTrivialDiffDeletedColor();
94 afx_msg void OnTrivialDiffTextColor();
95 afx_msg void OnMovedColor();
96 afx_msg void OnMovedDeletedColor();
97 afx_msg void OnMovedTextColor();
98 afx_msg void OnSelMovedColor();
99 afx_msg void OnSelMovedDeletedColor();
100 afx_msg void OnSelMovedTextColor();
101 afx_msg void OnSNPColor();
102 afx_msg void OnSNPDeletedColor();
103 afx_msg void OnSNPTextColor();
104 afx_msg void OnSelSNPColor();
105 afx_msg void OnSelSNPDeletedColor();
106 afx_msg void OnSelSNPTextColor();
107 afx_msg void OnWordDiffColor();
108 afx_msg void OnWordDiffDeletedColor();
109 afx_msg void OnWordDiffTextColor();
110 afx_msg void OnSelWordDiffColor();
111 afx_msg void OnSelWordDiffDeletedColor();
112 afx_msg void OnSelWordDiffTextColor();
113 template<int checkbox_id, int colorbutton_id>
114 afx_msg void OnUseTextColor();
116 afx_msg void OnColorSchemeButton();
117 afx_msg void OnDefaults();
119 DECLARE_MESSAGE_MAP()
122 //{{AFX_INSERT_LOCATION}}
123 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.