Kaydet (Commit) 9bfd89b0 authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl

Separate style colors from WidgetDefinition into its own class

Change-Id: I11cd695da81bae7b49b2319b89e5c560ba64f04e
Reviewed-on: https://gerrit.libreoffice.org/68975
Tested-by: Jenkins
Reviewed-by: 's avatarTomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 4e25914b)
üst 4156d3b9
...@@ -208,7 +208,7 @@ public: ...@@ -208,7 +208,7 @@ public:
std::vector<std::shared_ptr<WidgetDefinitionState>> maStates; std::vector<std::shared_ptr<WidgetDefinitionState>> maStates;
}; };
class VCL_DLLPUBLIC WidgetDefinition class VCL_DLLPUBLIC WidgetDefinitionStyle
{ {
public: public:
Color maFaceColor; Color maFaceColor;
...@@ -261,7 +261,12 @@ public: ...@@ -261,7 +261,12 @@ public:
Color maVisitedLinkColor; Color maVisitedLinkColor;
Color maToolTextColor; Color maToolTextColor;
Color maFontColor; Color maFontColor;
};
class VCL_DLLPUBLIC WidgetDefinition
{
public:
std::shared_ptr<WidgetDefinitionStyle> mpStyle;
std::unordered_map<ControlTypeAndPart, std::shared_ptr<WidgetDefinitionPart>> maDefinitions; std::unordered_map<ControlTypeAndPart, std::shared_ptr<WidgetDefinitionPart>> maDefinitions;
std::shared_ptr<WidgetDefinitionPart> getDefinition(ControlType eType, ControlPart ePart); std::shared_ptr<WidgetDefinitionPart> getDefinition(ControlType eType, ControlPart ePart);
}; };
......
...@@ -39,20 +39,17 @@ void WidgetDefinitionReaderTest::testRead() ...@@ -39,20 +39,17 @@ void WidgetDefinitionReaderTest::testRead()
{ {
vcl::WidgetDefinition aDefinition; vcl::WidgetDefinition aDefinition;
CPPUNIT_ASSERT_EQUAL(OUString("000000"), aDefinition.maFaceColor.AsRGBHexString());
CPPUNIT_ASSERT_EQUAL(OUString("000000"), aDefinition.maCheckedColor.AsRGBHexString());
CPPUNIT_ASSERT_EQUAL(OUString("000000"), aDefinition.maLightColor.AsRGBHexString());
vcl::WidgetDefinitionReader aReader(getFullUrl("definition1.xml"), getFullUrl("")); vcl::WidgetDefinitionReader aReader(getFullUrl("definition1.xml"), getFullUrl(""));
aReader.read(aDefinition); aReader.read(aDefinition);
CPPUNIT_ASSERT_EQUAL(OUString("123456"), aDefinition.maFaceColor.AsRGBHexString()); CPPUNIT_ASSERT_EQUAL(OUString("123456"), aDefinition.mpStyle->maFaceColor.AsRGBHexString());
CPPUNIT_ASSERT_EQUAL(OUString("234567"), aDefinition.maCheckedColor.AsRGBHexString()); CPPUNIT_ASSERT_EQUAL(OUString("234567"), aDefinition.mpStyle->maCheckedColor.AsRGBHexString());
CPPUNIT_ASSERT_EQUAL(OUString("345678"), aDefinition.maLightColor.AsRGBHexString()); CPPUNIT_ASSERT_EQUAL(OUString("345678"), aDefinition.mpStyle->maLightColor.AsRGBHexString());
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aDefinition.maVisitedLinkColor.AsRGBHexString()); CPPUNIT_ASSERT_EQUAL(OUString("ffffff"),
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aDefinition.maToolTextColor.AsRGBHexString()); aDefinition.mpStyle->maVisitedLinkColor.AsRGBHexString());
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aDefinition.maFontColor.AsRGBHexString()); CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aDefinition.mpStyle->maToolTextColor.AsRGBHexString());
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aDefinition.mpStyle->maFontColor.AsRGBHexString());
// Pushbutton // Pushbutton
{ {
......
...@@ -786,56 +786,58 @@ bool FileDefinitionWidgetDraw::updateSettings(AllSettings& rSettings) ...@@ -786,56 +786,58 @@ bool FileDefinitionWidgetDraw::updateSettings(AllSettings& rSettings)
{ {
StyleSettings aStyleSet = rSettings.GetStyleSettings(); StyleSettings aStyleSet = rSettings.GetStyleSettings();
aStyleSet.SetFaceColor(m_aWidgetDefinition.maFaceColor); auto pDefinitionStyle = m_aWidgetDefinition.mpStyle;
aStyleSet.SetCheckedColor(m_aWidgetDefinition.maCheckedColor);
aStyleSet.SetLightColor(m_aWidgetDefinition.maLightColor); aStyleSet.SetFaceColor(pDefinitionStyle->maFaceColor);
aStyleSet.SetLightBorderColor(m_aWidgetDefinition.maLightBorderColor); aStyleSet.SetCheckedColor(pDefinitionStyle->maCheckedColor);
aStyleSet.SetShadowColor(m_aWidgetDefinition.maShadowColor); aStyleSet.SetLightColor(pDefinitionStyle->maLightColor);
aStyleSet.SetDarkShadowColor(m_aWidgetDefinition.maDarkShadowColor); aStyleSet.SetLightBorderColor(pDefinitionStyle->maLightBorderColor);
aStyleSet.SetButtonTextColor(m_aWidgetDefinition.maButtonTextColor); aStyleSet.SetShadowColor(pDefinitionStyle->maShadowColor);
aStyleSet.SetButtonRolloverTextColor(m_aWidgetDefinition.maButtonRolloverTextColor); aStyleSet.SetDarkShadowColor(pDefinitionStyle->maDarkShadowColor);
aStyleSet.SetRadioCheckTextColor(m_aWidgetDefinition.maRadioCheckTextColor); aStyleSet.SetButtonTextColor(pDefinitionStyle->maButtonTextColor);
aStyleSet.SetGroupTextColor(m_aWidgetDefinition.maGroupTextColor); aStyleSet.SetButtonRolloverTextColor(pDefinitionStyle->maButtonRolloverTextColor);
aStyleSet.SetLabelTextColor(m_aWidgetDefinition.maLabelTextColor); aStyleSet.SetRadioCheckTextColor(pDefinitionStyle->maRadioCheckTextColor);
aStyleSet.SetWindowColor(m_aWidgetDefinition.maWindowColor); aStyleSet.SetGroupTextColor(pDefinitionStyle->maGroupTextColor);
aStyleSet.SetWindowTextColor(m_aWidgetDefinition.maWindowTextColor); aStyleSet.SetLabelTextColor(pDefinitionStyle->maLabelTextColor);
aStyleSet.SetDialogColor(m_aWidgetDefinition.maDialogColor); aStyleSet.SetWindowColor(pDefinitionStyle->maWindowColor);
aStyleSet.SetDialogTextColor(m_aWidgetDefinition.maDialogTextColor); aStyleSet.SetWindowTextColor(pDefinitionStyle->maWindowTextColor);
aStyleSet.SetWorkspaceColor(m_aWidgetDefinition.maWorkspaceColor); aStyleSet.SetDialogColor(pDefinitionStyle->maDialogColor);
aStyleSet.SetMonoColor(m_aWidgetDefinition.maMonoColor); aStyleSet.SetDialogTextColor(pDefinitionStyle->maDialogTextColor);
aStyleSet.SetFieldColor(m_aWidgetDefinition.maFieldColor); aStyleSet.SetWorkspaceColor(pDefinitionStyle->maWorkspaceColor);
aStyleSet.SetFieldTextColor(m_aWidgetDefinition.maFieldTextColor); aStyleSet.SetMonoColor(pDefinitionStyle->maMonoColor);
aStyleSet.SetFieldRolloverTextColor(m_aWidgetDefinition.maFieldRolloverTextColor); aStyleSet.SetFieldColor(pDefinitionStyle->maFieldColor);
aStyleSet.SetActiveColor(m_aWidgetDefinition.maActiveColor); aStyleSet.SetFieldTextColor(pDefinitionStyle->maFieldTextColor);
aStyleSet.SetActiveTextColor(m_aWidgetDefinition.maActiveTextColor); aStyleSet.SetFieldRolloverTextColor(pDefinitionStyle->maFieldRolloverTextColor);
aStyleSet.SetActiveBorderColor(m_aWidgetDefinition.maActiveBorderColor); aStyleSet.SetActiveColor(pDefinitionStyle->maActiveColor);
aStyleSet.SetDeactiveColor(m_aWidgetDefinition.maDeactiveColor); aStyleSet.SetActiveTextColor(pDefinitionStyle->maActiveTextColor);
aStyleSet.SetDeactiveTextColor(m_aWidgetDefinition.maDeactiveTextColor); aStyleSet.SetActiveBorderColor(pDefinitionStyle->maActiveBorderColor);
aStyleSet.SetDeactiveBorderColor(m_aWidgetDefinition.maDeactiveBorderColor); aStyleSet.SetDeactiveColor(pDefinitionStyle->maDeactiveColor);
aStyleSet.SetMenuColor(m_aWidgetDefinition.maMenuColor); aStyleSet.SetDeactiveTextColor(pDefinitionStyle->maDeactiveTextColor);
aStyleSet.SetMenuBarColor(m_aWidgetDefinition.maMenuBarColor); aStyleSet.SetDeactiveBorderColor(pDefinitionStyle->maDeactiveBorderColor);
aStyleSet.SetMenuBarRolloverColor(m_aWidgetDefinition.maMenuBarRolloverColor); aStyleSet.SetMenuColor(pDefinitionStyle->maMenuColor);
aStyleSet.SetMenuBorderColor(m_aWidgetDefinition.maMenuBorderColor); aStyleSet.SetMenuBarColor(pDefinitionStyle->maMenuBarColor);
aStyleSet.SetMenuTextColor(m_aWidgetDefinition.maMenuTextColor); aStyleSet.SetMenuBarRolloverColor(pDefinitionStyle->maMenuBarRolloverColor);
aStyleSet.SetMenuBarTextColor(m_aWidgetDefinition.maMenuBarTextColor); aStyleSet.SetMenuBorderColor(pDefinitionStyle->maMenuBorderColor);
aStyleSet.SetMenuBarRolloverTextColor(m_aWidgetDefinition.maMenuBarRolloverTextColor); aStyleSet.SetMenuTextColor(pDefinitionStyle->maMenuTextColor);
aStyleSet.SetMenuBarHighlightTextColor(m_aWidgetDefinition.maMenuBarHighlightTextColor); aStyleSet.SetMenuBarTextColor(pDefinitionStyle->maMenuBarTextColor);
aStyleSet.SetMenuHighlightColor(m_aWidgetDefinition.maMenuHighlightColor); aStyleSet.SetMenuBarRolloverTextColor(pDefinitionStyle->maMenuBarRolloverTextColor);
aStyleSet.SetMenuHighlightTextColor(m_aWidgetDefinition.maMenuHighlightTextColor); aStyleSet.SetMenuBarHighlightTextColor(pDefinitionStyle->maMenuBarHighlightTextColor);
aStyleSet.SetHighlightColor(m_aWidgetDefinition.maHighlightColor); aStyleSet.SetMenuHighlightColor(pDefinitionStyle->maMenuHighlightColor);
aStyleSet.SetHighlightTextColor(m_aWidgetDefinition.maHighlightTextColor); aStyleSet.SetMenuHighlightTextColor(pDefinitionStyle->maMenuHighlightTextColor);
aStyleSet.SetActiveTabColor(m_aWidgetDefinition.maActiveTabColor); aStyleSet.SetHighlightColor(pDefinitionStyle->maHighlightColor);
aStyleSet.SetInactiveTabColor(m_aWidgetDefinition.maInactiveTabColor); aStyleSet.SetHighlightTextColor(pDefinitionStyle->maHighlightTextColor);
aStyleSet.SetTabTextColor(m_aWidgetDefinition.maTabTextColor); aStyleSet.SetActiveTabColor(pDefinitionStyle->maActiveTabColor);
aStyleSet.SetTabRolloverTextColor(m_aWidgetDefinition.maTabRolloverTextColor); aStyleSet.SetInactiveTabColor(pDefinitionStyle->maInactiveTabColor);
aStyleSet.SetTabHighlightTextColor(m_aWidgetDefinition.maTabHighlightTextColor); aStyleSet.SetTabTextColor(pDefinitionStyle->maTabTextColor);
aStyleSet.SetDisableColor(m_aWidgetDefinition.maDisableColor); aStyleSet.SetTabRolloverTextColor(pDefinitionStyle->maTabRolloverTextColor);
aStyleSet.SetHelpColor(m_aWidgetDefinition.maHelpColor); aStyleSet.SetTabHighlightTextColor(pDefinitionStyle->maTabHighlightTextColor);
aStyleSet.SetHelpTextColor(m_aWidgetDefinition.maHelpTextColor); aStyleSet.SetDisableColor(pDefinitionStyle->maDisableColor);
aStyleSet.SetLinkColor(m_aWidgetDefinition.maLinkColor); aStyleSet.SetHelpColor(pDefinitionStyle->maHelpColor);
aStyleSet.SetVisitedLinkColor(m_aWidgetDefinition.maVisitedLinkColor); aStyleSet.SetHelpTextColor(pDefinitionStyle->maHelpTextColor);
aStyleSet.SetToolTextColor(m_aWidgetDefinition.maToolTextColor); aStyleSet.SetLinkColor(pDefinitionStyle->maLinkColor);
aStyleSet.SetFontColor(m_aWidgetDefinition.maFontColor); aStyleSet.SetVisitedLinkColor(pDefinitionStyle->maVisitedLinkColor);
aStyleSet.SetToolTextColor(pDefinitionStyle->maToolTextColor);
aStyleSet.SetFontColor(pDefinitionStyle->maFontColor);
vcl::Font aFont(FAMILY_SWISS, Size(0, 12)); vcl::Font aFont(FAMILY_SWISS, Size(0, 12));
aFont.SetCharSet(osl_getThreadTextEncoding()); aFont.SetCharSet(osl_getThreadTextEncoding());
......
...@@ -370,60 +370,63 @@ bool WidgetDefinitionReader::read(WidgetDefinition& rWidgetDefinition) ...@@ -370,60 +370,63 @@ bool WidgetDefinitionReader::read(WidgetDefinition& rWidgetDefinition)
if (!lcl_fileExists(m_rDefinitionFile)) if (!lcl_fileExists(m_rDefinitionFile))
return false; return false;
SvFileStream aFileStream(m_rDefinitionFile, StreamMode::READ); auto pStyle = std::make_shared<WidgetDefinitionStyle>();
std::unordered_map<OString, Color*> aStyleColorMap = { std::unordered_map<OString, Color*> aStyleColorMap = {
{ "faceColor", &rWidgetDefinition.maFaceColor }, { "faceColor", &pStyle->maFaceColor },
{ "checkedColor", &rWidgetDefinition.maCheckedColor }, { "checkedColor", &pStyle->maCheckedColor },
{ "lightColor", &rWidgetDefinition.maLightColor }, { "lightColor", &pStyle->maLightColor },
{ "lightBorderColor", &rWidgetDefinition.maLightBorderColor }, { "lightBorderColor", &pStyle->maLightBorderColor },
{ "shadowColor", &rWidgetDefinition.maShadowColor }, { "shadowColor", &pStyle->maShadowColor },
{ "darkShadowColor", &rWidgetDefinition.maDarkShadowColor }, { "darkShadowColor", &pStyle->maDarkShadowColor },
{ "buttonTextColor", &rWidgetDefinition.maButtonTextColor }, { "buttonTextColor", &pStyle->maButtonTextColor },
{ "buttonRolloverTextColor", &rWidgetDefinition.maButtonRolloverTextColor }, { "buttonRolloverTextColor", &pStyle->maButtonRolloverTextColor },
{ "radioCheckTextColor", &rWidgetDefinition.maRadioCheckTextColor }, { "radioCheckTextColor", &pStyle->maRadioCheckTextColor },
{ "groupTextColor", &rWidgetDefinition.maGroupTextColor }, { "groupTextColor", &pStyle->maGroupTextColor },
{ "labelTextColor", &rWidgetDefinition.maLabelTextColor }, { "labelTextColor", &pStyle->maLabelTextColor },
{ "windowColor", &rWidgetDefinition.maWindowColor }, { "windowColor", &pStyle->maWindowColor },
{ "windowTextColor", &rWidgetDefinition.maWindowTextColor }, { "windowTextColor", &pStyle->maWindowTextColor },
{ "dialogColor", &rWidgetDefinition.maDialogColor }, { "dialogColor", &pStyle->maDialogColor },
{ "dialogTextColor", &rWidgetDefinition.maDialogTextColor }, { "dialogTextColor", &pStyle->maDialogTextColor },
{ "workspaceColor", &rWidgetDefinition.maWorkspaceColor }, { "workspaceColor", &pStyle->maWorkspaceColor },
{ "monoColor", &rWidgetDefinition.maMonoColor }, { "monoColor", &pStyle->maMonoColor },
{ "fieldColor", &rWidgetDefinition.maFieldColor }, { "fieldColor", &pStyle->maFieldColor },
{ "fieldTextColor", &rWidgetDefinition.maFieldTextColor }, { "fieldTextColor", &pStyle->maFieldTextColor },
{ "fieldRolloverTextColor", &rWidgetDefinition.maFieldRolloverTextColor }, { "fieldRolloverTextColor", &pStyle->maFieldRolloverTextColor },
{ "activeColor", &rWidgetDefinition.maActiveColor }, { "activeColor", &pStyle->maActiveColor },
{ "activeTextColor", &rWidgetDefinition.maActiveTextColor }, { "activeTextColor", &pStyle->maActiveTextColor },
{ "activeBorderColor", &rWidgetDefinition.maActiveBorderColor }, { "activeBorderColor", &pStyle->maActiveBorderColor },
{ "deactiveColor", &rWidgetDefinition.maDeactiveColor }, { "deactiveColor", &pStyle->maDeactiveColor },
{ "deactiveTextColor", &rWidgetDefinition.maDeactiveTextColor }, { "deactiveTextColor", &pStyle->maDeactiveTextColor },
{ "deactiveBorderColor", &rWidgetDefinition.maDeactiveBorderColor }, { "deactiveBorderColor", &pStyle->maDeactiveBorderColor },
{ "menuColor", &rWidgetDefinition.maMenuColor }, { "menuColor", &pStyle->maMenuColor },
{ "menuBarColor", &rWidgetDefinition.maMenuBarColor }, { "menuBarColor", &pStyle->maMenuBarColor },
{ "menuBarRolloverColor", &rWidgetDefinition.maMenuBarRolloverColor }, { "menuBarRolloverColor", &pStyle->maMenuBarRolloverColor },
{ "menuBorderColor", &rWidgetDefinition.maMenuBorderColor }, { "menuBorderColor", &pStyle->maMenuBorderColor },
{ "menuTextColor", &rWidgetDefinition.maMenuTextColor }, { "menuTextColor", &pStyle->maMenuTextColor },
{ "menuBarTextColor", &rWidgetDefinition.maMenuBarTextColor }, { "menuBarTextColor", &pStyle->maMenuBarTextColor },
{ "menuBarRolloverTextColor", &rWidgetDefinition.maMenuBarRolloverTextColor }, { "menuBarRolloverTextColor", &pStyle->maMenuBarRolloverTextColor },
{ "menuBarHighlightTextColor", &rWidgetDefinition.maMenuBarHighlightTextColor }, { "menuBarHighlightTextColor", &pStyle->maMenuBarHighlightTextColor },
{ "menuHighlightColor", &rWidgetDefinition.maMenuHighlightColor }, { "menuHighlightColor", &pStyle->maMenuHighlightColor },
{ "menuHighlightTextColor", &rWidgetDefinition.maMenuHighlightTextColor }, { "menuHighlightTextColor", &pStyle->maMenuHighlightTextColor },
{ "highlightColor", &rWidgetDefinition.maHighlightColor }, { "highlightColor", &pStyle->maHighlightColor },
{ "highlightTextColor", &rWidgetDefinition.maHighlightTextColor }, { "highlightTextColor", &pStyle->maHighlightTextColor },
{ "activeTabColor", &rWidgetDefinition.maActiveTabColor }, { "activeTabColor", &pStyle->maActiveTabColor },
{ "inactiveTabColor", &rWidgetDefinition.maInactiveTabColor }, { "inactiveTabColor", &pStyle->maInactiveTabColor },
{ "tabTextColor", &rWidgetDefinition.maTabTextColor }, { "tabTextColor", &pStyle->maTabTextColor },
{ "tabRolloverTextColor", &rWidgetDefinition.maTabRolloverTextColor }, { "tabRolloverTextColor", &pStyle->maTabRolloverTextColor },
{ "tabHighlightTextColor", &rWidgetDefinition.maTabHighlightTextColor }, { "tabHighlightTextColor", &pStyle->maTabHighlightTextColor },
{ "disableColor", &rWidgetDefinition.maDisableColor }, { "disableColor", &pStyle->maDisableColor },
{ "helpColor", &rWidgetDefinition.maHelpColor }, { "helpColor", &pStyle->maHelpColor },
{ "helpTextColor", &rWidgetDefinition.maHelpTextColor }, { "helpTextColor", &pStyle->maHelpTextColor },
{ "linkColor", &rWidgetDefinition.maLinkColor }, { "linkColor", &pStyle->maLinkColor },
{ "visitedLinkColor", &rWidgetDefinition.maVisitedLinkColor }, { "visitedLinkColor", &pStyle->maVisitedLinkColor },
{ "toolTextColor", &rWidgetDefinition.maToolTextColor }, { "toolTextColor", &pStyle->maToolTextColor },
{ "fontColor", &rWidgetDefinition.maFontColor }, { "fontColor", &pStyle->maFontColor },
}; };
rWidgetDefinition.mpStyle = pStyle;
SvFileStream aFileStream(m_rDefinitionFile, StreamMode::READ);
tools::XmlWalker aWalker; tools::XmlWalker aWalker;
if (!aWalker.open(&aFileStream)) if (!aWalker.open(&aFileStream))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment