diff options
Diffstat (limited to 'commands.c')
-rw-r--r-- | commands.c | 124 |
1 files changed, 4 insertions, 120 deletions
@@ -29,14 +29,10 @@ #include <X11/Xfuncs.h> #include <X11/Xos.h> #include "xedit.h" -#include "printdialog.h" -#include "print.h" #ifdef CRAY #include <unistd.h> #endif #include <stdlib.h> -#include <stdio.h> -#include <limits.h> #include <string.h> #include <dirent.h> #include <pwd.h> @@ -45,17 +41,6 @@ #include <X11/IntrinsicP.h> #include <X11/Xaw/TextSrcP.h> -/* Turn a NULL pointer string into an empty string */ -#define NULLSTR(x) (((x)!=NULL)?(x):("")) - -#define Error(x) { printf x ; exit(EXIT_FAILURE); } -#define Assertion(expr, msg) { if (!(expr)) { Error msg } } -#define Log(x) { if (True) printf x; } - -static Widget printdialog_shell = NULL; -static Widget printdialog = NULL; -static char printJobNameBuffer[PATH_MAX+256]; - void ResetSourceChanged(xedit_flist_item*); static void ResetDC(Widget, XtPointer, XtPointer); @@ -353,8 +338,8 @@ DoSave(Widget w, XtPointer client_data, XtPointer call_data) XtRemoveCallback(scratch, XtNcallback, SourceChanged, (XtPointer)item); item->source = scratch = - XtVaCreateWidget("textSource", - multiSrcObjectClass, + XtVaCreateWidget("textSource", international ? + multiSrcObjectClass : asciiSrcObjectClass, topwindow, XtNtype, XawAsciiFile, XtNeditType, XawtextEdit, @@ -491,8 +476,8 @@ ReallyDoLoad(char *name, char *filename) XtSetArg(args[num_args], XtNstring, NULL); num_args++; } - source = XtVaCreateWidget("textSource", - multiSrcObjectClass, + source = XtVaCreateWidget("textSource", international ? + multiSrcObjectClass : asciiSrcObjectClass, topwindow, XtNtype, XawAsciiFile, XtNeditType, XawtextEdit, @@ -515,107 +500,6 @@ ReallyDoLoad(char *name, char *filename) return (True); } -static void -printshellDestroyXtProc(Widget w, XtPointer client_data, XtPointer callData) -{ - XawPrintDialogClosePrinterConnection(printdialog, False); -} - -static void -printOKXtProc(Widget w, XtPointer client_data, XtPointer callData) -{ - XawPrintDialogCallbackStruct *pdcs = (XawPrintDialogCallbackStruct *)callData; - Cardinal n; - Arg args[2]; - Widget textsource; - - Log(("printOKXtProc: OK.\n")); - - /* Get TextSource object */ - n = 0; - XtSetArg(args[n], XtNtextSource, &textsource); n++; - XtGetValues(textwindow, args, n); - - Assertion(textsource != NULL, (("printOKXtProc: textsource == NULL.\n"))); - - /* ||printJobNameBuffer| must live as long the print job prints - * because it is used for the job title AND the page headers... */ - sprintf(printJobNameBuffer, "Xedit print job"); - - DoPrintTextSource("Xedit", - textsource, topwindow, - pdcs->pdpy, pdcs->pcontext, printshellDestroyXtProc, - printJobNameBuffer, - pdcs->printToFile?pdcs->printToFileName:NULL); - - XtPopdown(printdialog_shell); -} - -static void -printCancelXtProc(Widget w, XtPointer client_data, XtPointer callData) -{ - Log(("printCancelXtProc: cancel.\n")); - XtPopdown(printdialog_shell); - - Log(("destroying print dialog shell...\n")); - XtDestroyWidget(printdialog_shell); - printdialog_shell = NULL; - printdialog = NULL; - Log(("... done\n")); -} - - -/*ARGSUSED*/ -void -PrintFile(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - DoPrint(w, NULL, NULL); -} - -/*ARGSUSED*/ -void -DoPrint(Widget w, XtPointer client_data, XtPointer call_data) -{ - Dimension width, height; - Position x, y; - Widget parent = topwindow; - Log(("print!\n")); - - if (!printdialog) { - int n; - Arg args[20]; - - n = 0; - XtSetArg(args[n], XtNallowShellResize, True); n++; - printdialog_shell = XtCreatePopupShell("printdialogshell", - transientShellWidgetClass, - topwindow, args, n); - n = 0; - printdialog = XtCreateManagedWidget("printdialog", printDialogWidgetClass, - printdialog_shell, args, n); - XtAddCallback(printdialog, XawNOkCallback, printOKXtProc, NULL); - XtAddCallback(printdialog, XawNCancelCallback, printCancelXtProc, NULL); - - XtRealizeWidget(printdialog_shell); - } - - /* Center dialog */ - XtVaGetValues(printdialog_shell, - XtNwidth, &width, - XtNheight, &height, - NULL); - - x = (Position)(XWidthOfScreen( XtScreen(parent)) - width) / 2; - y = (Position)(XHeightOfScreen(XtScreen(parent)) - height) / 3; - - XtVaSetValues(printdialog_shell, - XtNx, x, - XtNy, y, - NULL); - - XtPopup(printdialog_shell, XtGrabNonexclusive); -} - /* Function Name: SourceChanged * Description: A callback routine called when the source has changed. * Arguments: w - the text source that has changed. |