summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/listbox.hxx2
-rw-r--r--vcl/source/control/combobox.cxx34
-rw-r--r--vcl/source/control/imp_listbox.cxx30
-rw-r--r--vcl/source/control/listbox.cxx22
4 files changed, 88 insertions, 0 deletions
diff --git a/vcl/inc/listbox.hxx b/vcl/inc/listbox.hxx
index fca82a20cf05..8aa23e90cff8 100644
--- a/vcl/inc/listbox.hxx
+++ b/vcl/inc/listbox.hxx
@@ -484,6 +484,8 @@ public:
void SetCallSelectionChangedHdl( bool bCall ) { maLBWindow->GetEntryList().SetCallSelectionChangedHdl( bCall ); }
bool IsSelectionChanged() const { return maLBWindow->IsSelectionChanged(); }
sal_uInt16 GetSelectModifier() const { return maLBWindow->GetSelectModifier(); }
+ void SetHighlightColor(const Color& rColor);
+ void SetHighlightTextColor(const Color& rColor);
void SetMRUEntries( std::u16string_view rEntries, sal_Unicode cSep );
OUString GetMRUEntries( sal_Unicode cSep ) const;
diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index 568b91d6cf31..1a8f7ef0673c 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -1405,6 +1405,40 @@ void ComboBox::SetBorderStyle( WindowBorderStyle nBorderStyle )
}
}
+void ComboBox::SetHighlightColor( const Color& rColor )
+{
+ AllSettings aSettings(GetSettings());
+ StyleSettings aStyle(aSettings.GetStyleSettings());
+ aStyle.SetHighlightColor(rColor);
+ aSettings.SetStyleSettings(aStyle);
+ SetSettings(aSettings);
+
+ AllSettings aSettingsSubEdit(m_pImpl->m_pSubEdit->GetSettings());
+ StyleSettings aStyleSubEdit(aSettingsSubEdit.GetStyleSettings());
+ aStyleSubEdit.SetHighlightColor(rColor);
+ aSettingsSubEdit.SetStyleSettings(aStyleSubEdit);
+ m_pImpl->m_pSubEdit->SetSettings(aSettings);
+
+ m_pImpl->m_pImplLB->SetHighlightColor(rColor);
+}
+
+void ComboBox::SetHighlightTextColor( const Color& rColor )
+{
+ AllSettings aSettings(GetSettings());
+ StyleSettings aStyle(aSettings.GetStyleSettings());
+ aStyle.SetHighlightTextColor(rColor);
+ aSettings.SetStyleSettings(aStyle);
+ SetSettings(aSettings);
+
+ AllSettings aSettingsSubEdit(m_pImpl->m_pSubEdit->GetSettings());
+ StyleSettings aStyleSubEdit(aSettingsSubEdit.GetStyleSettings());
+ aStyleSubEdit.SetHighlightTextColor(rColor);
+ aSettingsSubEdit.SetStyleSettings(aStyleSubEdit);
+ m_pImpl->m_pSubEdit->SetSettings(aSettings);
+
+ m_pImpl->m_pImplLB->SetHighlightTextColor(rColor);
+}
+
ImplListBoxWindow* ComboBox::GetMainWindow() const
{
return m_pImpl->m_pImplLB->GetMainWindow();
diff --git a/vcl/source/control/imp_listbox.cxx b/vcl/source/control/imp_listbox.cxx
index bdc3f833f270..033f477a9185 100644
--- a/vcl/source/control/imp_listbox.cxx
+++ b/vcl/source/control/imp_listbox.cxx
@@ -2477,6 +2477,36 @@ void ImplListBox::SetEdgeBlending(bool bNew)
}
}
+void ImplListBox::SetHighlightColor(const Color& rColor)
+{
+ AllSettings aSettings(GetSettings());
+ StyleSettings aStyle(aSettings.GetStyleSettings());
+ aStyle.SetHighlightColor(rColor);
+ aSettings.SetStyleSettings(aStyle);
+ SetSettings(aSettings);
+
+ AllSettings aSettingsLB(maLBWindow->GetSettings());
+ StyleSettings aStyleLB(aSettingsLB.GetStyleSettings());
+ aStyleLB.SetListBoxWindowHighlightColor(rColor);
+ aSettingsLB.SetStyleSettings(aStyleLB);
+ maLBWindow->SetSettings(aSettingsLB);
+}
+
+void ImplListBox::SetHighlightTextColor(const Color& rColor)
+{
+ AllSettings aSettings(GetSettings());
+ StyleSettings aStyle(aSettings.GetStyleSettings());
+ aStyle.SetHighlightTextColor(rColor);
+ aSettings.SetStyleSettings(aStyle);
+ SetSettings(aSettings);
+
+ AllSettings aSettingsLB(maLBWindow->GetSettings());
+ StyleSettings aStyleLB(aSettingsLB.GetStyleSettings());
+ aStyleLB.SetListBoxWindowHighlightTextColor(rColor);
+ aSettingsLB.SetStyleSettings(aStyleLB);
+ maLBWindow->SetSettings(aSettingsLB);
+}
+
ImplWin::ImplWin( vcl::Window* pParent, WinBits nWinStyle ) :
Control ( pParent, nWinStyle )
{
diff --git a/vcl/source/control/listbox.cxx b/vcl/source/control/listbox.cxx
index 12d8744f5210..e463b2ff958c 100644
--- a/vcl/source/control/listbox.cxx
+++ b/vcl/source/control/listbox.cxx
@@ -1140,6 +1140,28 @@ bool ListBox::IsMultiSelectionEnabled() const
return mpImplLB->IsMultiSelectionEnabled();
}
+void ListBox::SetHighlightColor(const Color& rColor)
+{
+ AllSettings aSettings(GetSettings());
+ StyleSettings aStyle(aSettings.GetStyleSettings());
+ aStyle.SetHighlightColor(rColor);
+ aSettings.SetStyleSettings(aStyle);
+ SetSettings(aSettings);
+
+ mpImplLB->SetHighlightColor(rColor);
+}
+
+void ListBox::SetHighlightTextColor(const Color& rColor)
+{
+ AllSettings aSettings(GetSettings());
+ StyleSettings aStyle(aSettings.GetStyleSettings());
+ aStyle.SetHighlightTextColor(rColor);
+ aSettings.SetStyleSettings(aStyle);
+ SetSettings(aSettings);
+
+ mpImplLB->SetHighlightTextColor(rColor);
+}
+
Size ListBox::CalcMinimumSize() const
{
Size aSz;