diff options
| author | trustable-code <krauter.simon@arcor.de> | 2019-08-31 15:42:20 +0200 |
|---|---|---|
| committer | trustable-code <krauter.simon@arcor.de> | 2019-08-31 15:42:20 +0200 |
| commit | 41d7e103c09f23f158afd6df442275cc86a66937 (patch) | |
| tree | a53985326393c4e10d65724b7ded6cf126bab7f6 /src/nigui/private | |
| parent | 5f1590e390224b31fe9034953d217151a110ec5b (diff) | |
| download | NiGui-41d7e103c09f23f158afd6df442275cc86a66937.tar.gz NiGui-41d7e103c09f23f158afd6df442275cc86a66937.zip | |
Rework initialization of colors
Diffstat (limited to 'src/nigui/private')
| -rwxr-xr-x | src/nigui/private/gtk3/platform_impl.nim | 16 | ||||
| -rwxr-xr-x | src/nigui/private/windows/platform_impl.nim | 10 |
2 files changed, 21 insertions, 5 deletions
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) = diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim index 133d7dc..0f7ffaf 100755 --- a/src/nigui/private/windows/platform_impl.nim +++ b/src/nigui/private/windows/platform_impl.nim @@ -1429,6 +1429,13 @@ proc init(textBox: NativeTextBox) = pTextBoxOrigWndProc = pSetWindowLongPtr(textBox.fHandle, GWLP_WNDPROC, pTextBoxWndProc) textBox.TextBox.init() +method initStyle(textBox: NativeTextBox) = + procCall textBox.TextBox.initStyle() + textBox.fBackgroundColor = GetSysColor(COLOR_WINDOW).pRgb32ToColor() + textBox.fTextColor = fDefaultTextColor + textBox.fUseDefaultBackgroundColor = false + textBox.fUseDefaultTextColor = false + method text(textBox: NativeTextBox): string = pGetWindowText(textBox.fHandle) method `text=`(textBox: NativeTextBox, text: string) = pSetWindowText(textBox.fHandle, text) @@ -1465,9 +1472,6 @@ method `selectionStart=`(textBox: NativeTextBox, selectionStart: int) = method `selectionEnd=`(textBox: NativeTextBox, selectionEnd: int) = discard SendMessageA(textBox.fHandle, EM_SETSEL, cast[pointer](textBox.selectionStart), cast[pointer](selectionEnd)) -method resetBackgroundColor(textBox: NativeTextBox) = - textBox.setBackgroundColor(GetSysColor(COLOR_WINDOW).pRgb32ToColor()) - textBox.fUseDefaultBackgroundColor = true # ---------------------------------------------------------------------------------------- # TextArea |
