diff options
| author | trustable-code <krauter.simon@arcor.de> | 2020-02-15 23:49:03 +0100 |
|---|---|---|
| committer | trustable-code <krauter.simon@arcor.de> | 2020-02-15 23:49:03 +0100 |
| commit | 5debbd2c24803baf46060cf114d65c6ca1a1ae6f (patch) | |
| tree | 4da7f9e49930c1aafbbb337c9bda193941c4fd96 /src/nigui | |
| parent | 75b1bc9fe70d586fdb44d5fb749ab3924f6c46bd (diff) | |
| download | NiGui-5debbd2c24803baf46060cf114d65c6ca1a1ae6f.tar.gz NiGui-5debbd2c24803baf46060cf114d65c6ca1a1ae6f.zip | |
Gtk: Update scrollbars after scrollbar size was determined
Diffstat (limited to 'src/nigui')
| -rwxr-xr-x | src/nigui/private/gtk3/platform_impl.nim | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim index 7f17bf2..c3df5f7 100755 --- a/src/nigui/private/gtk3/platform_impl.nim +++ b/src/nigui/private/gtk3/platform_impl.nim @@ -781,6 +781,9 @@ proc pMainScrollbarDraw(widget: pointer, cr: pointer, data: pointer): Gboolean { gtk_widget_get_allocation(scrollbar, allocation) gtk_scrolled_window_set_policy(widget, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC) fScrollbarSize = allocation.height + for window in windowList: + if window.control != nil: + window.control.triggerRelayoutDownwards() proc pWindowStateEventSignal(widget: pointer, event: var GdkEventWindowState, user_data: pointer): Gboolean {.cdecl.} = let window = cast[WindowImpl](user_data) @@ -901,6 +904,10 @@ method `iconPath=`(window: WindowImpl, iconPath: string) = method pUpdateScrollBar(control: ControlImpl) {.base.} +method triggerRelayout(control: ControlImpl) = + procCall control.Control.triggerRelayout() + control.pUpdateScrollBar() + proc pControlDrawSignal(widget: pointer, cr: pointer, data: pointer): Gboolean {.cdecl.} = let control = cast[ControlImpl](data) @@ -1226,9 +1233,7 @@ method pUpdateScrollBar(container: ContainerImpl) = return if fScrollbarSize == -1: - return - - # echo "container.pUpdateScrollBar" + return container.fXScrollEnabled = false container.fYScrollEnabled = false |
