Allow customizing all tool colours in wxRibbonMSWArtProvider

A number wxRIBBON_ART_TOOOL_XXX constants were not taken into account by
GetColour() and SetColour() for some reason, even though the class did
have the corresponding member colour variables.

Fix this by simply adding cases for them to the existing switch.

Closes https://github.com/wxWidgets/wxWidgets/pull/2225
This commit is contained in:
Gary Allen
2021-02-09 10:35:43 +02:00
committed by Vadim Zeitlin
parent 279ee715fd
commit 2da5129e13

View File

@@ -942,6 +942,30 @@ wxColour wxRibbonMSWArtProvider::GetColour(int id) const
return m_tab_highlight_colour;
case wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_GRADIENT_COLOUR:
return m_tab_highlight_gradient_colour;
case wxRIBBON_ART_TOOL_BACKGROUND_TOP_COLOUR:
return m_tool_background_top_colour;
case wxRIBBON_ART_TOOL_BACKGROUND_TOP_GRADIENT_COLOUR:
return m_tool_background_top_gradient_colour;
case wxRIBBON_ART_TOOL_BACKGROUND_COLOUR:
return m_tool_background_colour;
case wxRIBBON_ART_TOOL_BACKGROUND_GRADIENT_COLOUR:
return m_tool_background_gradient_colour;
case wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_COLOUR:
return m_tool_hover_background_top_colour;
case wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR:
return m_tool_hover_background_top_gradient_colour;
case wxRIBBON_ART_TOOL_HOVER_BACKGROUND_COLOUR:
return m_tool_hover_background_colour;
case wxRIBBON_ART_TOOL_HOVER_BACKGROUND_GRADIENT_COLOUR:
return m_tool_hover_background_gradient_colour;
case wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_COLOUR:
return m_tool_active_background_top_colour;
case wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
return m_tool_active_background_top_gradient_colour;
case wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_COLOUR:
return m_tool_active_background_colour;
case wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
return m_tool_active_background_gradient_colour;
default:
wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
break;
@@ -1247,6 +1271,42 @@ void wxRibbonMSWArtProvider::SetColour(int id, const wxColor& colour)
case wxRIBBON_ART_BUTTON_BAR_LABEL_HIGHLIGHT_GRADIENT_COLOUR:
m_tab_highlight_gradient_colour = colour;
break;
case wxRIBBON_ART_TOOL_BACKGROUND_TOP_COLOUR:
m_tool_background_top_colour = colour;
break;
case wxRIBBON_ART_TOOL_BACKGROUND_TOP_GRADIENT_COLOUR:
m_tool_background_top_gradient_colour = colour;
break;
case wxRIBBON_ART_TOOL_BACKGROUND_COLOUR:
m_tool_background_colour = colour;
break;
case wxRIBBON_ART_TOOL_BACKGROUND_GRADIENT_COLOUR:
m_tool_background_gradient_colour = colour;
break;
case wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_COLOUR:
m_tool_hover_background_top_colour = colour;
break;
case wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR:
m_tool_hover_background_top_gradient_colour = colour;
break;
case wxRIBBON_ART_TOOL_HOVER_BACKGROUND_COLOUR:
m_tool_hover_background_colour = colour;
break;
case wxRIBBON_ART_TOOL_HOVER_BACKGROUND_GRADIENT_COLOUR:
m_tool_hover_background_gradient_colour = colour;
break;
case wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_COLOUR:
m_tool_active_background_top_colour = colour;
break;
case wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
m_tool_active_background_top_gradient_colour = colour;
break;
case wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_COLOUR:
m_tool_active_background_colour = colour;
break;
case wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
m_tool_active_background_gradient_colour = colour;
break;
default:
wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
break;