static void menu_cb_addToDynamicMenu (EDITOR_ARGS) { EDITOR_IAM (ScriptEditor); EDITOR_FORM (U"Add to dynamic menu", U"Add to dynamic menu...") WORD (U"Class 1", U"Sound") INTEGER (U"Number 1", U"0") WORD (U"Class 2", U"") INTEGER (U"Number 2", U"0") WORD (U"Class 3", U"") INTEGER (U"Number 3", U"0") SENTENCE (U"Command", U"Do it...") SENTENCE (U"After command", U"") INTEGER (U"Depth", U"0") LABEL (U"", U"Script file:") TEXTFIELD (U"Script", U"") EDITOR_OK if (my name [0]) SET_STRING (U"Script", my name) else SET_STRING (U"Script", U"(please save your script first)") EDITOR_DO praat_addActionScript (GET_STRING (U"Class 1"), GET_INTEGER (U"Number 1"), GET_STRING (U"Class 2"), GET_INTEGER (U"Number 2"), GET_STRING (U"Class 3"), GET_INTEGER (U"Number 3"), GET_STRING (U"Command"), GET_STRING (U"After command"), GET_INTEGER (U"Depth"), GET_STRING (U"Script")); praat_show (); EDITOR_END }
static void menu_cb_print (EDITOR_ARGS) { EDITOR_IAM (HyperPage); EDITOR_FORM (L"Print", 0) SENTENCE (L"Left or inside header", L"") SENTENCE (L"Middle header", L"") LABEL (L"", L"Right or outside header:") TEXTFIELD (L"Right or outside header", L"") SENTENCE (L"Left or inside footer", L"") SENTENCE (L"Middle footer", L"") SENTENCE (L"Right or outside footer", L"") BOOLEAN (L"Mirror even/odd headers", TRUE) INTEGER (L"First page number", L"0 (= no page numbers)") EDITOR_OK my v_defaultHeaders (cmd); if (my d_printingPageNumber) SET_INTEGER (L"First page number", my d_printingPageNumber + 1) EDITOR_DO my insideHeader = GET_STRING (L"Left or inside header"); my middleHeader = GET_STRING (L"Middle header"); my outsideHeader = GET_STRING (L"Right or outside header"); my insideFooter = GET_STRING (L"Left or inside footer"); my middleFooter = GET_STRING (L"Middle footer"); my outsideFooter = GET_STRING (L"Right or outside footer"); my mirror = GET_INTEGER (L"Mirror even/odd headers"); my d_printingPageNumber = GET_INTEGER (L"First page number"); Printer_print (print, me); EDITOR_END }
static void menu_cb_searchForPage (EDITOR_ARGS) { EDITOR_IAM (HyperPage); EDITOR_FORM (L"Search for page", 0) TEXTFIELD (L"Page", L"a") EDITOR_OK EDITOR_DO HyperPage_goToPage (me, GET_STRING (L"Page")); // BUG EDITOR_END }
int Printer_postScriptSettings (void) { static UiForm *dia; if (dia == NULL) { UiForm::UiField *radio; dia = new UiForm (theCurrentPraatApplication -> topShell, L"PostScript settings", DO_Printer_postScriptSettings, NULL, L"PostScript settings...", L"PostScript settings..."); #if defined (_WIN32) || defined (macintosh) BOOLEAN (L"Allow direct PostScript", TRUE); #endif RADIO_ENUM (L"Grey resolution", kGraphicsPostscript_spots, DEFAULT) #if defined (UNIX) RADIO_ENUM (L"Paper size", kGraphicsPostscript_paperSize, DEFAULT); RADIO_ENUM (L"Orientation", kGraphicsPostscript_orientation, DEFAULT); POSITIVE (L"Magnification", L"1.0"); LABEL (L"label", L"Print command:"); #if defined (linux) TEXTFIELD (L"printCommand", L"lpr %s"); #else TEXTFIELD (L"printCommand", L"lp -c %s"); #endif #endif RADIO_ENUM (L"Font choice strategy", kGraphicsPostscript_fontChoiceStrategy, DEFAULT); #if defined (macintosh) BOOLEAN (L"EPS files include preview", TRUE); #endif dia->finish (); } #if defined (_WIN32) || defined (macintosh) SET_INTEGER (L"Allow direct PostScript", thePrinter. allowDirectPostScript); #endif SET_ENUM (L"Grey resolution", kGraphicsPostscript_spots, thePrinter. spots); #if defined (UNIX) SET_ENUM (L"Paper size", kGraphicsPostscript_paperSize, thePrinter. paperSize); SET_ENUM (L"Orientation", kGraphicsPostscript_orientation, thePrinter. orientation); SET_REAL (L"Magnification", thePrinter. magnification); SET_STRING (L"printCommand", Site_getPrintCommand ()); #endif SET_ENUM (L"Font choice strategy", kGraphicsPostscript_fontChoiceStrategy, thePrinter. fontChoiceStrategy); #if defined (macintosh) SET_INTEGER (L"EPS files include preview", thePrinter. epsFilesHavePreview); #endif dia->do_ (false); return 1; }
static void menu_cb_writeAllToHtmlDir (Manual me, EDITOR_ARGS_FORM) { EDITOR_FORM (U"Save all pages as HTML files", nullptr) LABEL (U"", U"Type a directory name:") TEXTFIELD (U"directory", U"") EDITOR_OK structMelderDir currentDirectory { { 0 } }; Melder_getDefaultDir (& currentDirectory); SET_STRING (U"directory", Melder_dirToPath (& currentDirectory)) EDITOR_DO char32 *directory = GET_STRING (U"directory"); ManPages_writeAllToHtmlDir ((ManPages) my data, directory); EDITOR_END }
static void menu_cb_writeAllToHtmlDir (EDITOR_ARGS) { EDITOR_IAM (Manual); EDITOR_FORM (L"Save all pages as HTML files", 0) LABEL (L"", L"Type a directory name:") TEXTFIELD (L"directory", L"") EDITOR_OK structMelderDir currentDirectory = { { 0 } }; Melder_getDefaultDir (& currentDirectory); SET_STRING (L"directory", Melder_dirToPath (& currentDirectory)) EDITOR_DO wchar *directory = GET_STRING (L"directory"); ManPages_writeAllToHtmlDir ((ManPages) my data, directory); EDITOR_END }
static void menu_cb_printRange (EDITOR_ARGS) { EDITOR_IAM (Manual); EDITOR_FORM (L"Print range", 0) SENTENCE (L"Left or inside header", L"") SENTENCE (L"Middle header", L"") SENTENCE (L"Right or outside header", L"Manual") SENTENCE (L"Left or inside footer", L"") SENTENCE (L"Middle footer", L"") SENTENCE (L"Right or outside footer", L"") BOOLEAN (L"Mirror even/odd headers", TRUE) LABEL (L"", L"Print all pages whose title starts with:") TEXTFIELD (L"Print pages starting with", L"Intro") INTEGER (L"First page number", L"1") BOOLEAN (L"Suppress \"Links to this page\"", FALSE) EDITOR_OK ManPages manPages = (ManPages) my data; time_t today = time (NULL); char dateA [50]; #ifdef UNIX struct tm *tm = localtime (& today); strftime (dateA, 50, "%B %e, %Y", tm); #else strcpy (dateA, ctime (& today)); #endif wchar_t *date = Melder_peekUtf8ToWcs (dateA), *newline; newline = wcschr (date, '\n'); if (newline) *newline = '\0'; SET_STRING (L"Left or inside header", date) SET_STRING (L"Right or outside header", my name) if (my d_printingPageNumber) SET_INTEGER (L"First page number", my d_printingPageNumber + 1) if (my path >= 1 && my path <= manPages -> pages -> size) { ManPage page = (ManPage) manPages -> pages -> item [my path]; SET_STRING (L"Print pages starting with", page -> title); } EDITOR_DO my insideHeader = GET_STRING (L"Left or inside header"); my middleHeader = GET_STRING (L"Middle header"); my outsideHeader = GET_STRING (L"Right or outside header"); my insideFooter = GET_STRING (L"Left or inside footer"); my middleFooter = GET_STRING (L"Middle footer"); my outsideFooter = GET_STRING (L"Right or outside footer"); my mirror = GET_INTEGER (L"Mirror even/odd headers"); my printPagesStartingWith = GET_STRING (L"Print pages starting with"); my d_printingPageNumber = GET_INTEGER (L"First page number"); my suppressLinksHither = GET_INTEGER (L"Suppress \"Links to this page\""); Printer_print (print, me); EDITOR_END }
static void menu_cb_printRange (Manual me, EDITOR_ARGS_FORM) { EDITOR_FORM (U"Print range", 0) SENTENCE (U"Left or inside header", U"") SENTENCE (U"Middle header", U"") SENTENCE (U"Right or outside header", U"Manual") SENTENCE (U"Left or inside footer", U"") SENTENCE (U"Middle footer", U"") SENTENCE (U"Right or outside footer", U"") BOOLEAN (U"Mirror even/odd headers", true) LABEL (U"", U"Print all pages whose title starts with:") TEXTFIELD (U"Print pages starting with", U"Intro") INTEGER (U"First page number", U"1") BOOLEAN (U"Suppress \"Links to this page\"", false) EDITOR_OK ManPages manPages = (ManPages) my data; time_t today = time (nullptr); char dateA [50]; #ifdef UNIX struct tm *tm = localtime (& today); strftime (dateA, 50, "%B %e, %Y", tm); #else strcpy (dateA, ctime (& today)); #endif char32 *date = Melder_peek8to32 (dateA), *newline; newline = str32chr (date, U'\n'); if (newline) *newline = U'\0'; SET_STRING (U"Left or inside header", date) SET_STRING (U"Right or outside header", my name) if (my d_printingPageNumber) SET_INTEGER (U"First page number", my d_printingPageNumber + 1) if (my path >= 1 && my path <= manPages -> pages.size) { ManPage page = manPages -> pages.at [my path]; SET_STRING (U"Print pages starting with", page -> title); } EDITOR_DO my insideHeader = GET_STRING (U"Left or inside header"); my middleHeader = GET_STRING (U"Middle header"); my outsideHeader = GET_STRING (U"Right or outside header"); my insideFooter = GET_STRING (U"Left or inside footer"); my middleFooter = GET_STRING (U"Middle footer"); my outsideFooter = GET_STRING (U"Right or outside footer"); my mirror = GET_INTEGER (U"Mirror even/odd headers"); my printPagesStartingWith = GET_STRING (U"Print pages starting with"); my d_printingPageNumber = GET_INTEGER (U"First page number"); my suppressLinksHither = GET_INTEGER (U"Suppress \"Links to this page\""); Printer_print (print, me); EDITOR_END }
void Script_SetEditFocus(itemDef_t *item, qboolean *bAbort, char **args) { const char *name = NULL; if (String_Parse(args, &name)) { itemDef_t *editItem = Menu_FindItemByName(item->parent, name); if (editItem && TEXTFIELD(editItem->type)) { editFieldDef_t *editPtr = (editFieldDef_t *)editItem->typeData; Menu_ClearFocus(item->parent); editItem->window.flags |= WINDOW_HASFOCUS; if (editItem->onFocus) { Item_RunScript(editItem, NULL, editItem->onFocus); } if (DC->Assets.itemFocusSound) { DC->startLocalSound(DC->Assets.itemFocusSound, CHAN_LOCAL_SOUND); } // reset scroll offset so we can see what we're editing if (editPtr) { editPtr->paintOffset = 0; } DC->setCVar(EDITFIELD_TEMP_CVAR, ""); editItem->cursorPos = 0; g_editingField = qtrue; g_editItem = editItem; // the stupidest idea ever, let's just override the console, every ui element, user choice, etc // nuking this //DC->setOverstrikeMode(qtrue); } } }
static void menu_cb_addToMenu (EDITOR_ARGS) { EDITOR_IAM (ScriptEditor); EDITOR_FORM (U"Add to menu", U"Add to fixed menu...") WORD (U"Window", U"?") SENTENCE (U"Menu", U"File") SENTENCE (U"Command", U"Do it...") SENTENCE (U"After command", U"") INTEGER (U"Depth", U"0") LABEL (U"", U"Script file:") TEXTFIELD (U"Script", U"") EDITOR_OK if (my editorClass) SET_STRING (U"Window", my editorClass -> className) if (my name [0]) SET_STRING (U"Script", my name) else SET_STRING (U"Script", U"(please save your script first)") EDITOR_DO praat_addMenuCommandScript (GET_STRING (U"Window"), GET_STRING (U"Menu"), GET_STRING (U"Command"), GET_STRING (U"After command"), GET_INTEGER (U"Depth"), GET_STRING (U"Script")); praat_show (); EDITOR_END }
/* =============== Item_ValidateTypeData =============== */ void Item_ValidateTypeData(itemDef_t *item) { if (item->typeData) { return; } if (item->type == ITEM_TYPE_LISTBOX) { item->typeData = UI_Alloc(sizeof(listBoxDef_t)); memset(item->typeData, 0, sizeof(listBoxDef_t)); } else if (TEXTFIELD(item->type) || item->type == ITEM_TYPE_YESNO || item->type == ITEM_TYPE_BIND || item->type == ITEM_TYPE_SLIDER || item->type == ITEM_TYPE_TEXT) { item->typeData = UI_Alloc(sizeof(editFieldDef_t)); memset(item->typeData, 0, sizeof(editFieldDef_t)); if (item->type == ITEM_TYPE_EDITFIELD) { if (!((editFieldDef_t *)item->typeData)->maxPaintChars) { ((editFieldDef_t *)item->typeData)->maxPaintChars = MAX_EDITFIELD; } } } else if (item->type == ITEM_TYPE_MULTI || item->type == ITEM_TYPE_CHECKBOX || item->type == ITEM_TYPE_TRICHECKBOX || item->type == ITEM_TYPE_COMBO) { item->typeData = UI_Alloc(sizeof(multiDef_t)); } else if (item->type == ITEM_TYPE_MODEL) { item->typeData = UI_Alloc(sizeof(modelDef_t)); } else if (item->type == ITEM_TYPE_MENUMODEL) { item->typeData = UI_Alloc(sizeof(modelDef_t)); } }
static void menu_cb_addToFixedMenu (EDITOR_ARGS) { EDITOR_IAM (ScriptEditor); EDITOR_FORM (U"Add to fixed menu", U"Add to fixed menu..."); RADIO (U"Window", 1) RADIOBUTTON (U"Objects") RADIOBUTTON (U"Picture") SENTENCE (U"Menu", U"New") SENTENCE (U"Command", U"Do it...") SENTENCE (U"After command", U"") INTEGER (U"Depth", U"0") LABEL (U"", U"Script file:") TEXTFIELD (U"Script", U"") EDITOR_OK if (my name [0]) SET_STRING (U"Script", my name) else SET_STRING (U"Script", U"(please save your script first)") EDITOR_DO praat_addMenuCommandScript (GET_STRING (U"Window"), GET_STRING (U"Menu"), GET_STRING (U"Command"), GET_STRING (U"After command"), GET_INTEGER (U"Depth"), GET_STRING (U"Script")); praat_show (); EDITOR_END }