File: appReally.c

package info (click to toggle)
ted 2.6-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 7,928 kB
  • ctags: 8,734
  • sloc: ansic: 71,878; makefile: 2,363; sh: 159
file content (97 lines) | stat: -rw-r--r-- 2,466 bytes parent folder | download
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 );
    }