From a673f4a5f9f678caefaaa0df11049d6bd4c12787 Mon Sep 17 00:00:00 2001 From: Thomas Geymayer Date: Mon, 21 Jul 2014 00:26:54 +0200 Subject: [PATCH] Nasal: update for simgear changes. --- src/GUI/FileDialog.cxx | 5 ++--- src/Scripting/NasalCanvas.cxx | 7 +++---- src/Scripting/NasalString.cxx | 38 +++++++++++++++-------------------- src/Scripting/NasalSys.cxx | 2 +- 4 files changed, 22 insertions(+), 30 deletions(-) diff --git a/src/GUI/FileDialog.cxx b/src/GUI/FileDialog.cxx index 46ba317c8..ec7769ad4 100644 --- a/src/GUI/FileDialog.cxx +++ b/src/GUI/FileDialog.cxx @@ -140,9 +140,8 @@ typedef nasal::Ghost NasalFileDialog; /** * Create new FGFileDialog and get ghost for it. */ -static naRef f_createFileDialog(naContext c, naRef me, int argc, naRef* args) +static naRef f_createFileDialog(const nasal::CallContext& ctx) { - nasal::CallContext ctx(c, argc, args); FGFileDialog::Usage usage = (FGFileDialog::Usage) ctx.requireArg(0); #if defined(SG_MAC) @@ -153,7 +152,7 @@ static naRef f_createFileDialog(naContext c, naRef me, int argc, naRef* args) FileDialogPtr fd(new PUIFileDialog(usage)); #endif - return nasal::to_nasal(c, fd); + return ctx.to_nasal(fd); } void postinitNasalGUI(naRef globals, naContext c) diff --git a/src/Scripting/NasalCanvas.cxx b/src/Scripting/NasalCanvas.cxx index c449f2c03..36a5c5234 100644 --- a/src/Scripting/NasalCanvas.cxx +++ b/src/Scripting/NasalCanvas.cxx @@ -139,11 +139,10 @@ static naRef f_createWindow(const nasal::CallContext& ctx) /** * Get ghost for existing Canvas. */ -static naRef f_getCanvas(naContext c, naRef me, int argc, naRef* args) +static naRef f_getCanvas(const nasal::CallContext& ctx) { - nasal::CallContext ctx(c, argc, args); SGPropertyNode& props = *ctx.requireArg(0); - CanvasMgr& canvas_mgr = requireCanvasMgr(c); + CanvasMgr& canvas_mgr = requireCanvasMgr(ctx.c); sc::CanvasPtr canvas; if( canvas_mgr.getPropertyRoot() == props.getParent() ) @@ -162,7 +161,7 @@ static naRef f_getCanvas(naContext c, naRef me, int argc, naRef* args) canvas = canvas_mgr.getCanvas( props.getIntValue("index") ); } - return nasal::to_nasal(c, canvas); + return ctx.to_nasal(canvas); } naRef f_canvasCreateGroup(sc::Canvas& canvas, const nasal::CallContext& ctx) diff --git a/src/Scripting/NasalString.cxx b/src/Scripting/NasalString.cxx index 331c75ffb..fe937a0aa 100644 --- a/src/Scripting/NasalString.cxx +++ b/src/Scripting/NasalString.cxx @@ -33,13 +33,12 @@ * compare(s) * compare(pos, len, s) */ -static naRef f_compare(naContext c, naRef me, int argc, naRef* args) +static naRef f_compare(const nasal::CallContext& ctx) { - nasal::CallContext ctx(c, argc, args); - nasal::String str = nasal::from_nasal(c, me), - rhs = ctx.requireArg(argc > 1 ? 2 : 0); - size_t pos = argc > 1 ? ctx.requireArg(1) : 0; - size_t len = argc > 1 ? ctx.requireArg(2) : 0; + nasal::String str = ctx.from_nasal(ctx.me), + rhs = ctx.requireArg(ctx.argc > 1 ? 2 : 0); + size_t pos = ctx.argc > 1 ? ctx.requireArg(1) : 0; + size_t len = ctx.argc > 1 ? ctx.requireArg(2) : 0; if( len == 0 ) len = nasal::String::npos; @@ -50,10 +49,9 @@ static naRef f_compare(naContext c, naRef me, int argc, naRef* args) /** * Check whether string starts with other string */ -static naRef f_starts_with(naContext c, naRef me, int argc, naRef* args) +static naRef f_starts_with(const nasal::CallContext& ctx) { - nasal::CallContext ctx(c, argc, args); - nasal::String str = nasal::from_nasal(c, me), + nasal::String str = ctx.from_nasal(ctx.me), rhs = ctx.requireArg(0); return naNum( str.starts_with(rhs) ); @@ -62,10 +60,9 @@ static naRef f_starts_with(naContext c, naRef me, int argc, naRef* args) /** * Check whether string ends with other string */ -static naRef f_ends_with(naContext c, naRef me, int argc, naRef* args) +static naRef f_ends_with(const nasal::CallContext& ctx) { - nasal::CallContext ctx(c, argc, args); - nasal::String str = nasal::from_nasal(c, me), + nasal::String str = ctx.from_nasal(ctx.me), rhs = ctx.requireArg(0); return naNum( str.ends_with(rhs) ); @@ -87,15 +84,14 @@ naRef pos_to_nasal(size_t pos) * * find(c, pos = 0) */ -static naRef f_find(naContext c, naRef me, int argc, naRef* args) +static naRef f_find(const nasal::CallContext& ctx) { - nasal::CallContext ctx(c, argc, args); - nasal::String str = nasal::from_nasal(c, me), + nasal::String str = ctx.from_nasal(ctx.me), find = ctx.requireArg(0); size_t pos = ctx.getArg(1, 0); if( find.size() != 1 ) - naRuntimeError(c, "string::find: single character expected"); + naRuntimeError(ctx.c, "string::find: single character expected"); return pos_to_nasal( str.find(*find.c_str(), pos) ); } @@ -105,10 +101,9 @@ static naRef f_find(naContext c, naRef me, int argc, naRef* args) * * find_first_of(search, pos = 0) */ -static naRef f_find_first_of(naContext c, naRef me, int argc, naRef* args) +static naRef f_find_first_of(const nasal::CallContext& ctx) { - nasal::CallContext ctx(c, argc, args); - nasal::String str = nasal::from_nasal(c, me), + nasal::String str = ctx.from_nasal(ctx.me), find = ctx.requireArg(0); size_t pos = ctx.getArg(1, 0); @@ -120,10 +115,9 @@ static naRef f_find_first_of(naContext c, naRef me, int argc, naRef* args) * * find_first_not_of(search, pos = 0) */ -static naRef f_find_first_not_of(naContext c, naRef me, int argc, naRef* args) +static naRef f_find_first_not_of(const nasal::CallContext& ctx) { - nasal::CallContext ctx(c, argc, args); - nasal::String str = nasal::from_nasal(c, me), + nasal::String str = ctx.from_nasal(ctx.me), find = ctx.requireArg(0); size_t pos = ctx.getArg(1, 0); diff --git a/src/Scripting/NasalSys.cxx b/src/Scripting/NasalSys.cxx index fde6319db..f70aa3c61 100644 --- a/src/Scripting/NasalSys.cxx +++ b/src/Scripting/NasalSys.cxx @@ -705,7 +705,7 @@ static naRef f_parsexml(naContext c, naRef me, int argc, naRef* args) */ static naRef f_parse_markdown(naContext c, naRef me, int argc, naRef* args) { - nasal::CallContext ctx(c, argc, args); + nasal::CallContext ctx(c, me, argc, args); return ctx.to_nasal( simgear::SimpleMarkdown::parse(ctx.requireArg(0)) ); -- 2.39.5