1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
/************************************************************************/
/* Really Quit, Really Close dialogs. */
/************************************************************************/
# include "config.h"
# include <stddef.h>
# include <stdio.h>
# include <stdlib.h>
# include <Xm/Xm.h>
# include <Xm/MainW.h>
# include <Xm/Form.h>
# include <Xm/Label.h>
# include <Xm/Protocols.h>
# include <Xm/MwmUtil.h>
# include "appUtil.h"
# include <appFrame.h>
# include <debugon.h>
/************************************************************************/
/* Run a 'Really Close' dialog. */
/************************************************************************/
void appRunReallyCloseDialog( Widget option,
EditApplication * ea,
EditDocument * ed,
XtPointer call_data )
{
int rcc;
AppFileMessageResources * afmr= &(ea->eaFileMessageResources);
rcc= appQuestionRunSubjectYesNoCancelDialog( ea,
ed->edTopWidget,
option,
ed->edTitle,
afmr->afmrReallyCloseQuestion,
afmr->afmrReallyCloseSaveIt,
afmr->afmrReallyCloseDontSave,
afmr->afmrReallyCloseCancel );
switch( rcc )
{
case AQDrespYES:
if ( ! ea->eaSaveDocument )
{ XDEB(ea->eaSaveDocument); return; }
if ( ! ed->edFilename )
{ appDocFileSaveAs( option, (void *)ed, call_data ); }
else{
if ( (*ea->eaSaveDocument)( ea, ed,
ed->edFormat, ed->edFilename ) )
{
appReportSaveFailure( ea, option,
ed->edTopWidget, ed->edFilename );
}
else{ appDocumentChanged( ea, ed, 0 ); }
}
if ( ! ed->edHasBeenChanged )
{ appCloseDocument( ea, ed ); }
break;
case AQDrespNO:
appCloseDocument( ea, ed );
break;
case AQDrespCANCEL:
break;
default:
LDEB(rcc); break;
}
return;
}
/************************************************************************/
/* Run a 'Really Quit' dialog. */
/************************************************************************/
int appRunReallyQuitDialog( Widget option,
Widget relative,
EditApplication * ea,
XtPointer call_data )
{
AppFileMessageResources * afmr= &(ea->eaFileMessageResources);
return appQuestionRunYesNoCancelDialog( ea,
relative,
option,
afmr->afmrReallyQuitQuestion,
afmr->afmrReallyQuitReview,
afmr->afmrReallyQuitAnyway,
afmr->afmrReallyQuitCancel );
}
|