From a3926c577fd869cb53335161a59803169feb71fb Mon Sep 17 00:00:00 2001 From: trustable-code Date: Thu, 21 Mar 2019 21:55:41 +0100 Subject: Fix Gtk container scrolling The scroll mode wasn't updated. --- src/nigui/private/gtk3/platform_impl.nim | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/nigui/private') diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim index bebb6f7..1e8c17a 100755 --- a/src/nigui/private/gtk3/platform_impl.nim +++ b/src/nigui/private/gtk3/platform_impl.nim @@ -1126,6 +1126,21 @@ method pUpdateScrollBar(container: ContainerImpl) = return # echo "container.pUpdateScrollBar" + container.fXScrollEnabled = false + container.fYScrollEnabled = false + + if container.scrollableWidth > container.width: + container.fXScrollEnabled = true + if container.scrollableHeight > container.height: + container.fYScrollEnabled = true + + if container.fXScrollEnabled and not container.fYScrollEnabled and container.scrollableHeight > container.height - fScrollbarSize: + container.fYScrollEnabled = true + if container.fYScrollEnabled and not container.fXScrollEnabled and container.scrollableWidth > container.width - fScrollbarSize: + container.fXScrollEnabled = true + + # TODO: move to common part + var xPolicy: cint = GTK_POLICY_NEVER var yPolicy: cint = GTK_POLICY_NEVER if container.fXScrollEnabled: -- cgit v1.2.3