2
#include "men_scilab.h"
4
/*******************************************************
5
* XWindow part for dialog
6
*******************************************************/
8
extern void ShellFormCreate();
9
extern void C2F(cvstr)();
10
static int ok_Flag_sci;
13
extern char *dialog_str ;
14
extern SciDialog ScilabDialog;
16
static XtCallbackProc DialogOk();
17
static XtCallbackProc DialogCancel();
20
/**********************************************************
21
* The dialog command OK callback
22
**********************************************************/
24
static XtCallbackProc DialogOk(w, client_data, call_data)
26
XtPointer client_data, call_data;
30
Widget dialog = (Widget) client_data;
33
XtSetArg(args[iargs], XtNstring, &lstr);iargs++;
34
XtGetValues( dialog, args, iargs);
35
dialog_str=(char *) MALLOC( (strlen(lstr)+1)*(sizeof(char)));
38
strcpy(dialog_str,lstr);
39
ind = strlen(dialog_str) - 1 ;
40
if (dialog_str[ind] == '\n') dialog_str[ind] = '\0' ;
45
Scistring("Malloc : No more place");
52
/**********************************************************
53
* The cancel command callback
54
**********************************************************/
56
static XtCallbackProc DialogCancel(w,client_data,callData)
58
XtPointer client_data, callData;
64
/**********************************************************
65
* Dialog Widget creation
66
**********************************************************/
70
Dimension height,top,bot;
75
Widget shell,dialog,dialogpanned,label,okbutton,wid,labelviewport,cform;
76
static Display *dpy = (Display *) NULL;
78
ShellFormCreate("dialogShell",&shell,&dialogpanned,&dpy);
80
/* Create a Viewport+Label and resize it */
82
ViewpLabelCreate(dialogpanned,&label,&labelviewport,ScilabDialog.description);
85
XtSetArg(args[iargs], XtNstring ,ScilabDialog.init) ; iargs++;
86
dialog = XtCreateManagedWidget("ascii",asciiTextWidgetClass,dialogpanned, args, iargs);
88
/** Changing the height of the widget **/
90
while ( *p != '\0' ) { if ( *p == '\n' ) lines++;p++;};
93
XtSetArg(args[iargs], XtNheight ,&height) ; iargs++;
94
XtSetArg(args[iargs], XtNtopMargin ,&top) ; iargs++;
95
XtSetArg(args[iargs], XtNbottomMargin ,&bot) ; iargs++;
96
XtGetValues(dialog,args,iargs);
101
XtSetArg(args[iargs], XtNheight ,height) ; iargs++;
102
XtSetValues(dialog,args,iargs);
106
cform = XtCreateManagedWidget("cform",formWidgetClass,dialogpanned,args,iargs);
108
ButtonCreate(cform,&okbutton,(XtCallbackProc)DialogOk,
109
(XtPointer) dialog,ScilabDialog.pButName[0],"ok");
110
ButtonCreate(cform,&wid,(XtCallbackProc)DialogCancel,
111
(XtPointer) NULL,ScilabDialog.pButName[1],"cancel");
113
XtMyLoop(shell,dpy,0,&ok_Flag_sci);
114
if (ok_Flag_sci == -1)