3
#include "wmen_scilab.h"
5
#include "men_scilab.h"
8
int MatrixDialogWindow();
12
/*************************************************
13
* Interface with Scilab
14
**********************************************************/
16
void C2F(xmatdg)(label,ptrlab,nlab,value,ptrv,descv,ptrdescv,desch,ptrdesch,nl,nc,res,ptrres,ierr)
17
int *label,*ptrlab,*nlab,*value,*ptrv,*descv,*ptrdescv,*desch,*ptrdesch,*nl,*nc,*res,*ptrres,*ierr;
23
/* conversion of scilab characters into strings */
24
ScilabMStr2C(label,nlab,ptrlab,&(MAD.labels),ierr);
25
if ( *ierr == 1) return;
26
ScilabMStr2CM(descv,nl,ptrdescv,&(MAD.VDesc),ierr);
27
if ( *ierr == 1) return;
28
ScilabMStr2CM(desch,nc,ptrdesch,&(MAD.HDesc),ierr);
29
if ( *ierr == 1) return;
30
ScilabMStr2CM(value,&(MAD.nv),ptrv,&(MAD.data),ierr);
31
if ( *ierr == 1) return;
35
rep = MatrixDialogWindow();
36
if ( rep == FALSE || MAD.ierr == 1 )
42
ScilabCM2MStr(MAD.data,MAD.nv,res,ptrres,maxchars,ierr);
46
for (i=0;i< MAD.nl*MAD.nc;i++) FREE(MAD.data[i]); FREE(MAD.data);
47
for (i=0;i< MAD.nl;i++) FREE(MAD.VDesc[i]); FREE(MAD.VDesc);
48
for (i=0;i< MAD.nc;i++) FREE(MAD.HDesc[i]); FREE(MAD.HDesc);
51
/*************************************************
53
**********************************************************/
55
int TestMatrixDialogWindow()
58
static char *labels = "LaBel";
59
static char *vdesc[] = {
60
"row 1","row 2","row 3",
63
static char *hdesc[] = {
69
MAD.nv = MAD.nc*MAD.nl;
73
/** Warning data must be allocated because
74
MatricDialogWindow will reallc it to store result **/
75
MAD.data = (char **) malloc((6+1)*sizeof(char *));
76
if ( MAD.data == ( char **) 0 ) return(FALSE);
77
for ( i = 0 ; i < 6 ; i++ )
79
MAD.data[i] = (char *) malloc(2*sizeof(char));
80
if ( MAD.data[i] == ( char *) 0 ) return(FALSE);
81
sprintf(MAD.data[i],"%1d",i);
83
MAD.data[6]= (char*)0;
84
rep = MatrixDialogWindow();