diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/listbox.hxx | 2 | ||||
-rw-r--r-- | vcl/source/control/combobox.cxx | 34 | ||||
-rw-r--r-- | vcl/source/control/imp_listbox.cxx | 30 | ||||
-rw-r--r-- | vcl/source/control/listbox.cxx | 22 |
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; |