summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2019-03-21 21:55:41 +0100
committertrustable-code <krauter.simon@arcor.de>2019-03-21 21:55:41 +0100
commita3926c577fd869cb53335161a59803169feb71fb (patch)
tree486095b6de7c887f6d35a61b559a1ab7f67619c2 /src
parent17d3d8a6fdcf0f2a04cb51634c55b5121806b57e (diff)
downloadNiGui-a3926c577fd869cb53335161a59803169feb71fb.tar.gz
NiGui-a3926c577fd869cb53335161a59803169feb71fb.zip
Fix Gtk container scrolling
The scroll mode wasn't updated.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/nigui/private/gtk3/platform_impl.nim15
1 files changed, 15 insertions, 0 deletions
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: