void structScriptEditor :: v_goAway () { if (interpreter -> running) { Melder_error_ ("Cannot close the script window while the script is running or paused. Please close or continue the pause or demo window."); Melder_flushError (NULL); } else { ScriptEditor_Parent :: v_goAway (); } }
void _GuiWinButton_handleClick (GuiObject widget) { iam_button; if (my activateCallback != NULL) { struct structGuiButtonEvent event = { widget, 0 }; try { my activateCallback (my activateBoss, & event); } catch (MelderError) { Melder_error_ ("Your click on button \"", widget -> name, "\" was not completely handled."); Melder_flushError (NULL); } } }
static void _GuiGtkButton_activateCallback (GuiObject widget, gpointer void_me) { iam (GuiButton); struct structGuiButtonEvent event = { widget, 0 }; if (my activateCallback != NULL) { try { my activateCallback (my activateBoss, & event); } catch (MelderError) { Melder_error_ ("Your click on button \"", GTK_WIDGET (widget) -> name, "\" was not completely handled."); Melder_flushError (NULL); } } }
bool _GuiWinButton_tryToHandleShortcutKey (GuiObject widget) { iam_button; if (my activateCallback != NULL) { struct structGuiButtonEvent event = { widget, 0 }; try { my activateCallback (my activateBoss, & event); } catch (MelderError) { Melder_error_ ("Your click on button \"", widget -> name, "\" was not completely handled."); Melder_flushError (NULL); } return true; } return false; }
static void _guiGtkMenuItem_activateCallback (GuiObject widget, gpointer void_me) { iam (GuiMenuItem); if (my d_callbackBlocked) return; if (G_OBJECT_TYPE (widget) == GTK_TYPE_RADIO_MENU_ITEM && ! gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) return; struct structGuiMenuItemEvent event = { me, 0 }; if (my d_commandCallback) { try { my d_commandCallback (my d_boss, & event); } catch (MelderError) { Melder_error_ ("Your choice of menu item \"", GTK_WIDGET (widget) -> name, "\" was not completely handled."); Melder_flushError (NULL); } } }
ScriptEditor ScriptEditor_createFromScript (Editor environment, Script script) { try { if (theScriptEditors) { for (long ieditor = 1; ieditor <= theScriptEditors -> size; ieditor ++) { ScriptEditor editor = (ScriptEditor) theScriptEditors -> item [ieditor]; if (MelderFile_equal (& script -> file, & editor -> file)) { editor -> raise (); Melder_error_ ("The script ", & script -> file, " is already open and has been moved to the front."); if (editor -> dirty) Melder_error_ ("Choose \"Reopen from disk\" if you want to revert to the old version."); Melder_flushError (NULL); return NULL; // safe NULL } } } autostring text = MelderFile_readText (& script -> file); autoScriptEditor me = ScriptEditor_createFromText (environment, text.peek()); MelderFile_copy (& script -> file, & my file); Thing_setName (me.peek(), Melder_fileToPath (& script -> file)); return me.transfer(); } catch (MelderError) { Melder_throw ("Script window not created."); } }
static void _GuiGtkScrollBar_valueChangedCallback (GuiObject widget, gpointer void_me) { iam (GuiScrollBar); trace ("enter: blocked %d", my d_blockValueChangedCallbacks); if (my d_blockValueChangedCallbacks) { my d_blockValueChangedCallbacks = false; } else if (my d_valueChangedCallback) { struct structGuiScrollBarEvent event = { me }; try { my d_valueChangedCallback (my d_valueChangedBoss, & event); } catch (MelderError) { Melder_error_ ("Your action in a scroll bar was not completely handled."); Melder_flushError (NULL); } } }
void _GuiMacButton_handleClick (GuiObject widget, EventRecord *macEvent) { iam_button; _GuiMac_clipOnParent (widget); bool pushed = HandleControlClick (widget -> nat.control.handle, macEvent -> where, macEvent -> modifiers, NULL); GuiMac_clipOff (); if (pushed && my activateCallback != NULL) { struct structGuiButtonEvent event = { widget, 0 }; //enum { cmdKey = 256, shiftKey = 512, optionKey = 2048, controlKey = 4096 }; Melder_assert (macEvent -> what == mouseDown); event. shiftKeyPressed = (macEvent -> modifiers & shiftKey) != 0; event. commandKeyPressed = (macEvent -> modifiers & cmdKey) != 0; event. optionKeyPressed = (macEvent -> modifiers & optionKey) != 0; event. extraControlKeyPressed = (macEvent -> modifiers & controlKey) != 0; try { my activateCallback (my activateBoss, & event); } catch (MelderError) { Melder_error_ ("Your click on button \"", widget -> name, "\" was not completely handled."); Melder_flushError (NULL); } } }