window title from block label
Allan CORNET [Thu, 4 Jun 2009 08:02:22 +0000 (10:02 +0200)]
12 files changed:
scilab/modules/scicos_blocks/includes/scoWindowScope.h
scilab/modules/scicos_blocks/src/c/canimxy.c
scilab/modules/scicos_blocks/src/c/canimxy3d.c
scilab/modules/scicos_blocks/src/c/cevscpe.c
scilab/modules/scicos_blocks/src/c/cfscope.c
scilab/modules/scicos_blocks/src/c/cmat3d.c
scilab/modules/scicos_blocks/src/c/cmatview.c
scilab/modules/scicos_blocks/src/c/cmscope.c
scilab/modules/scicos_blocks/src/c/cscope.c
scilab/modules/scicos_blocks/src/c/cscopxy.c
scilab/modules/scicos_blocks/src/c/cscopxy3d.c
scilab/modules/scicos_blocks/src/c/scoWindowScope.c

index ad660ff..d2ea56a 100644 (file)
@@ -242,11 +242,12 @@ void scoDrawScopeXYStyle(ScopeMemory * pScopeMemory);
 /**
    \brief Add Titles and Backgound on the scope
    \param pScopeMemory a pointer on a ScopeMemory
+   \param label a string to be printed on the title of the graphic window
    \param x a string to be printed on x
    \param y a string to be printed on y
    \param z a string to be printed on z (can be NULL)
  */
-void scoAddTitlesScope(ScopeMemory * pScopeMemory,char * x, char * y, char * z);
+void scoAddTitlesScope(ScopeMemory * pScopeMemory, char * label, char * x, char * y, char * z);
 
 /**
    \brief Draw a Scope libe ANIMXY or ANIMXY3D
index 4edf23a..698ec6c 100755 (executable)
@@ -62,6 +62,7 @@ void canimxy_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   int number_of_curves_by_subwin;
   int dimension = 2;
   int nbr_curves;
+  char *label;
 
   ipar = GetIparPtrs(block);
   nipar = GetNipar(block);
@@ -82,6 +83,7 @@ void canimxy_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   xmax = rpar[1];
   ymin = rpar[2];
   ymax = rpar[3]; 
+  label = GetLabelPtrs(block);
   number_of_subwin = 1;
 
   /* If only one element to draw*/
@@ -186,7 +188,7 @@ void canimxy_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
     }
   if(scoGetScopeActivation(*pScopeMemory) == 1)
     {
-      scoAddTitlesScope(*pScopeMemory,"x","y",NULL);
+      scoAddTitlesScope(*pScopeMemory,label,"x","y",NULL);
     }
 }
 
index 5f5aa66..ae2ff3e 100644 (file)
@@ -62,6 +62,7 @@ void canimxy3d_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int first
   int dimension = 3;
   int gomme_color;
   int size=0;
+  char *label;
 
   ipar = GetIparPtrs(block);
   nipar = GetNipar(block);
@@ -69,6 +70,8 @@ void canimxy3d_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int first
   win = ipar[0];
   color_number = ipar[1];
   buffer_size = ipar[2];
+  label = GetLabelPtrs(block);
+
   color = (int*)scicos_malloc(color_number*sizeof(int));
   line_size = (int*)scicos_malloc(color_number*sizeof(int));
   for(i = 0 ; i < color_number ; i++)
@@ -188,7 +191,7 @@ void canimxy3d_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int first
       pSUBWIN_FEATURE(scoGetPointerAxes(*pScopeMemory,0))->alpha = alpha;
       pSUBWIN_FEATURE(scoGetPointerAxes(*pScopeMemory,0))->theta = theta;
 
-      scoAddTitlesScope(*pScopeMemory,"x","y","z");
+      scoAddTitlesScope(*pScopeMemory,label,"x","y","z");
     }
   scicos_free(color);
   scicos_free(line_size);
index 2f62390..3ac7c61 100755 (executable)
@@ -57,6 +57,7 @@ void cevscpe_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   int number_of_curves_by_subwin;
   double xmin, xmax, ymin, ymax;
   int win_pos[2], win_dim[2];
+  char *label;
 
   /* Initialization */
   ipar =  GetIparPtrs(block);
@@ -65,6 +66,7 @@ void cevscpe_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   rpar = GetRparPtrs(block);
   period = rpar[0];
   nipar = GetNipar(block);
+  label = GetLabelPtrs(block);
   nbr_colors = nipar-6;
   colors=(int*)scicos_malloc(nbr_colors*sizeof(int));
   for( i = 2 ; i < nbr_colors+2 ; i++)
@@ -97,7 +99,7 @@ void cevscpe_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   scoInitOfWindow(*pScopeMemory, dimension, win, win_pos, win_dim, &xmin, &xmax, &ymin, &ymax, NULL, NULL);
   if(scoGetScopeActivation(*pScopeMemory) == 1)
     {
-      scoAddTitlesScope(*pScopeMemory,"t","y",NULL);
+      scoAddTitlesScope(*pScopeMemory,label,"t","y",NULL);
       scoAddCoupleOfSegments(*pScopeMemory,colors);
     }
   scicos_free(colors);
index 1a130b6..a150872 100755 (executable)
@@ -57,6 +57,7 @@ void cfscope_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   int nbr_of_curves;
   int color_flag;
   int * colors;
+  char *label;
 
   rpar = GetRparPtrs(block);
   ipar = GetIparPtrs(block);
@@ -68,6 +69,7 @@ void cfscope_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   period = rpar[3];
   ymin  = rpar[1];
   ymax = rpar[2];
+  label = GetLabelPtrs(block);
 
   dimension = 2;
   win_pos[0] = ipar[11];
@@ -101,7 +103,7 @@ void cfscope_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   scoInitOfWindow(*pScopeMemory, dimension, win, win_pos, win_dim, &xmin, &xmax, &ymin, &ymax, NULL, NULL);
   if(scoGetScopeActivation(*pScopeMemory) == 1)
     {
-      scoAddTitlesScope(*pScopeMemory,"t","y",NULL);
+      scoAddTitlesScope(*pScopeMemory,label,"t","y",NULL);
       
   /*Add a couple of polyline : one for the shortdraw and one for the longdraw*/
       scoAddCoupleOfPolylines(*pScopeMemory,colors);
index c74ef22..33b32fc 100644 (file)
@@ -56,6 +56,7 @@ void cmat3d_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdra
   int size_mat;
   int size_in_x;
   int size_in_y;
+  char *label;
   scoGraphicalObject pShortDraw;
 
   /*Retrieve parameters from the scicos_model() which has been created thanks to the interfacing function*/
@@ -95,6 +96,7 @@ void cmat3d_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdra
   zmin = ipar[0];
   zmax = ipar[1];
   number_of_curves_by_subwin = 1;
+  label = GetLabelPtrs(block);
 
   /*Allocating memory for scope only if the window has to be created and not redraw*/
   if(firstdraw == 1)
@@ -138,7 +140,7 @@ void cmat3d_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdra
              pSURFACE_FEATURE(pShortDraw)->pvecy[i] = ymin + i*h_y;
            } 
        }
-      scoAddTitlesScope(*pScopeMemory,"x","y","z");
+      scoAddTitlesScope(*pScopeMemory,label,"x","y","z");
     }
   /*Dont forget to free your scicos_malloc or MALLOC*/
   scicos_free(mat);
index 156c7cb..5425402 100644 (file)
@@ -54,6 +54,7 @@ void cmatview_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstd
   int number_of_subwin;
   double * mat;
   int size_mat;
+  char *label;
 
   rpar = GetRparPtrs(block);
   ipar = GetIparPtrs(block);
@@ -75,6 +76,7 @@ void cmatview_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstd
   ymin = 0;
 
   number_of_curves_by_subwin = 1;
+  label = GetLabelPtrs(block);
 
   /*Allocating memory*/
 
@@ -88,7 +90,7 @@ void cmatview_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstd
   if(scoGetScopeActivation(*pScopeMemory) == 1)
     {
       sciSetColormap(scoGetPointerScopeWindow(*pScopeMemory), mat , size_mat/3, 3);
-      scoAddTitlesScope(*pScopeMemory,"x","y",NULL);
+      scoAddTitlesScope(*pScopeMemory,label,"x","y",NULL);
       scoAddGrayplotForShortDraw(*pScopeMemory,0,0,GetInPortSize(block,1,1),GetInPortSize(block,1,2));
     }
   scicos_free(mat);
index 0cabc1f..70edc23 100644 (file)
@@ -59,6 +59,7 @@ void cmscope_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   int * number_of_curves_by_subwin;
   int number_of_subwin;
   int nbr_total_curves;
+  char *label;
 
 
   rpar = GetRparPtrs(block);
@@ -71,6 +72,7 @@ void cmscope_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   win_pos[1] = ipar[4];
   win_dim[0] = ipar[5];
   win_dim[1] = ipar[6];
+  label = GetLabelPtrs(block);
   nbr_total_curves = 0;
   //Don't forget malloc for 'type *'
   number_of_curves_by_subwin = (int*)scicos_malloc(number_of_subwin*sizeof(int));
@@ -129,7 +131,7 @@ void cmscope_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   scoInitOfWindow(*pScopeMemory, dimension, win, win_pos, win_dim, xmin, xmax, ymin, ymax, NULL, NULL);
   if(scoGetScopeActivation(*pScopeMemory) == 1)
     {
-      scoAddTitlesScope(*pScopeMemory,"t","y",NULL);
+      scoAddTitlesScope(*pScopeMemory,label,"t","y",NULL);
 
   /*Add a couple of polyline : one for the shortdraw and one for the longdraw*/
   /*   scoAddPolylineLineStyle(*pScopeMemory,colors); */
index 0bc25f7..1cd3f3d 100644 (file)
@@ -54,6 +54,7 @@ void cscope_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdra
   int number_of_subwin;
   int number_of_curves_by_subwin[1];
   int * colors;
+  char *label;
 
   /*Retrieving Parameters*/
   rpar = GetRparPtrs(block);
@@ -74,7 +75,7 @@ void cscope_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdra
   number_of_subwin = 1;
   ymin = rpar[1];
   ymax = rpar[2];
-
+  label = GetLabelPtrs(block);
 
   colors = (int*)scicos_malloc(number_of_curves_by_subwin[0]*sizeof(int));
   for(i = 0 ; i < number_of_curves_by_subwin[0] ; i++)
@@ -101,7 +102,7 @@ void cscope_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdra
   scoInitOfWindow(*pScopeMemory, dimension, win, win_pos, win_dim, &xmin, &xmax, &ymin, &ymax, NULL, NULL);
   if(scoGetScopeActivation(*pScopeMemory) == 1)
     {
-      scoAddTitlesScope(*pScopeMemory,"t","y",NULL);
+      scoAddTitlesScope(*pScopeMemory,label,"t","y",NULL);
       /*Add a couple of polyline : one for the shortdraw and one for the longdraw*/
       scoAddCoupleOfPolylines(*pScopeMemory,colors);
       /* scoAddPolylineLineStyle(*pScopeMemory,colors); */
index 3af2f0a..481720e 100755 (executable)
@@ -57,6 +57,7 @@ void cscopxy_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   int number_of_curves_by_subwin;
   int dimension = 2;
   int i;
+  char *label;
   scoGraphicalObject ShortDraw;
   scoGraphicalObject LongDraw;
 
@@ -78,6 +79,7 @@ void cscopxy_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
   xmax = rpar[1];
   ymin = rpar[2];
   ymax = rpar[3];
+  label = GetLabelPtrs(block);
 
   number_of_subwin = 1;
   number_of_curves_by_subwin = ipar[10]; //it is a trick to recognize the type of scope, not sure it is a good way because normally a curve is the combination of a short and a longdraw
@@ -104,7 +106,7 @@ void cscopxy_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int firstdr
          sciSetLineWidth(LongDraw, line_size);
          sciSetMarkSize(LongDraw, line_size);
        }
-      scoAddTitlesScope(*pScopeMemory,"x","y",NULL);
+      scoAddTitlesScope(*pScopeMemory,label,"x","y",NULL);
     }
 
        /* use only single buffering to be sure to draw on the screen */
index 33384cb..156fa80 100755 (executable)
@@ -57,6 +57,7 @@ void cscopxy3d_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int first
   int dimension = 3;
   int i;
   int size=0;
+  char *label;
   scoGraphicalObject ShortDraw;
   scoGraphicalObject LongDraw;
 
@@ -66,6 +67,7 @@ void cscopxy3d_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int first
   win = ipar[0];
   color_number = ipar[1];
   buffer_size = ipar[2];
+  label = GetLabelPtrs(block);
   color = (int*)scicos_malloc(color_number*sizeof(int));
   line_size = (int*)scicos_malloc(color_number*sizeof(int));
   for(i = 0 ; i < color_number ; i++)
@@ -103,7 +105,7 @@ void cscopxy3d_draw(scicos_block * block, ScopeMemory ** pScopeMemory, int first
     {
       pSUBWIN_FEATURE(scoGetPointerAxes(*pScopeMemory,0))->alpha = alpha;
       pSUBWIN_FEATURE(scoGetPointerAxes(*pScopeMemory,0))->theta = theta;      
-      scoAddTitlesScope(*pScopeMemory,"x","y","z");
+      scoAddTitlesScope(*pScopeMemory,label,"x","y","z");
       
        
       for(i = 0 ; i < scoGetNumberOfCurvesBySubwin(*pScopeMemory,0) ; i++)
index 40fe93e..94d6790 100644 (file)
@@ -912,14 +912,11 @@ void scoAddRectangleForLongDraw(ScopeMemory * pScopeMemory, int i, int j, double
   scoSetHandleFromPointerLongDraw(pScopeMemory,i,j,pLongDraw);
 }
 
-void scoAddTitlesScope(ScopeMemory * pScopeMemory, char * x, char * y, char * z)
+void scoAddTitlesScope(ScopeMemory * pScopeMemory, char * label, char * x, char * y, char * z)
 {
   extern int get_block_number();
   int i;
   int nxname;
-  int kfun;
-  char buf[40];
-  int i__1;
   char ** title=NULL;
   char * x_title=NULL;
   char * y_title;
@@ -967,22 +964,22 @@ void scoAddTitlesScope(ScopeMemory * pScopeMemory, char * x, char * y, char * z)
   scicos_free(title);
 
   /* Code for naming the window*/
-  nxname = 40;
-  kfun = get_block_number();
-  C2F(getlabel)(&kfun, buf, &nxname);
-  if(nxname > 39)
-    {
-      nxname = 39;
-    }
-  i__1 = nxname;
-  *(buf+i__1) = *"\000";
-  if((nxname == 1 && *(unsigned char *)buf == ' ') || (nxname ==0))
+  if (label != NULL)
+  {
+       nxname = strlen(label);
+       if (nxname > 39) 
+       {
+               nxname = 39;
+       }
+  }
+  *(label + nxname) = *"\000";
+  if((nxname == 1 && *(unsigned char *)label == ' ') || (nxname ==0))
     {
       /*do nothing*/
     }
   else
     {
-      sciSetName(scoGetPointerScopeWindow(pScopeMemory), buf);
+      sciSetName(scoGetPointerScopeWindow(pScopeMemory), label);
     }
   /*End of code for naming window */
   sciSetUsedWindow(scoGetWindowID(pScopeMemory));