~ubuntu-branches/ubuntu/karmic/scilab/karmic

« back to all changes in this revision

Viewing changes to xmetanet/alert.c

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2002-03-21 16:57:43 UTC
  • Revision ID: james.westby@ubuntu.com-20020321165743-e9mv12c1tb1plztg
Tags: upstream-2.6
ImportĀ upstreamĀ versionĀ 2.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright INRIA */
 
2
#include <stdio.h>
 
3
#include <X11/Intrinsic.h>
 
4
#include <X11/Shell.h>
 
5
#include <X11/StringDefs.h>
 
6
#include <X11/Xaw/Box.h>
 
7
#include <X11/Xaw/Command.h>
 
8
#include <X11/Xaw/Label.h>
 
9
 
 
10
#include "metaconst.h"
 
11
#include "metawin.h"
 
12
#include "graphics.h"
 
13
 
 
14
extern void GetMetanetGeometry();
 
15
 
 
16
static int okFlag;
 
17
static int yesOrNo;
 
18
 
 
19
void AlertOk(w,shell,callData)
 
20
Widget w;
 
21
caddr_t shell;
 
22
caddr_t callData;
 
23
{
 
24
  XtPopdown((Widget)shell);
 
25
  okFlag = 1;
 
26
}
 
27
 
 
28
void MetanetAlert(description)
 
29
char *description;
 
30
{
 
31
  XEvent event;
 
32
  Widget Alert;
 
33
  Arg args[10];
 
34
  int iargs = 0;
 
35
  Widget shell;
 
36
  XtCallbackRec callbacks[2];
 
37
  int x,y,w,h;
 
38
 
 
39
  callbacks[1].callback = NULL;
 
40
  callbacks[1].closure = NULL;
 
41
  
 
42
  GetMetanetGeometry(&x,&y,&w,&h);
 
43
 
 
44
  XtSetArg(args[iargs], XtNx, x + incX); iargs++;
 
45
  XtSetArg(args[iargs], XtNy, y + incY); iargs++;
 
46
  XtSetArg(args[iargs], XtNfont, theG.metafont); iargs++;
 
47
  shell = XtCreatePopupShell("Metanet Alert",transientShellWidgetClass,
 
48
                             toplevel,args,iargs);
 
49
 
 
50
  iargs = 0;
 
51
  XtSetArg(args[iargs], XtNfont, theG.metafont); iargs++;
 
52
  Alert = XtCreateManagedWidget("Alert",boxWidgetClass,shell,args,iargs);
 
53
 
 
54
  iargs = 0;
 
55
  XtSetArg(args[iargs], XtNlabel, description); iargs++;
 
56
  XtSetArg(args[iargs], XtNborderWidth, 0); iargs++;
 
57
  XtSetArg(args[iargs], XtNfont, theG.metafont); iargs++;
 
58
  XtCreateManagedWidget("labelAlert",labelWidgetClass,Alert,args,iargs);
 
59
 
 
60
  callbacks[0].callback = (XtCallbackProc)AlertOk;
 
61
  callbacks[0].closure = (caddr_t)shell;
 
62
  iargs = 0;
 
63
  XtSetArg(args[iargs], XtNlabel, "ok" ); iargs++;
 
64
  XtSetArg(args[iargs], XtNcallback, callbacks); iargs++;
 
65
  XtSetArg(args[iargs], XtNfont, theG.metafont); iargs++;
 
66
  XtCreateManagedWidget("Alertcommand",commandWidgetClass,
 
67
                        Alert,args,iargs);
 
68
 
 
69
  XtPopup(shell,XtGrabExclusive);
 
70
  
 
71
  okFlag = 0;
 
72
  while (!okFlag) {
 
73
    XtAppNextEvent(app_con,&event);
 
74
    XtDispatchEvent(&event);
 
75
  }
 
76
  XtDestroyWidget(shell);
 
77
}
 
78
 
 
79
void AlertYes(w,shell,callData)
 
80
Widget w;
 
81
caddr_t shell;
 
82
caddr_t callData;
 
83
{
 
84
  XtPopdown((Widget)shell);
 
85
  yesOrNo = 1;
 
86
  okFlag = 1;
 
87
}
 
88
 
 
89
void AlertNo(w,shell,callData)
 
90
Widget w;
 
91
caddr_t shell;
 
92
caddr_t callData;
 
93
{
 
94
  XtPopdown((Widget)shell);
 
95
  yesOrNo = 0;
 
96
  okFlag = 1;
 
97
}
 
98
 
 
99
int MetanetYesOrNo(description)
 
100
char *description;
 
101
{
 
102
  XEvent event;
 
103
  Widget Alert;
 
104
  Arg args[10];
 
105
  int iargs = 0;
 
106
  Widget shell;
 
107
  XtCallbackRec callbacks[2];
 
108
  int x,y,w,h;
 
109
 
 
110
  callbacks[1].callback = NULL;
 
111
  callbacks[1].closure = NULL;
 
112
  
 
113
  GetMetanetGeometry(&x,&y,&w,&h);
 
114
 
 
115
  XtSetArg(args[iargs], XtNx, x + incX); iargs++;
 
116
  XtSetArg(args[iargs], XtNy, y + incY); iargs++;
 
117
  XtSetArg(args[iargs], XtNfont, theG.metafont); iargs++;
 
118
  shell = XtCreatePopupShell("Metanet Alert",transientShellWidgetClass,
 
119
                             toplevel,args,iargs);
 
120
 
 
121
  iargs = 0;
 
122
  XtSetArg(args[iargs], XtNfont, theG.metafont); iargs++;
 
123
  Alert = XtCreateManagedWidget("Alert",boxWidgetClass,shell,args,iargs);
 
124
 
 
125
  iargs = 0;
 
126
  XtSetArg(args[iargs], XtNlabel, description); iargs++;
 
127
  XtSetArg(args[iargs], XtNborderWidth, 0); iargs++;
 
128
  XtSetArg(args[iargs], XtNfont, theG.metafont); iargs++;
 
129
  XtCreateManagedWidget("labelAlert",labelWidgetClass,Alert,args,iargs);
 
130
 
 
131
  callbacks[0].callback = (XtCallbackProc)AlertYes;
 
132
  callbacks[0].closure = (caddr_t)shell;
 
133
  iargs = 0;
 
134
  XtSetArg(args[iargs], XtNlabel, "yes" ); iargs++;
 
135
  XtSetArg(args[iargs], XtNcallback, callbacks); iargs++;
 
136
  XtSetArg(args[iargs], XtNfont, theG.metafont); iargs++;
 
137
  XtCreateManagedWidget("yescommand",commandWidgetClass,Alert,args,iargs);
 
138
 
 
139
  callbacks[0].callback = (XtCallbackProc)AlertNo;
 
140
  callbacks[0].closure = (caddr_t)shell;
 
141
  iargs = 0;
 
142
  XtSetArg(args[iargs], XtNlabel, "no" ); iargs++;
 
143
  XtSetArg(args[iargs], XtNcallback, callbacks); iargs++;
 
144
  XtSetArg(args[iargs], XtNfont, theG.metafont); iargs++;
 
145
  XtCreateManagedWidget("nocommand",commandWidgetClass,Alert,args,iargs);
 
146
 
 
147
  XtPopup(shell,XtGrabExclusive);
 
148
 
 
149
  okFlag = 0;
 
150
  while (!okFlag) {
 
151
    XtAppNextEvent(app_con,&event);
 
152
    XtDispatchEvent(&event);
 
153
  }
 
154
  XtDestroyWidget(shell);
 
155
 
 
156
  return yesOrNo;
 
157
}