make setting the foreground colour of wxTextCtrl in wxGTK work [backport of 1.685 from HEAD]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@46568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -111,6 +111,7 @@ wxMSW:
|
|||||||
|
|
||||||
wxGTK:
|
wxGTK:
|
||||||
|
|
||||||
|
- Setting foreground colour of single line wxTextCtrl now works
|
||||||
- More work on setting defaults in GNOME print dialogs.
|
- More work on setting defaults in GNOME print dialogs.
|
||||||
- Also made landscape printing work as per wxMSW.
|
- Also made landscape printing work as per wxMSW.
|
||||||
- Add support for clipping in GNOME print backend.
|
- Add support for clipping in GNOME print backend.
|
||||||
|
@@ -3874,45 +3874,54 @@ GtkRcStyle *wxWindowGTK::CreateWidgetStyle(bool forceStyle)
|
|||||||
pango_font_description_copy( m_font.GetNativeFontInfo()->description );
|
pango_font_description_copy( m_font.GetNativeFontInfo()->description );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int flagsNormal = 0,
|
||||||
|
flagsPrelight = 0,
|
||||||
|
flagsActive = 0,
|
||||||
|
flagsInsensitive = 0;
|
||||||
|
|
||||||
if ( m_foregroundColour.Ok() )
|
if ( m_foregroundColour.Ok() )
|
||||||
{
|
{
|
||||||
const GdkColor *fg = m_foregroundColour.GetColor();
|
const GdkColor *fg = m_foregroundColour.GetColor();
|
||||||
|
|
||||||
style->fg[GTK_STATE_NORMAL] = *fg;
|
style->fg[GTK_STATE_NORMAL] =
|
||||||
style->color_flags[GTK_STATE_NORMAL] = GTK_RC_FG;
|
style->text[GTK_STATE_NORMAL] = *fg;
|
||||||
|
flagsNormal |= GTK_RC_FG | GTK_RC_TEXT;
|
||||||
|
|
||||||
style->fg[GTK_STATE_PRELIGHT] = *fg;
|
style->fg[GTK_STATE_PRELIGHT] =
|
||||||
style->color_flags[GTK_STATE_PRELIGHT] = GTK_RC_FG;
|
style->text[GTK_STATE_PRELIGHT] = *fg;
|
||||||
|
flagsPrelight |= GTK_RC_FG | GTK_RC_TEXT;
|
||||||
|
|
||||||
style->fg[GTK_STATE_ACTIVE] = *fg;
|
style->fg[GTK_STATE_ACTIVE] =
|
||||||
style->color_flags[GTK_STATE_ACTIVE] = GTK_RC_FG;
|
style->text[GTK_STATE_ACTIVE] = *fg;
|
||||||
|
flagsActive |= GTK_RC_FG | GTK_RC_TEXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( m_backgroundColour.Ok() )
|
if ( m_backgroundColour.Ok() )
|
||||||
{
|
{
|
||||||
const GdkColor *bg = m_backgroundColour.GetColor();
|
const GdkColor *bg = m_backgroundColour.GetColor();
|
||||||
|
|
||||||
style->bg[GTK_STATE_NORMAL] = *bg;
|
style->bg[GTK_STATE_NORMAL] =
|
||||||
style->base[GTK_STATE_NORMAL] = *bg;
|
style->base[GTK_STATE_NORMAL] = *bg;
|
||||||
style->color_flags[GTK_STATE_NORMAL] = (GtkRcFlags)
|
flagsNormal |= GTK_RC_BG | GTK_RC_BASE;
|
||||||
(style->color_flags[GTK_STATE_NORMAL] | GTK_RC_BG | GTK_RC_BASE);
|
|
||||||
|
|
||||||
style->bg[GTK_STATE_PRELIGHT] = *bg;
|
style->bg[GTK_STATE_PRELIGHT] =
|
||||||
style->base[GTK_STATE_PRELIGHT] = *bg;
|
style->base[GTK_STATE_PRELIGHT] = *bg;
|
||||||
style->color_flags[GTK_STATE_PRELIGHT] = (GtkRcFlags)
|
flagsPrelight |= GTK_RC_BG | GTK_RC_BASE;
|
||||||
(style->color_flags[GTK_STATE_PRELIGHT] | GTK_RC_BG | GTK_RC_BASE);
|
|
||||||
|
|
||||||
style->bg[GTK_STATE_ACTIVE] = *bg;
|
style->bg[GTK_STATE_ACTIVE] =
|
||||||
style->base[GTK_STATE_ACTIVE] = *bg;
|
style->base[GTK_STATE_ACTIVE] = *bg;
|
||||||
style->color_flags[GTK_STATE_ACTIVE] = (GtkRcFlags)
|
flagsActive |= GTK_RC_BG | GTK_RC_BASE;
|
||||||
(style->color_flags[GTK_STATE_ACTIVE] | GTK_RC_BG | GTK_RC_BASE);
|
|
||||||
|
|
||||||
style->bg[GTK_STATE_INSENSITIVE] = *bg;
|
style->bg[GTK_STATE_INSENSITIVE] =
|
||||||
style->base[GTK_STATE_INSENSITIVE] = *bg;
|
style->base[GTK_STATE_INSENSITIVE] = *bg;
|
||||||
style->color_flags[GTK_STATE_INSENSITIVE] = (GtkRcFlags)
|
flagsInsensitive |= GTK_RC_BG | GTK_RC_BASE;
|
||||||
(style->color_flags[GTK_STATE_INSENSITIVE] | GTK_RC_BG | GTK_RC_BASE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
style->color_flags[GTK_STATE_NORMAL] = (GtkRcFlags)flagsNormal;
|
||||||
|
style->color_flags[GTK_STATE_PRELIGHT] = (GtkRcFlags)flagsPrelight;
|
||||||
|
style->color_flags[GTK_STATE_ACTIVE] = (GtkRcFlags)flagsActive;
|
||||||
|
style->color_flags[GTK_STATE_INSENSITIVE] = (GtkRcFlags)flagsInsensitive;
|
||||||
|
|
||||||
return style;
|
return style;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user