diff options
| author | trustable-code <krauter.simon@arcor.de> | 2019-11-08 17:20:40 +0100 |
|---|---|---|
| committer | trustable-code <krauter.simon@arcor.de> | 2019-11-08 17:20:40 +0100 |
| commit | 03e1f3afb56d539a13d415f93db2dc6bbcb9c4ed (patch) | |
| tree | 46e46f0b0f8e71b9ecb33150bf550212646de881 /src/nigui/private/gtk3 | |
| parent | 1c6801c21cf04c738624797710d5938e737b1ca8 (diff) | |
| download | NiGui-03e1f3afb56d539a13d415f93db2dc6bbcb9c4ed.tar.gz NiGui-03e1f3afb56d539a13d415f93db2dc6bbcb9c4ed.zip | |
Add Progress Bar control
Fixes #71
Diffstat (limited to 'src/nigui/private/gtk3')
| -rwxr-xr-x | src/nigui/private/gtk3/gtk3.nim | 3 | ||||
| -rwxr-xr-x | src/nigui/private/gtk3/platform_impl.nim | 15 | ||||
| -rwxr-xr-x | src/nigui/private/gtk3/platform_types2.nim | 2 |
3 files changed, 20 insertions, 0 deletions
diff --git a/src/nigui/private/gtk3/gtk3.nim b/src/nigui/private/gtk3/gtk3.nim index 61fc8d4..4992f88 100755 --- a/src/nigui/private/gtk3/gtk3.nim +++ b/src/nigui/private/gtk3/gtk3.nim @@ -335,6 +335,9 @@ proc gtk_label_set_ellipsize*(label: pointer, mode: cint) {.importc: "gtk_label_ proc gtk_label_set_xalign*(label: pointer, xalign: cfloat) {.importc: "gtk_label_set_xalign", libgtk3.} proc gtk_label_set_yalign*(label: pointer, yalign: cfloat) {.importc: "gtk_label_set_yalign", libgtk3.} +proc gtk_progress_bar_new*(): pointer {.importc: "gtk_progress_bar_new", libgtk3.} +proc gtk_progress_bar_set_fraction*(pbar: pointer, fraction: cdouble) {.importc: "gtk_progress_bar_set_fraction", libgtk3.} + # proc gtk_box_new*(orientation: GtkOrientation, spacing: cint): pointer {.importc: "gtk_box_new", libgtk3.} proc gtk_box_pack_start*(box, child: pointer, expand, fill: cint, padding: cint) {.importc: "gtk_box_pack_start", libgtk3.} diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim index c5a7fdb..8717198 100755 --- a/src/nigui/private/gtk3/platform_impl.nim +++ b/src/nigui/private/gtk3/platform_impl.nim @@ -1357,6 +1357,21 @@ method naturalWidth(label: NativeLabel): int {.locks: "unknown".} = label.getTex # ---------------------------------------------------------------------------------------- +# ProgressBar +# ---------------------------------------------------------------------------------------- + +proc init(progressBar: NativeProgressBar) = + progressBar.fHandle = gtk_progress_bar_new() + progressBar.ProgressBar.init() + progressBar.height = 8.scaleToDpi # adjust control height to bar height + +method `value=`(progressBar: NativeProgressBar, value: float) = + procCall progressBar.ProgressBar.`value=`(value) + gtk_progress_bar_set_fraction(progressBar.fHandle, value) + app.processEvents() + + +# ---------------------------------------------------------------------------------------- # TextBox # ---------------------------------------------------------------------------------------- diff --git a/src/nigui/private/gtk3/platform_types2.nim b/src/nigui/private/gtk3/platform_types2.nim index 12cf897..a9b5674 100755 --- a/src/nigui/private/gtk3/platform_types2.nim +++ b/src/nigui/private/gtk3/platform_types2.nim @@ -15,4 +15,6 @@ type NativeLabel* = ref object of Label + NativeProgressBar* = ref object of ProgressBar + NativeTextBox* = ref object of TextBox |
