void ComboBoxButton::ApplySchemeSettings(IScheme *pScheme) { Button::ApplySchemeSettings(pScheme); SetFont(pScheme->GetFont("Marlett", IsProportional())); SetContentAlignment(Label::a_west); #ifdef OSX SetTextInset(-3, 0); #else SetTextInset(3, 0); #endif SetDefaultBorder(pScheme->GetBorder("ScrollBarButtonBorder")); // arrow changes color but the background doesnt. SetDefaultColor(GetSchemeColor("ComboBoxButton.ArrowColor", pScheme), GetSchemeColor("ComboBoxButton.BgColor", pScheme)); SetArmedColor(GetSchemeColor("ComboBoxButton.ArmedArrowColor", pScheme), GetSchemeColor("ComboBoxButton.BgColor", pScheme)); SetDepressedColor(GetSchemeColor("ComboBoxButton.ArmedArrowColor", pScheme), GetSchemeColor("ComboBoxButton.BgColor", pScheme)); m_DisabledBgColor = GetSchemeColor("ComboBoxButton.DisabledBgColor", pScheme); }
virtual void ApplySchemeSettings( IScheme *pScheme ) { BaseClass::ApplySchemeSettings( pScheme ); HFont marlett = pScheme->GetFont( "Marlett" ); SetFont( marlett ); SetTextInset( 0, 0 ); SetContentAlignment( Label::a_northwest ); if ( GetParent() ) { SetFgColor( pScheme->GetColor( "Button.TextColor", GetParent()->GetFgColor() ) ); SetBgColor( GetParent()->GetBgColor() ); } }
virtual void ApplySchemeSettings(IScheme *pScheme) { // set up the scheme settings Button::ApplySchemeSettings(pScheme); _textColor = GetSchemeColor("PropertySheet.SelectedTextColor", GetFgColor(), pScheme); _dimTextColor = GetSchemeColor("PropertySheet.TextColor", GetFgColor(), pScheme); m_pActiveBorder = pScheme->GetBorder("TabActiveBorder"); m_pNormalBorder = pScheme->GetBorder("TabBorder"); if ( m_pImage ) { ClearImages(); m_pImage->SetImage(scheme()->GetImage(m_pszImageName, false)); AddImage( m_pImage->GetImage(), 2 ); int w, h; m_pImage->GetSize( w, h ); w += m_pContextLabel ? 10 : 0; if ( m_pContextLabel ) { m_pImage->SetPos( 10, 0 ); } SetSize( w + 4, h + 2 ); } else { int wide, tall; int contentWide, contentTall; GetSize(wide, tall); GetContentSize(contentWide, contentTall); wide = max(m_bMaxTabWidth, contentWide + 10); // 10 = 5 pixels margin on each side wide += m_pContextLabel ? 10 : 0; SetSize(wide, tall); } if ( m_pContextLabel ) { SetTextInset( 12, 0 ); } }