static void menu_cb_runSelection (EDITOR_ARGS) { EDITOR_IAM (ScriptEditor); if (my interpreter -> running) Melder_throw (U"The script is already running (paused). Please close or continue the pause or demo window."); autostring32 text = GuiText_getSelection (my textWidget); if (text.peek() == NULL) Melder_throw (U"No text selected."); structMelderFile file = { 0 }; if (my name [0]) { Melder_pathToFile (my name, & file); MelderFile_setDefaultDir (& file); } Melder_includeIncludeFiles (& text); int npar = Interpreter_readParameters (my interpreter, text.peek()); if (npar) { /* * Pop up a dialog box for querying the arguments. */ forget (my argsDialog); my argsDialog = Interpreter_createForm (my interpreter, my d_windowForm, NULL, args_ok_selectionOnly, me, true); UiForm_do (my argsDialog, false); } else { autoPraatBackground background; if (my name [0]) MelderFile_setDefaultDir (& file); Interpreter_run (my interpreter, text.peek()); } }
static void menu_cb_run (ScriptEditor me, EDITOR_ARGS_DIRECT) { if (my interpreter -> running) Melder_throw (U"The script is already running (paused). Please close or continue the pause or demo window."); autostring32 text = GuiText_getString (my textWidget); trace (U"Running the following script (1):\n", text.peek()); structMelderFile file = { 0 }; if (my name [0]) { Melder_pathToFile (my name, & file); MelderFile_setDefaultDir (& file); } Melder_includeIncludeFiles (& text); int npar = Interpreter_readParameters (my interpreter.get(), text.peek()); if (npar) { /* * Pop up a dialog box for querying the arguments. */ my argsDialog = autoUiForm (Interpreter_createForm (my interpreter.get(), my d_windowForm, nullptr, args_ok, me, false)); UiForm_do (my argsDialog.get(), false); } else { autoPraatBackground background; if (my name [0]) MelderFile_setDefaultDir (& file); trace (U"Running the following script (2):\n", text.peek()); Interpreter_run (my interpreter.get(), text.peek()); } }
static void args_ok (UiForm sendingForm, int /* narg */, Stackel /* args */, const char32 * /* sendingString */, Interpreter /* interpreter */, const char32 * /* invokingButtonTitle */, bool /* modified */, void *void_me) { iam (ScriptEditor); autostring32 text = GuiText_getString (my textWidget); structMelderFile file = { 0 }; if (my name [0]) { Melder_pathToFile (my name, & file); MelderFile_setDefaultDir (& file); } Melder_includeIncludeFiles (& text); Interpreter_getArgumentsFromDialog (my interpreter.get(), sendingForm); autoPraatBackground background; if (my name [0]) MelderFile_setDefaultDir (& file); Interpreter_run (my interpreter.get(), text.peek()); }
static void menu_cb_expandIncludeFiles (ScriptEditor me, EDITOR_ARGS_DIRECT) { structMelderFile file = { 0 }; autostring32 text = GuiText_getString (my textWidget); if (my name [0]) { Melder_pathToFile (my name, & file); MelderFile_setDefaultDir (& file); } Melder_includeIncludeFiles (& text); GuiText_setString (my textWidget, text.peek()); }
static void menu_cb_expandIncludeFiles (EDITOR_ARGS) { EDITOR_IAM (ScriptEditor); structMelderFile file = { 0 }; autostring text = my textWidget -> f_getString (); if (my name [0]) { Melder_pathToFile (my name, & file); MelderFile_setDefaultDir (& file); } Melder_includeIncludeFiles (& text); my textWidget -> f_setString (text.peek()); }
static void args_ok_selectionOnly (UiForm sendingForm, int /* narg */, Stackel /* args */, const char32 * /* sendingString */, Interpreter /* interpreter */, const char32 * /* invokingButtonTitle */, bool /* modified */, void *void_me) { iam (ScriptEditor); autostring32 text = GuiText_getSelection (my textWidget); if (! text.peek()) Melder_throw (U"No text is selected any longer.\nPlease reselect or click Cancel."); structMelderFile file = { 0 }; if (my name [0]) { Melder_pathToFile (my name, & file); MelderFile_setDefaultDir (& file); } Melder_includeIncludeFiles (& text); Interpreter_getArgumentsFromDialog (my interpreter, sendingForm); autoPraatBackground background; if (my name [0]) MelderFile_setDefaultDir (& file); Interpreter_run (my interpreter, text.peek()); }
static void args_ok (UiForm sendingForm, int narg_dummy, Stackel args_dummy, const char32 *sendingString_dummy, Interpreter interpreter_dummy, const char32 *invokingButtonTitle, bool modified_dummy, I) { iam (ScriptEditor); (void) narg_dummy; (void) args_dummy; (void) sendingString_dummy; (void) interpreter_dummy; (void) invokingButtonTitle; (void) modified_dummy; autostring32 text = GuiText_getString (my textWidget); structMelderFile file = { 0 }; if (my name [0]) { Melder_pathToFile (my name, & file); MelderFile_setDefaultDir (& file); } Melder_includeIncludeFiles (& text); Interpreter_getArgumentsFromDialog (my interpreter, sendingForm); autoPraatBackground background; if (my name [0]) MelderFile_setDefaultDir (& file); Interpreter_run (my interpreter, text.peek()); }
static void args_ok_selectionOnly (UiForm sendingForm, int narg_dummy, Stackel args_dummy, const char32 *sendingString_dummy, Interpreter interpreter_dummy, const char32 *invokingButtonTitle, bool modified_dummy, I) { iam (ScriptEditor); (void) narg_dummy; (void) args_dummy; (void) sendingString_dummy; (void) interpreter_dummy; (void) invokingButtonTitle; (void) modified_dummy; autostring32 text = GuiText_getSelection (my textWidget); if (text.peek() == NULL) Melder_throw (U"No text is selected any longer.\nPlease reselect or click Cancel."); structMelderFile file = { 0 }; if (my name [0]) { Melder_pathToFile (my name, & file); MelderFile_setDefaultDir (& file); } Melder_includeIncludeFiles (& text); Interpreter_getArgumentsFromDialog (my interpreter, sendingForm); autoPraatBackground background; if (my name [0]) MelderFile_setDefaultDir (& file); Interpreter_run (my interpreter, text.peek()); }