home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright 1993, 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <Xm/Xm.h>
- #include <X11/StringDefs.h>
- #include <Xm/Form.h>
- #include <Xm/SeparatoG.h>
- #include <Xm/PushB.h>
- #include <Xm/Label.h>
- #include "exinterfmotif.h"
- #include "exglobals.h"
-
- extern char *(extract_first_xms_segment() );
- extern struct indexlist *(find_keyword_int() );
-
- Widget Quit_shell;
-
- void savequitCB_Quit(Widget w, XtPointer client_data, XtPointer call_data);
- void quitCB_Quit(Widget w, XtPointer client_data, XtPointer call_data);
- void cancelCB_Quit(Widget w, XtPointer client_data, XtPointer call_data);
-
- Widget create_Quit()
- {
- Widget form2, topform;
- Widget label;
- Widget sep, button1, button2, button3;
- Arg wargs[15];
- int n;
-
- Quit_shell = XtVaCreatePopupShell( "Quitshell",
- topLevelShellWidgetClass, DBtoplevel,
- XmNtitle, "Quit",
- XmNallowShellResize, TRUE, NULL);
-
- n = 0;
- XtSetArg (wargs[n], XmNverticalSpacing, 10); n++;
- XtSetArg (wargs[n], XmNhorizontalSpacing, 10); n++;
- topform = XtCreateManagedWidget("QuitTopForm", xmFormWidgetClass,
- Quit_shell, wargs, n);
-
- n = 0;
- XtSetArg (wargs[n], XmNallowOverlap, FALSE); n++;
- XtSetArg (wargs[n], XmNbottomAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNleftAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNrightAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNverticalSpacing, 10); n++;
- XtSetArg (wargs[n], XmNhorizontalSpacing, 10); n++;
- form2 = XtCreateManagedWidget( "QuitForm", xmFormWidgetClass,
- topform, wargs, n);
-
- n = 0;
- XtSetArg (wargs[n], XmNtopOffset, 10); n++;
- XtSetArg (wargs[n], XmNbottomOffset, 10); n++;
- XtSetArg (wargs[n], XmNbottomAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNleftAttachment, XmATTACH_FORM); n++;
- button1 = XtCreateManagedWidget( "SaveQuitButton", xmPushButtonWidgetClass,
- form2, wargs, n);
- XtAddCallback( button1, XmNactivateCallback, savequitCB_Quit, NULL);
-
- n = 0;
- XtSetArg (wargs[n], XmNtopOffset, 10); n++;
- XtSetArg (wargs[n], XmNbottomOffset, 10); n++;
- XtSetArg (wargs[n], XmNbottomAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNleftAttachment, XmATTACH_WIDGET); n++;
- XtSetArg (wargs[n], XmNleftWidget, button1); n++;
- button2 = XtCreateManagedWidget( "QuitButton", xmPushButtonWidgetClass,
- form2, wargs, n);
- XtAddCallback( button2, XmNactivateCallback, quitCB_Quit, NULL);
-
- n = 0;
- XtSetArg (wargs[n], XmNtopOffset, 10); n++;
- XtSetArg (wargs[n], XmNbottomOffset, 10); n++;
- XtSetArg (wargs[n], XmNbottomAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNrightAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNleftAttachment, XmATTACH_WIDGET); n++;
- XtSetArg (wargs[n], XmNleftWidget, button2); n++;
- button3 = XtCreateManagedWidget( "CancelButton", xmPushButtonWidgetClass,
- form2, wargs, n);
- XtAddCallback( button3, XmNactivateCallback, cancelCB_Quit, NULL);
-
- n = 0;
- XtSetArg (wargs[n], XmNverticalSpacing, 10); n++;
- XtSetArg (wargs[n], XmNleftAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNrightAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNbottomAttachment, XmATTACH_WIDGET); n++;
- XtSetArg (wargs[n], XmNbottomWidget, form2); n++;
- sep = XtCreateManagedWidget("Sep", xmSeparatorGadgetClass,
- topform, wargs, n);
-
- n = 0;
- XtSetArg (wargs[n], XmNalignment, XmALIGNMENT_CENTER); n++;
- XtSetArg (wargs[n], XmNtopAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNtopOffset, 15); n++;
- XtSetArg (wargs[n], XmNrightAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNleftAttachment, XmATTACH_FORM); n++;
- XtSetArg (wargs[n], XmNbottomAttachment, XmATTACH_WIDGET); n++;
- XtSetArg (wargs[n], XmNbottomWidget, sep); n++;
- label = XtCreateManagedWidget("QuitLabel", xmLabelWidgetClass,
- topform, wargs, n);
-
- XtRealizeWidget(Quit_shell);
- SetWMhints(Quit_shell);
- return(Quit_shell);
- }
-
- void popup_Quit()
- {
- XtPopup(Quit_w, XtGrabExclusive);
- }
-
- void cancelCB_Quit(Widget w, XtPointer client_data, XtPointer call_data)
- {
- XtPopdown(Quit_w);
- }
-
- void quitCB_Quit(Widget w, XtPointer client_data, XtPointer call_data)
- {
- XtPopdown(Quit_w);
- exit(1);
- }
-
- void savequitCB_Quit(Widget w, XtPointer client_data, XtPointer call_data)
- {
- XtPopdown(Quit_w);
- write_file(FileName);
- exit(1);
- }
-
-
-
-