separate WidgetDefinitionReader from the actual WidgetDefinition
This separates the functionallity to read the definition from the definition itself. This is needed to have both responisibilities separated so it's easier to work with and test. Change-Id: Id0dd9c17852a8b7479e9d01d4c1726e915d3dc6e Reviewed-on: https://gerrit.libreoffice.org/68681 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
This commit is contained in:
committed by
Tomaž Vajngerl
parent
8a1c18823c
commit
fb6f8a0f15
@@ -22,7 +22,7 @@ class FileDefinitionWidgetDraw : public vcl::WidgetDrawInterface
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
SalGraphics& m_rGraphics;
|
SalGraphics& m_rGraphics;
|
||||||
WidgetDefinitionReader m_WidgetDefinitionReader;
|
WidgetDefinition m_aWidgetDefinition;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FileDefinitionWidgetDraw(SalGraphics& rGraphics);
|
FileDefinitionWidgetDraw(SalGraphics& rGraphics);
|
||||||
|
@@ -109,7 +109,7 @@ public:
|
|||||||
float fY2);
|
float fY2);
|
||||||
};
|
};
|
||||||
|
|
||||||
class VCL_DLLPUBLIC WidgetDefinition
|
class VCL_DLLPUBLIC WidgetDefinitionPart
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
std::vector<std::shared_ptr<WidgetDefinitionState>> getStates(ControlState eState,
|
std::vector<std::shared_ptr<WidgetDefinitionState>> getStates(ControlState eState,
|
||||||
@@ -118,24 +118,8 @@ public:
|
|||||||
std::vector<std::shared_ptr<WidgetDefinitionState>> maStates;
|
std::vector<std::shared_ptr<WidgetDefinitionState>> maStates;
|
||||||
};
|
};
|
||||||
|
|
||||||
class VCL_DLLPUBLIC WidgetDefinitionReader
|
class VCL_DLLPUBLIC WidgetDefinition
|
||||||
{
|
{
|
||||||
private:
|
|
||||||
OUString m_rFilePath;
|
|
||||||
|
|
||||||
static void
|
|
||||||
readDefinition(tools::XmlWalker& rWalker,
|
|
||||||
std::unordered_map<OString, std::shared_ptr<WidgetDefinition>>& rDefinition);
|
|
||||||
|
|
||||||
static void readPart(tools::XmlWalker& rWalker, std::shared_ptr<WidgetDefinition> rpPart);
|
|
||||||
|
|
||||||
void readPushButton(tools::XmlWalker& rWalker);
|
|
||||||
void readRadioButton(tools::XmlWalker& rWalker);
|
|
||||||
void readEditbox(tools::XmlWalker& rWalker);
|
|
||||||
|
|
||||||
static void readDrawingDefinition(tools::XmlWalker& rWalker,
|
|
||||||
std::shared_ptr<WidgetDefinitionState>& rStates);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Color maFaceColor;
|
Color maFaceColor;
|
||||||
Color maCheckedColor;
|
Color maCheckedColor;
|
||||||
@@ -188,16 +172,32 @@ public:
|
|||||||
Color maToolTextColor;
|
Color maToolTextColor;
|
||||||
Color maFontColor;
|
Color maFontColor;
|
||||||
|
|
||||||
std::unordered_map<OString, std::shared_ptr<WidgetDefinition>> maPushButtonDefinitions;
|
std::unordered_map<OString, std::shared_ptr<WidgetDefinitionPart>> maPushButtonDefinitions;
|
||||||
std::unordered_map<OString, std::shared_ptr<WidgetDefinition>> maRadioButtonDefinitions;
|
std::unordered_map<OString, std::shared_ptr<WidgetDefinitionPart>> maRadioButtonDefinitions;
|
||||||
std::unordered_map<OString, std::shared_ptr<WidgetDefinition>> maEditboxDefinitions;
|
std::unordered_map<OString, std::shared_ptr<WidgetDefinitionPart>> maEditboxDefinitions;
|
||||||
|
|
||||||
std::shared_ptr<WidgetDefinition> getPushButtonDefinition(ControlPart ePart);
|
std::shared_ptr<WidgetDefinitionPart> getPushButtonDefinition(ControlPart ePart);
|
||||||
std::shared_ptr<WidgetDefinition> getRadioButtonDefinition(ControlPart ePart);
|
std::shared_ptr<WidgetDefinitionPart> getRadioButtonDefinition(ControlPart ePart);
|
||||||
std::shared_ptr<WidgetDefinition> getEditboxDefinition(ControlPart ePart);
|
std::shared_ptr<WidgetDefinitionPart> getEditboxDefinition(ControlPart ePart);
|
||||||
|
};
|
||||||
|
|
||||||
|
class VCL_DLLPUBLIC WidgetDefinitionReader
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
OUString m_rFilePath;
|
||||||
|
|
||||||
|
static void
|
||||||
|
readDefinition(tools::XmlWalker& rWalker,
|
||||||
|
std::unordered_map<OString, std::shared_ptr<WidgetDefinitionPart>>& rDefinition);
|
||||||
|
|
||||||
|
static void readPart(tools::XmlWalker& rWalker, std::shared_ptr<WidgetDefinitionPart> rpPart);
|
||||||
|
|
||||||
|
static void readDrawingDefinition(tools::XmlWalker& rWalker,
|
||||||
|
std::shared_ptr<WidgetDefinitionState>& rStates);
|
||||||
|
|
||||||
|
public:
|
||||||
WidgetDefinitionReader(OUString const& rFilePath);
|
WidgetDefinitionReader(OUString const& rFilePath);
|
||||||
bool read();
|
bool read(WidgetDefinition& rWidgetDefinition);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // end vcl namespace
|
} // end vcl namespace
|
||||||
|
@@ -37,25 +37,26 @@ public:
|
|||||||
|
|
||||||
void WidgetDefinitionReaderTest::testRead()
|
void WidgetDefinitionReaderTest::testRead()
|
||||||
{
|
{
|
||||||
|
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"));
|
vcl::WidgetDefinitionReader aReader(getFullUrl("definition1.xml"));
|
||||||
|
aReader.read(aDefinition);
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL(OUString("000000"), aReader.maFaceColor.AsRGBHexString());
|
CPPUNIT_ASSERT_EQUAL(OUString("123456"), aDefinition.maFaceColor.AsRGBHexString());
|
||||||
CPPUNIT_ASSERT_EQUAL(OUString("000000"), aReader.maCheckedColor.AsRGBHexString());
|
CPPUNIT_ASSERT_EQUAL(OUString("234567"), aDefinition.maCheckedColor.AsRGBHexString());
|
||||||
CPPUNIT_ASSERT_EQUAL(OUString("000000"), aReader.maLightColor.AsRGBHexString());
|
CPPUNIT_ASSERT_EQUAL(OUString("345678"), aDefinition.maLightColor.AsRGBHexString());
|
||||||
|
|
||||||
aReader.read();
|
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aDefinition.maVisitedLinkColor.AsRGBHexString());
|
||||||
|
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aDefinition.maToolTextColor.AsRGBHexString());
|
||||||
CPPUNIT_ASSERT_EQUAL(OUString("123456"), aReader.maFaceColor.AsRGBHexString());
|
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aDefinition.maFontColor.AsRGBHexString());
|
||||||
CPPUNIT_ASSERT_EQUAL(OUString("234567"), aReader.maCheckedColor.AsRGBHexString());
|
|
||||||
CPPUNIT_ASSERT_EQUAL(OUString("345678"), aReader.maLightColor.AsRGBHexString());
|
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aReader.maVisitedLinkColor.AsRGBHexString());
|
|
||||||
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aReader.maToolTextColor.AsRGBHexString());
|
|
||||||
CPPUNIT_ASSERT_EQUAL(OUString("ffffff"), aReader.maFontColor.AsRGBHexString());
|
|
||||||
|
|
||||||
{
|
{
|
||||||
std::vector<std::shared_ptr<vcl::WidgetDefinitionState>> aStates
|
std::vector<std::shared_ptr<vcl::WidgetDefinitionState>> aStates
|
||||||
= aReader.getPushButtonDefinition(ControlPart::Entire)
|
= aDefinition.getPushButtonDefinition(ControlPart::Entire)
|
||||||
->getStates(ControlState::DEFAULT | ControlState::ENABLED
|
->getStates(ControlState::DEFAULT | ControlState::ENABLED
|
||||||
| ControlState::ROLLOVER,
|
| ControlState::ROLLOVER,
|
||||||
ImplControlValue());
|
ImplControlValue());
|
||||||
@@ -70,7 +71,7 @@ void WidgetDefinitionReaderTest::testRead()
|
|||||||
|
|
||||||
{
|
{
|
||||||
std::vector<std::shared_ptr<vcl::WidgetDefinitionState>> aStates
|
std::vector<std::shared_ptr<vcl::WidgetDefinitionState>> aStates
|
||||||
= aReader.getRadioButtonDefinition(ControlPart::Entire)
|
= aDefinition.getRadioButtonDefinition(ControlPart::Entire)
|
||||||
->getStates(ControlState::NONE, ImplControlValue(ButtonValue::On));
|
->getStates(ControlState::NONE, ImplControlValue(ButtonValue::On));
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(1), aStates.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(1), aStates.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(2), aStates[0]->mpDrawCommands.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(2), aStates[0]->mpDrawCommands.size());
|
||||||
@@ -78,7 +79,7 @@ void WidgetDefinitionReaderTest::testRead()
|
|||||||
|
|
||||||
{
|
{
|
||||||
std::vector<std::shared_ptr<vcl::WidgetDefinitionState>> aStates
|
std::vector<std::shared_ptr<vcl::WidgetDefinitionState>> aStates
|
||||||
= aReader.getRadioButtonDefinition(ControlPart::Entire)
|
= aDefinition.getRadioButtonDefinition(ControlPart::Entire)
|
||||||
->getStates(ControlState::NONE, ImplControlValue(ButtonValue::Off));
|
->getStates(ControlState::NONE, ImplControlValue(ButtonValue::Off));
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(1), aStates.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(1), aStates.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(1), aStates[0]->mpDrawCommands.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(1), aStates[0]->mpDrawCommands.size());
|
||||||
|
@@ -30,9 +30,9 @@ OUString lcl_getThemeDefinitionPath()
|
|||||||
|
|
||||||
FileDefinitionWidgetDraw::FileDefinitionWidgetDraw(SalGraphics& rGraphics)
|
FileDefinitionWidgetDraw::FileDefinitionWidgetDraw(SalGraphics& rGraphics)
|
||||||
: m_rGraphics(rGraphics)
|
: m_rGraphics(rGraphics)
|
||||||
, m_WidgetDefinitionReader(lcl_getThemeDefinitionPath() + "definition.xml")
|
|
||||||
{
|
{
|
||||||
m_WidgetDefinitionReader.read();
|
WidgetDefinitionReader aReader(lcl_getThemeDefinitionPath() + "definition.xml");
|
||||||
|
aReader.read(m_aWidgetDefinition);
|
||||||
|
|
||||||
ImplSVData* pSVData = ImplGetSVData();
|
ImplSVData* pSVData = ImplGetSVData();
|
||||||
pSVData->maNWFData.mbNoFocusRects = true;
|
pSVData->maNWFData.mbNoFocusRects = true;
|
||||||
@@ -196,11 +196,11 @@ bool FileDefinitionWidgetDraw::drawNativeControl(ControlType eType, ControlPart
|
|||||||
break;
|
break;
|
||||||
case ControlType::Pushbutton:
|
case ControlType::Pushbutton:
|
||||||
{
|
{
|
||||||
std::shared_ptr<WidgetDefinition> pDefinition
|
std::shared_ptr<WidgetDefinitionPart> pPart
|
||||||
= m_WidgetDefinitionReader.getPushButtonDefinition(ePart);
|
= m_aWidgetDefinition.getPushButtonDefinition(ePart);
|
||||||
if (pDefinition)
|
if (pPart)
|
||||||
{
|
{
|
||||||
auto aStates = pDefinition->getStates(eState, rValue);
|
auto aStates = pPart->getStates(eState, rValue);
|
||||||
if (!aStates.empty())
|
if (!aStates.empty())
|
||||||
{
|
{
|
||||||
std::shared_ptr<WidgetDefinitionState> pState = aStates.back();
|
std::shared_ptr<WidgetDefinitionState> pState = aStates.back();
|
||||||
@@ -215,12 +215,12 @@ bool FileDefinitionWidgetDraw::drawNativeControl(ControlType eType, ControlPart
|
|||||||
break;
|
break;
|
||||||
case ControlType::Radiobutton:
|
case ControlType::Radiobutton:
|
||||||
{
|
{
|
||||||
std::shared_ptr<WidgetDefinition> pDefinition
|
std::shared_ptr<WidgetDefinitionPart> pPart
|
||||||
= m_WidgetDefinitionReader.getRadioButtonDefinition(ePart);
|
= m_aWidgetDefinition.getRadioButtonDefinition(ePart);
|
||||||
if (pDefinition)
|
if (pPart)
|
||||||
{
|
{
|
||||||
std::shared_ptr<WidgetDefinitionState> pState
|
std::shared_ptr<WidgetDefinitionState> pState
|
||||||
= pDefinition->getStates(eState, rValue).back();
|
= pPart->getStates(eState, rValue).back();
|
||||||
{
|
{
|
||||||
munchDrawCommands(pState->mpDrawCommands, m_rGraphics, nX, nY, nWidth, nHeight);
|
munchDrawCommands(pState->mpDrawCommands, m_rGraphics, nX, nY, nWidth, nHeight);
|
||||||
bOK = true;
|
bOK = true;
|
||||||
@@ -235,12 +235,12 @@ bool FileDefinitionWidgetDraw::drawNativeControl(ControlType eType, ControlPart
|
|||||||
case ControlType::EditboxNoBorder:
|
case ControlType::EditboxNoBorder:
|
||||||
case ControlType::MultilineEditbox:
|
case ControlType::MultilineEditbox:
|
||||||
{
|
{
|
||||||
std::shared_ptr<WidgetDefinition> pDefinition
|
std::shared_ptr<WidgetDefinitionPart> pPart
|
||||||
= m_WidgetDefinitionReader.getEditboxDefinition(ePart);
|
= m_aWidgetDefinition.getEditboxDefinition(ePart);
|
||||||
if (pDefinition)
|
if (pPart)
|
||||||
{
|
{
|
||||||
std::shared_ptr<WidgetDefinitionState> pState
|
std::shared_ptr<WidgetDefinitionState> pState
|
||||||
= pDefinition->getStates(eState, rValue).back();
|
= pPart->getStates(eState, rValue).back();
|
||||||
{
|
{
|
||||||
munchDrawCommands(pState->mpDrawCommands, m_rGraphics, nX, nY, nWidth, nHeight);
|
munchDrawCommands(pState->mpDrawCommands, m_rGraphics, nX, nY, nWidth, nHeight);
|
||||||
bOK = true;
|
bOK = true;
|
||||||
@@ -294,56 +294,56 @@ bool FileDefinitionWidgetDraw::updateSettings(AllSettings& rSettings)
|
|||||||
{
|
{
|
||||||
StyleSettings aStyleSet = rSettings.GetStyleSettings();
|
StyleSettings aStyleSet = rSettings.GetStyleSettings();
|
||||||
|
|
||||||
aStyleSet.SetFaceColor(m_WidgetDefinitionReader.maFaceColor);
|
aStyleSet.SetFaceColor(m_aWidgetDefinition.maFaceColor);
|
||||||
aStyleSet.SetCheckedColor(m_WidgetDefinitionReader.maCheckedColor);
|
aStyleSet.SetCheckedColor(m_aWidgetDefinition.maCheckedColor);
|
||||||
aStyleSet.SetLightColor(m_WidgetDefinitionReader.maLightColor);
|
aStyleSet.SetLightColor(m_aWidgetDefinition.maLightColor);
|
||||||
aStyleSet.SetLightBorderColor(m_WidgetDefinitionReader.maLightBorderColor);
|
aStyleSet.SetLightBorderColor(m_aWidgetDefinition.maLightBorderColor);
|
||||||
aStyleSet.SetShadowColor(m_WidgetDefinitionReader.maShadowColor);
|
aStyleSet.SetShadowColor(m_aWidgetDefinition.maShadowColor);
|
||||||
aStyleSet.SetDarkShadowColor(m_WidgetDefinitionReader.maDarkShadowColor);
|
aStyleSet.SetDarkShadowColor(m_aWidgetDefinition.maDarkShadowColor);
|
||||||
aStyleSet.SetButtonTextColor(m_WidgetDefinitionReader.maButtonTextColor);
|
aStyleSet.SetButtonTextColor(m_aWidgetDefinition.maButtonTextColor);
|
||||||
aStyleSet.SetButtonRolloverTextColor(m_WidgetDefinitionReader.maButtonRolloverTextColor);
|
aStyleSet.SetButtonRolloverTextColor(m_aWidgetDefinition.maButtonRolloverTextColor);
|
||||||
aStyleSet.SetRadioCheckTextColor(m_WidgetDefinitionReader.maRadioCheckTextColor);
|
aStyleSet.SetRadioCheckTextColor(m_aWidgetDefinition.maRadioCheckTextColor);
|
||||||
aStyleSet.SetGroupTextColor(m_WidgetDefinitionReader.maGroupTextColor);
|
aStyleSet.SetGroupTextColor(m_aWidgetDefinition.maGroupTextColor);
|
||||||
aStyleSet.SetLabelTextColor(m_WidgetDefinitionReader.maLabelTextColor);
|
aStyleSet.SetLabelTextColor(m_aWidgetDefinition.maLabelTextColor);
|
||||||
aStyleSet.SetWindowColor(m_WidgetDefinitionReader.maWindowColor);
|
aStyleSet.SetWindowColor(m_aWidgetDefinition.maWindowColor);
|
||||||
aStyleSet.SetWindowTextColor(m_WidgetDefinitionReader.maWindowTextColor);
|
aStyleSet.SetWindowTextColor(m_aWidgetDefinition.maWindowTextColor);
|
||||||
aStyleSet.SetDialogColor(m_WidgetDefinitionReader.maDialogColor);
|
aStyleSet.SetDialogColor(m_aWidgetDefinition.maDialogColor);
|
||||||
aStyleSet.SetDialogTextColor(m_WidgetDefinitionReader.maDialogTextColor);
|
aStyleSet.SetDialogTextColor(m_aWidgetDefinition.maDialogTextColor);
|
||||||
aStyleSet.SetWorkspaceColor(m_WidgetDefinitionReader.maWorkspaceColor);
|
aStyleSet.SetWorkspaceColor(m_aWidgetDefinition.maWorkspaceColor);
|
||||||
aStyleSet.SetMonoColor(m_WidgetDefinitionReader.maMonoColor);
|
aStyleSet.SetMonoColor(m_aWidgetDefinition.maMonoColor);
|
||||||
aStyleSet.SetFieldColor(m_WidgetDefinitionReader.maFieldColor);
|
aStyleSet.SetFieldColor(m_aWidgetDefinition.maFieldColor);
|
||||||
aStyleSet.SetFieldTextColor(m_WidgetDefinitionReader.maFieldTextColor);
|
aStyleSet.SetFieldTextColor(m_aWidgetDefinition.maFieldTextColor);
|
||||||
aStyleSet.SetFieldRolloverTextColor(m_WidgetDefinitionReader.maFieldRolloverTextColor);
|
aStyleSet.SetFieldRolloverTextColor(m_aWidgetDefinition.maFieldRolloverTextColor);
|
||||||
aStyleSet.SetActiveColor(m_WidgetDefinitionReader.maActiveColor);
|
aStyleSet.SetActiveColor(m_aWidgetDefinition.maActiveColor);
|
||||||
aStyleSet.SetActiveTextColor(m_WidgetDefinitionReader.maActiveTextColor);
|
aStyleSet.SetActiveTextColor(m_aWidgetDefinition.maActiveTextColor);
|
||||||
aStyleSet.SetActiveBorderColor(m_WidgetDefinitionReader.maActiveBorderColor);
|
aStyleSet.SetActiveBorderColor(m_aWidgetDefinition.maActiveBorderColor);
|
||||||
aStyleSet.SetDeactiveColor(m_WidgetDefinitionReader.maDeactiveColor);
|
aStyleSet.SetDeactiveColor(m_aWidgetDefinition.maDeactiveColor);
|
||||||
aStyleSet.SetDeactiveTextColor(m_WidgetDefinitionReader.maDeactiveTextColor);
|
aStyleSet.SetDeactiveTextColor(m_aWidgetDefinition.maDeactiveTextColor);
|
||||||
aStyleSet.SetDeactiveBorderColor(m_WidgetDefinitionReader.maDeactiveBorderColor);
|
aStyleSet.SetDeactiveBorderColor(m_aWidgetDefinition.maDeactiveBorderColor);
|
||||||
aStyleSet.SetMenuColor(m_WidgetDefinitionReader.maMenuColor);
|
aStyleSet.SetMenuColor(m_aWidgetDefinition.maMenuColor);
|
||||||
aStyleSet.SetMenuBarColor(m_WidgetDefinitionReader.maMenuBarColor);
|
aStyleSet.SetMenuBarColor(m_aWidgetDefinition.maMenuBarColor);
|
||||||
aStyleSet.SetMenuBarRolloverColor(m_WidgetDefinitionReader.maMenuBarRolloverColor);
|
aStyleSet.SetMenuBarRolloverColor(m_aWidgetDefinition.maMenuBarRolloverColor);
|
||||||
aStyleSet.SetMenuBorderColor(m_WidgetDefinitionReader.maMenuBorderColor);
|
aStyleSet.SetMenuBorderColor(m_aWidgetDefinition.maMenuBorderColor);
|
||||||
aStyleSet.SetMenuTextColor(m_WidgetDefinitionReader.maMenuTextColor);
|
aStyleSet.SetMenuTextColor(m_aWidgetDefinition.maMenuTextColor);
|
||||||
aStyleSet.SetMenuBarTextColor(m_WidgetDefinitionReader.maMenuBarTextColor);
|
aStyleSet.SetMenuBarTextColor(m_aWidgetDefinition.maMenuBarTextColor);
|
||||||
aStyleSet.SetMenuBarRolloverTextColor(m_WidgetDefinitionReader.maMenuBarRolloverTextColor);
|
aStyleSet.SetMenuBarRolloverTextColor(m_aWidgetDefinition.maMenuBarRolloverTextColor);
|
||||||
aStyleSet.SetMenuBarHighlightTextColor(m_WidgetDefinitionReader.maMenuBarHighlightTextColor);
|
aStyleSet.SetMenuBarHighlightTextColor(m_aWidgetDefinition.maMenuBarHighlightTextColor);
|
||||||
aStyleSet.SetMenuHighlightColor(m_WidgetDefinitionReader.maMenuHighlightColor);
|
aStyleSet.SetMenuHighlightColor(m_aWidgetDefinition.maMenuHighlightColor);
|
||||||
aStyleSet.SetMenuHighlightTextColor(m_WidgetDefinitionReader.maMenuHighlightTextColor);
|
aStyleSet.SetMenuHighlightTextColor(m_aWidgetDefinition.maMenuHighlightTextColor);
|
||||||
aStyleSet.SetHighlightColor(m_WidgetDefinitionReader.maHighlightColor);
|
aStyleSet.SetHighlightColor(m_aWidgetDefinition.maHighlightColor);
|
||||||
aStyleSet.SetHighlightTextColor(m_WidgetDefinitionReader.maHighlightTextColor);
|
aStyleSet.SetHighlightTextColor(m_aWidgetDefinition.maHighlightTextColor);
|
||||||
aStyleSet.SetActiveTabColor(m_WidgetDefinitionReader.maActiveTabColor);
|
aStyleSet.SetActiveTabColor(m_aWidgetDefinition.maActiveTabColor);
|
||||||
aStyleSet.SetInactiveTabColor(m_WidgetDefinitionReader.maInactiveTabColor);
|
aStyleSet.SetInactiveTabColor(m_aWidgetDefinition.maInactiveTabColor);
|
||||||
aStyleSet.SetTabTextColor(m_WidgetDefinitionReader.maTabTextColor);
|
aStyleSet.SetTabTextColor(m_aWidgetDefinition.maTabTextColor);
|
||||||
aStyleSet.SetTabRolloverTextColor(m_WidgetDefinitionReader.maTabRolloverTextColor);
|
aStyleSet.SetTabRolloverTextColor(m_aWidgetDefinition.maTabRolloverTextColor);
|
||||||
aStyleSet.SetTabHighlightTextColor(m_WidgetDefinitionReader.maTabHighlightTextColor);
|
aStyleSet.SetTabHighlightTextColor(m_aWidgetDefinition.maTabHighlightTextColor);
|
||||||
aStyleSet.SetDisableColor(m_WidgetDefinitionReader.maDisableColor);
|
aStyleSet.SetDisableColor(m_aWidgetDefinition.maDisableColor);
|
||||||
aStyleSet.SetHelpColor(m_WidgetDefinitionReader.maHelpColor);
|
aStyleSet.SetHelpColor(m_aWidgetDefinition.maHelpColor);
|
||||||
aStyleSet.SetHelpTextColor(m_WidgetDefinitionReader.maHelpTextColor);
|
aStyleSet.SetHelpTextColor(m_aWidgetDefinition.maHelpTextColor);
|
||||||
aStyleSet.SetLinkColor(m_WidgetDefinitionReader.maLinkColor);
|
aStyleSet.SetLinkColor(m_aWidgetDefinition.maLinkColor);
|
||||||
aStyleSet.SetVisitedLinkColor(m_WidgetDefinitionReader.maVisitedLinkColor);
|
aStyleSet.SetVisitedLinkColor(m_aWidgetDefinition.maVisitedLinkColor);
|
||||||
aStyleSet.SetToolTextColor(m_WidgetDefinitionReader.maToolTextColor);
|
aStyleSet.SetToolTextColor(m_aWidgetDefinition.maToolTextColor);
|
||||||
aStyleSet.SetFontColor(m_WidgetDefinitionReader.maFontColor);
|
aStyleSet.SetFontColor(m_aWidgetDefinition.maFontColor);
|
||||||
|
|
||||||
rSettings.SetStyleSettings(aStyleSet);
|
rSettings.SetStyleSettings(aStyleSet);
|
||||||
|
|
||||||
|
@@ -146,7 +146,7 @@ void WidgetDefinitionReader::readDrawingDefinition(tools::XmlWalker& rWalker,
|
|||||||
|
|
||||||
void WidgetDefinitionReader::readDefinition(
|
void WidgetDefinitionReader::readDefinition(
|
||||||
tools::XmlWalker& rWalker,
|
tools::XmlWalker& rWalker,
|
||||||
std::unordered_map<OString, std::shared_ptr<WidgetDefinition>>& rDefinition)
|
std::unordered_map<OString, std::shared_ptr<WidgetDefinitionPart>>& rPart)
|
||||||
{
|
{
|
||||||
rWalker.children();
|
rWalker.children();
|
||||||
while (rWalker.isValid())
|
while (rWalker.isValid())
|
||||||
@@ -154,8 +154,8 @@ void WidgetDefinitionReader::readDefinition(
|
|||||||
if (rWalker.name() == "part")
|
if (rWalker.name() == "part")
|
||||||
{
|
{
|
||||||
OString sPart = rWalker.attribute("value");
|
OString sPart = rWalker.attribute("value");
|
||||||
std::shared_ptr<WidgetDefinition> pPart = std::make_shared<WidgetDefinition>();
|
std::shared_ptr<WidgetDefinitionPart> pPart = std::make_shared<WidgetDefinitionPart>();
|
||||||
rDefinition.emplace(sPart, pPart);
|
rPart.emplace(sPart, pPart);
|
||||||
readPart(rWalker, pPart);
|
readPart(rWalker, pPart);
|
||||||
}
|
}
|
||||||
rWalker.next();
|
rWalker.next();
|
||||||
@@ -164,7 +164,7 @@ void WidgetDefinitionReader::readDefinition(
|
|||||||
}
|
}
|
||||||
|
|
||||||
void WidgetDefinitionReader::readPart(tools::XmlWalker& rWalker,
|
void WidgetDefinitionReader::readPart(tools::XmlWalker& rWalker,
|
||||||
std::shared_ptr<WidgetDefinition> rpPart)
|
std::shared_ptr<WidgetDefinitionPart> rpPart)
|
||||||
{
|
{
|
||||||
rWalker.children();
|
rWalker.children();
|
||||||
while (rWalker.isValid())
|
while (rWalker.isValid())
|
||||||
@@ -189,22 +189,7 @@ void WidgetDefinitionReader::readPart(tools::XmlWalker& rWalker,
|
|||||||
rWalker.parent();
|
rWalker.parent();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WidgetDefinitionReader::readPushButton(tools::XmlWalker& rWalker)
|
bool WidgetDefinitionReader::read(WidgetDefinition& rWidgetDefinition)
|
||||||
{
|
|
||||||
readDefinition(rWalker, maPushButtonDefinitions);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WidgetDefinitionReader::readRadioButton(tools::XmlWalker& rWalker)
|
|
||||||
{
|
|
||||||
readDefinition(rWalker, maRadioButtonDefinitions);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WidgetDefinitionReader::readEditbox(tools::XmlWalker& rWalker)
|
|
||||||
{
|
|
||||||
readDefinition(rWalker, maEditboxDefinitions);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool WidgetDefinitionReader::read()
|
|
||||||
{
|
{
|
||||||
if (!lcl_fileExists(m_rFilePath))
|
if (!lcl_fileExists(m_rFilePath))
|
||||||
return false;
|
return false;
|
||||||
@@ -212,56 +197,56 @@ bool WidgetDefinitionReader::read()
|
|||||||
SvFileStream aFileStream(m_rFilePath, StreamMode::READ);
|
SvFileStream aFileStream(m_rFilePath, StreamMode::READ);
|
||||||
|
|
||||||
std::unordered_map<OString, Color*> aStyleColorMap = {
|
std::unordered_map<OString, Color*> aStyleColorMap = {
|
||||||
{ "faceColor", &maFaceColor },
|
{ "faceColor", &rWidgetDefinition.maFaceColor },
|
||||||
{ "checkedColor", &maCheckedColor },
|
{ "checkedColor", &rWidgetDefinition.maCheckedColor },
|
||||||
{ "lightColor", &maLightColor },
|
{ "lightColor", &rWidgetDefinition.maLightColor },
|
||||||
{ "lightBorderColor", &maLightBorderColor },
|
{ "lightBorderColor", &rWidgetDefinition.maLightBorderColor },
|
||||||
{ "shadowColor", &maShadowColor },
|
{ "shadowColor", &rWidgetDefinition.maShadowColor },
|
||||||
{ "darkShadowColor", &maDarkShadowColor },
|
{ "darkShadowColor", &rWidgetDefinition.maDarkShadowColor },
|
||||||
{ "buttonTextColor", &maButtonTextColor },
|
{ "buttonTextColor", &rWidgetDefinition.maButtonTextColor },
|
||||||
{ "buttonRolloverTextColor", &maButtonRolloverTextColor },
|
{ "buttonRolloverTextColor", &rWidgetDefinition.maButtonRolloverTextColor },
|
||||||
{ "radioCheckTextColor", &maRadioCheckTextColor },
|
{ "radioCheckTextColor", &rWidgetDefinition.maRadioCheckTextColor },
|
||||||
{ "groupTextColor", &maGroupTextColor },
|
{ "groupTextColor", &rWidgetDefinition.maGroupTextColor },
|
||||||
{ "labelTextColor", &maLabelTextColor },
|
{ "labelTextColor", &rWidgetDefinition.maLabelTextColor },
|
||||||
{ "windowColor", &maWindowColor },
|
{ "windowColor", &rWidgetDefinition.maWindowColor },
|
||||||
{ "windowTextColor", &maWindowTextColor },
|
{ "windowTextColor", &rWidgetDefinition.maWindowTextColor },
|
||||||
{ "dialogColor", &maDialogColor },
|
{ "dialogColor", &rWidgetDefinition.maDialogColor },
|
||||||
{ "dialogTextColor", &maDialogTextColor },
|
{ "dialogTextColor", &rWidgetDefinition.maDialogTextColor },
|
||||||
{ "workspaceColor", &maWorkspaceColor },
|
{ "workspaceColor", &rWidgetDefinition.maWorkspaceColor },
|
||||||
{ "monoColor", &maMonoColor },
|
{ "monoColor", &rWidgetDefinition.maMonoColor },
|
||||||
{ "fieldColor", &maFieldColor },
|
{ "fieldColor", &rWidgetDefinition.maFieldColor },
|
||||||
{ "fieldTextColor", &maFieldTextColor },
|
{ "fieldTextColor", &rWidgetDefinition.maFieldTextColor },
|
||||||
{ "fieldRolloverTextColor", &maFieldRolloverTextColor },
|
{ "fieldRolloverTextColor", &rWidgetDefinition.maFieldRolloverTextColor },
|
||||||
{ "activeColor", &maActiveColor },
|
{ "activeColor", &rWidgetDefinition.maActiveColor },
|
||||||
{ "activeTextColor", &maActiveTextColor },
|
{ "activeTextColor", &rWidgetDefinition.maActiveTextColor },
|
||||||
{ "activeBorderColor", &maActiveBorderColor },
|
{ "activeBorderColor", &rWidgetDefinition.maActiveBorderColor },
|
||||||
{ "deactiveColor", &maDeactiveColor },
|
{ "deactiveColor", &rWidgetDefinition.maDeactiveColor },
|
||||||
{ "deactiveTextColor", &maDeactiveTextColor },
|
{ "deactiveTextColor", &rWidgetDefinition.maDeactiveTextColor },
|
||||||
{ "deactiveBorderColor", &maDeactiveBorderColor },
|
{ "deactiveBorderColor", &rWidgetDefinition.maDeactiveBorderColor },
|
||||||
{ "menuColor", &maMenuColor },
|
{ "menuColor", &rWidgetDefinition.maMenuColor },
|
||||||
{ "menuBarColor", &maMenuBarColor },
|
{ "menuBarColor", &rWidgetDefinition.maMenuBarColor },
|
||||||
{ "menuBarRolloverColor", &maMenuBarRolloverColor },
|
{ "menuBarRolloverColor", &rWidgetDefinition.maMenuBarRolloverColor },
|
||||||
{ "menuBorderColor", &maMenuBorderColor },
|
{ "menuBorderColor", &rWidgetDefinition.maMenuBorderColor },
|
||||||
{ "menuTextColor", &maMenuTextColor },
|
{ "menuTextColor", &rWidgetDefinition.maMenuTextColor },
|
||||||
{ "menuBarTextColor", &maMenuBarTextColor },
|
{ "menuBarTextColor", &rWidgetDefinition.maMenuBarTextColor },
|
||||||
{ "menuBarRolloverTextColor", &maMenuBarRolloverTextColor },
|
{ "menuBarRolloverTextColor", &rWidgetDefinition.maMenuBarRolloverTextColor },
|
||||||
{ "menuBarHighlightTextColor", &maMenuBarHighlightTextColor },
|
{ "menuBarHighlightTextColor", &rWidgetDefinition.maMenuBarHighlightTextColor },
|
||||||
{ "menuHighlightColor", &maMenuHighlightColor },
|
{ "menuHighlightColor", &rWidgetDefinition.maMenuHighlightColor },
|
||||||
{ "menuHighlightTextColor", &maMenuHighlightTextColor },
|
{ "menuHighlightTextColor", &rWidgetDefinition.maMenuHighlightTextColor },
|
||||||
{ "highlightColor", &maHighlightColor },
|
{ "highlightColor", &rWidgetDefinition.maHighlightColor },
|
||||||
{ "highlightTextColor", &maHighlightTextColor },
|
{ "highlightTextColor", &rWidgetDefinition.maHighlightTextColor },
|
||||||
{ "activeTabColor", &maActiveTabColor },
|
{ "activeTabColor", &rWidgetDefinition.maActiveTabColor },
|
||||||
{ "inactiveTabColor", &maInactiveTabColor },
|
{ "inactiveTabColor", &rWidgetDefinition.maInactiveTabColor },
|
||||||
{ "tabTextColor", &maTabTextColor },
|
{ "tabTextColor", &rWidgetDefinition.maTabTextColor },
|
||||||
{ "tabRolloverTextColor", &maTabRolloverTextColor },
|
{ "tabRolloverTextColor", &rWidgetDefinition.maTabRolloverTextColor },
|
||||||
{ "tabHighlightTextColor", &maTabHighlightTextColor },
|
{ "tabHighlightTextColor", &rWidgetDefinition.maTabHighlightTextColor },
|
||||||
{ "disableColor", &maDisableColor },
|
{ "disableColor", &rWidgetDefinition.maDisableColor },
|
||||||
{ "helpColor", &maHelpColor },
|
{ "helpColor", &rWidgetDefinition.maHelpColor },
|
||||||
{ "helpTextColor", &maHelpTextColor },
|
{ "helpTextColor", &rWidgetDefinition.maHelpTextColor },
|
||||||
{ "linkColor", &maLinkColor },
|
{ "linkColor", &rWidgetDefinition.maLinkColor },
|
||||||
{ "visitedLinkColor", &maVisitedLinkColor },
|
{ "visitedLinkColor", &rWidgetDefinition.maVisitedLinkColor },
|
||||||
{ "toolTextColor", &maToolTextColor },
|
{ "toolTextColor", &rWidgetDefinition.maToolTextColor },
|
||||||
{ "fontColor", &maFontColor },
|
{ "fontColor", &rWidgetDefinition.maFontColor },
|
||||||
};
|
};
|
||||||
|
|
||||||
tools::XmlWalker aWalker;
|
tools::XmlWalker aWalker;
|
||||||
@@ -290,15 +275,15 @@ bool WidgetDefinitionReader::read()
|
|||||||
}
|
}
|
||||||
else if (aWalker.name() == "pushbutton")
|
else if (aWalker.name() == "pushbutton")
|
||||||
{
|
{
|
||||||
readPushButton(aWalker);
|
readDefinition(aWalker, rWidgetDefinition.maPushButtonDefinitions);
|
||||||
}
|
}
|
||||||
else if (aWalker.name() == "radiobutton")
|
else if (aWalker.name() == "radiobutton")
|
||||||
{
|
{
|
||||||
readRadioButton(aWalker);
|
readDefinition(aWalker, rWidgetDefinition.maRadioButtonDefinitions);
|
||||||
}
|
}
|
||||||
else if (aWalker.name() == "editbox")
|
else if (aWalker.name() == "editbox")
|
||||||
{
|
{
|
||||||
readEditbox(aWalker);
|
readDefinition(aWalker, rWidgetDefinition.maEditboxDefinitions);
|
||||||
}
|
}
|
||||||
aWalker.next();
|
aWalker.next();
|
||||||
}
|
}
|
||||||
@@ -392,36 +377,35 @@ OString xmlControlPart(ControlPart ePart)
|
|||||||
|
|
||||||
} // end anonymous namespace
|
} // end anonymous namespace
|
||||||
|
|
||||||
std::shared_ptr<WidgetDefinition> WidgetDefinitionReader::getPushButtonDefinition(ControlPart ePart)
|
std::shared_ptr<WidgetDefinitionPart> WidgetDefinition::getPushButtonDefinition(ControlPart ePart)
|
||||||
{
|
{
|
||||||
auto aIterator = maPushButtonDefinitions.find(xmlControlPart(ePart));
|
auto aIterator = maPushButtonDefinitions.find(xmlControlPart(ePart));
|
||||||
|
|
||||||
if (aIterator != maPushButtonDefinitions.end())
|
if (aIterator != maPushButtonDefinitions.end())
|
||||||
return aIterator->second;
|
return aIterator->second;
|
||||||
return std::shared_ptr<WidgetDefinition>();
|
return std::shared_ptr<WidgetDefinitionPart>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<WidgetDefinition>
|
std::shared_ptr<WidgetDefinitionPart> WidgetDefinition::getRadioButtonDefinition(ControlPart ePart)
|
||||||
WidgetDefinitionReader::getRadioButtonDefinition(ControlPart ePart)
|
|
||||||
{
|
{
|
||||||
auto aIterator = maRadioButtonDefinitions.find(xmlControlPart(ePart));
|
auto aIterator = maRadioButtonDefinitions.find(xmlControlPart(ePart));
|
||||||
|
|
||||||
if (aIterator != maRadioButtonDefinitions.end())
|
if (aIterator != maRadioButtonDefinitions.end())
|
||||||
return aIterator->second;
|
return aIterator->second;
|
||||||
return std::shared_ptr<WidgetDefinition>();
|
return std::shared_ptr<WidgetDefinitionPart>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<WidgetDefinition> WidgetDefinitionReader::getEditboxDefinition(ControlPart ePart)
|
std::shared_ptr<WidgetDefinitionPart> WidgetDefinition::getEditboxDefinition(ControlPart ePart)
|
||||||
{
|
{
|
||||||
auto aIterator = maEditboxDefinitions.find(xmlControlPart(ePart));
|
auto aIterator = maEditboxDefinitions.find(xmlControlPart(ePart));
|
||||||
|
|
||||||
if (aIterator != maEditboxDefinitions.end())
|
if (aIterator != maEditboxDefinitions.end())
|
||||||
return aIterator->second;
|
return aIterator->second;
|
||||||
return std::shared_ptr<WidgetDefinition>();
|
return std::shared_ptr<WidgetDefinitionPart>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::shared_ptr<WidgetDefinitionState>>
|
std::vector<std::shared_ptr<WidgetDefinitionState>>
|
||||||
WidgetDefinition::getStates(ControlState eState, ImplControlValue const& rValue)
|
WidgetDefinitionPart::getStates(ControlState eState, ImplControlValue const& rValue)
|
||||||
{
|
{
|
||||||
std::vector<std::shared_ptr<WidgetDefinitionState>> aStatesToAdd;
|
std::vector<std::shared_ptr<WidgetDefinitionState>> aStatesToAdd;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user