Skip to content

Commit

Permalink
value functions works
Browse files Browse the repository at this point in the history
  • Loading branch information
oskca authored and me committed Jun 23, 2016
1 parent 4651233 commit 7f1506b
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
NSRC = sciter.nim xapi.nim xdef.nim xbehavior.nim loader.nim \
xdom.nim xgraphics.nim xrequest.nim xvalue.nim xtiscript.nim \
event.nim
event.nim utils.nim

sciter:${NSRC}
nim c sciter
Expand Down
14 changes: 14 additions & 0 deletions event.nim
Original file line number Diff line number Diff line change
Expand Up @@ -146,3 +146,17 @@ proc onClick*[EventTarget](target:EventTarget, handler:proc()): EventTarget {.di
return false
target.Attach(eh)
return target

type
ScriptingMethod* = proc(name:string, argc:int, argv:openArray[ptr Value]):Value

proc defineScriptingMethod*[EventTarget](target:EventTarget, name:string, fn:ScriptingMethod): EventTarget {.discardable.} =
var eh = newEventHandler()
eh.handle_scripting_call = proc(he:HELEMENT, params: ptr SCRIPTING_METHOD_PARAMS):bool =
if string(params.name) != name:
return false
var argv = cast[array[0..0, ptr Value]](params.argv)
params.result = fn(name, params.argc, argv)
return true
target.Attach(eh)
return target
13 changes: 12 additions & 1 deletion sciter.nim
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

include xapi, event
include xapi, event, utils

when defined(posix):
# {.passC: "-std=c++11".}
Expand Down Expand Up @@ -67,4 +67,15 @@ when isMainModule:
wnd.SciterLoadFile("./test.html")
wnd.onClick(proc()=echo "generic click")
wnd.onClick(proc()=echo "generic click 2")
var testFn = proc() =
var i:int8 = 100
var p = newValue(i)
echo p, p.getInt()
var s = "a test string"
var sv = newValue(s)
var s2 = sv.getString()
echo s, "->", s2
echo s.len, s2.len
echo "value:", p, "\t", sv
testFn()
wnd.run

0 comments on commit 7f1506b

Please sign in to comment.