summaryrefslogtreecommitdiff
path: root/src/nigui.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/nigui.nim')
-rwxr-xr-xsrc/nigui.nim38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/nigui.nim b/src/nigui.nim
index 86381af..2068e3b 100755
--- a/src/nigui.nim
+++ b/src/nigui.nim
@@ -377,6 +377,9 @@ type
Label* = ref object of ControlImpl
fText: string
+ ProgressBar* = ref object of ControlImpl
+ fValue: float # should be between 0.0 and 1.0
+
TextBox* = ref object of ControlImpl
fEditable: bool
fOnTextChange: TextChangeProc
@@ -944,6 +947,20 @@ method `text=`*(label: Label, text: string) {.base.}
# ----------------------------------------------------------------------------------------
+# ProgressBar
+# ----------------------------------------------------------------------------------------
+
+proc newProgressBar*(): ProgressBar
+
+proc init*(progressBar: ProgressBar)
+proc init*(progressBar: NativeProgressBar)
+
+method value*(progressBar: ProgressBar): float {.base.}
+method `value=`*(progressBar: ProgressBar, value: float) {.base.}
+## value should be between 0.0 and 1.0
+
+
+# ----------------------------------------------------------------------------------------
# TextBox
# ----------------------------------------------------------------------------------------
@@ -2496,6 +2513,27 @@ method `onDraw=`(container: NativeLabel, callback: DrawProc) = raiseError("Nativ
# ----------------------------------------------------------------------------------------
+# ProgressBar
+# ----------------------------------------------------------------------------------------
+
+proc newProgressBar(): ProgressBar =
+ result = new NativeProgressBar
+ result.NativeProgressBar.init()
+
+proc init(progressBar: ProgressBar) =
+ progressBar.ControlImpl.init()
+ progressBar.fWidthMode = WidthMode_Expand
+ progressBar.height = 15.scaleToDpi
+
+method value*(progressBar: ProgressBar): float = progressBar.fValue
+
+method `value=`*(progressBar: ProgressBar, value: float) =
+ # should be overridden by native control
+ progressBar.fValue = value
+ progressBar.forceRedraw()
+
+
+# ----------------------------------------------------------------------------------------
# TextBox
# ----------------------------------------------------------------------------------------