void Picture_print (Picture me) { try { Printer_print (print, me); } catch (MelderError) { Melder_flushError (U"Picture not printed."); } }
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_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 }