From 41d7e103c09f23f158afd6df442275cc86a66937 Mon Sep 17 00:00:00 2001 From: trustable-code Date: Sat, 31 Aug 2019 15:42:20 +0200 Subject: Rework initialization of colors --- src/nigui/private/gtk3/platform_impl.nim | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/nigui/private/gtk3') diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim index 098f02c..25d875f 100755 --- a/src/nigui/private/gtk3/platform_impl.nim +++ b/src/nigui/private/gtk3/platform_impl.nim @@ -867,7 +867,6 @@ proc pUpdateFont(control: ControlImpl) = gtk_widget_modify_font(control.fHandle, font) var rgba: GdkRGBA control.textColor.pColorToGdkRGBA(rgba) - gtk_widget_override_color(control.fHandle, GTK_STATE_FLAG_NORMAL, rgba) method pAddButtonPressEvent(control: ControlImpl) = gtk_widget_add_events(control.fHandle, GDK_BUTTON_PRESS_MASK) @@ -1043,7 +1042,9 @@ method setFontBold(control: ControlImpl, fontBold: bool) = method setTextColor(control: ControlImpl, color: Color) = procCall control.Control.setTextColor(color) - control.pUpdateFont() + var rgba: GdkRGBA + color.pColorToGdkRGBA(rgba) + gtk_widget_override_color(control.fHandle, GTK_STATE_FLAG_NORMAL, rgba) method `setBackgroundColor`(control: ControlImpl, color: Color) = procCall control.Control.setBackgroundColor(color) @@ -1258,6 +1259,17 @@ proc init(textBox: NativeTextBox) = discard g_signal_connect_data(textBox.fHandle, "changed", pControlChangedSignal, cast[pointer](textBox)) textBox.TextBox.init() +method initStyle(textBox: NativeTextBox) = + procCall textBox.TextBox.initStyle() + var context = gtk_widget_get_style_context(textBox.fHandle) + var rgba: GdkRGBA + gtk_style_context_get_background_color(context, GTK_STATE_FLAG_NORMAL, rgba) + textBox.fBackgroundColor = rgba.pGdkRGBAToColor() + gtk_style_context_get_color(context, GTK_STATE_FLAG_NORMAL, rgba) + textBox.fTextColor = rgba.pGdkRGBAToColor() + textBox.fUseDefaultBackgroundColor = false + textBox.fUseDefaultTextColor = false + method text(textBox: NativeTextBox): string = $gtk_entry_get_text(textBox.fHandle) method `text=`(textBox: NativeTextBox, text: string) = -- cgit v1.2.3