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
|
/* Copyright ENPC */
#ifdef WIN32
#include "wmen_scilab.h"
#else
#include "men_scilab.h"
#endif
#ifdef WIN32
#include "../os_specific/win_mem_alloc.h" /* MALLOC */
#else
#include "../os_specific/sci_mem_alloc.h" /* MALLOC */
#endif
SciMess ScilabMessage ={NULL,NULL,-1,0};
/*************************************************
* Scilab Interface
**********************************************************/
void C2F(xmsg)(int *basstrings, int *ptrstrings, int *nstring, int *btn, int *ptrbtn, int *nb, int *nrep, int *ierr)
{
int i,rep;;
if (ScilabMessage.nb >= 0)
{
sciprint("Only one message window at a time please \r\n");
return ;
}
*ierr=0;
ScilabMStr2C(basstrings,nstring,ptrstrings,&(ScilabMessage.string),ierr);
if ( *ierr == 1) return;
ScilabMStr2CM(btn,nb,ptrbtn,&(ScilabMessage.pButName),ierr);
if ( *ierr == 1) return;
ScilabMessage.nb = *nb;
rep = ExposeMessageWindow();
FREE(ScilabMessage.string);
for (i=0 ; i < *nb ; i++ )FREE(ScilabMessage.pButName[i]);
FREE(ScilabMessage.pButName);
*nrep= rep;
ScilabMessage.nb = -1;
}
/*************************************************
* Scilab Interface for modeless message
**********************************************************/
void C2F(xmsg1)(int *basstrings, int *ptrstrings, int *nstring, int *btn, int *ptrbtn, int *nb, int *ierr)
{
int i;
if (ScilabMessage.nb >= 0)
{
sciprint("Only one message window at a time please \r\n");
return ;
}
*ierr=0;
ScilabMStr2C(basstrings,nstring,ptrstrings,&(ScilabMessage.string),ierr);
if ( *ierr == 1) return;
ScilabMStr2CM(btn,nb,ptrbtn,&(ScilabMessage.pButName),ierr);
if ( *ierr == 1) return;
ScilabMessage.nb = *nb;
ExposeMessageWindow1();
FREE(ScilabMessage.string);
for (i=0 ; i < *nb ; i++ )FREE(ScilabMessage.pButName[i]);
FREE(ScilabMessage.pButName);
ScilabMessage.nb = -1;
}
|