Fonction Scilab
fr


write_inf_pal

Contenu du fichier


//write_inf_pal
//Entrée : u file descriptor
//         listf : liste de fichiers de palette avec chemin(ex : \macros\scicos_blocks\Pll.cosf)
//         pal_title : liste de titres de la librairie (ex:modnum_pll)
//Sortie txt : information utile de chargement
//             ex :modnum_pal=['modnum_pll',MODNUM+'\macros\scicos_blocks\Pll.cosf];
//                 scicos_pal=[scicos_pal;modnum_pal];
function txt=write_inf_pal(u,listf,pal_title)
 if size(listf,'*')==size(pal_title,'*') then
  if MSDOS then
   listf=pathconvert(listf,%f,%t,'w');
  end
  fprintf(u,"\n%s\n",'//Add modnum palette');
  tt_loader=['modnum_pal=[';]
  for i=1:size(listf,"*")
     tt_loader=[tt_loader;''''+pal_title(i)+''',MODNUM+'''+listf(i)+''';'];
  end
  tt_loader(i+1)=tt_loader(i+1)+'];';
  tt_loader=[tt_loader;
             'predef(''c'');'
             'for ii=1:size(modnum_pal,1)'
             '  kk = find(scicos_pal(:,1)==modnum_pal(ii,1));'
             '  if kk<>[] then'
             '    scicos_pal(kk,2)=modnum_pal(ii,2);'
             '  else'
             '    scicos_pal=[scicos_pal;modnum_pal(ii,:)];'
             '  end'
             'end'
             'clear ii;'
             'clear kk;'
             ''
             '//Add gif icons'
             'if exists(''%scicos_gif'') then'
             '  if find(%scicos_gif==MODNUM+''/macros/gif_icons/'')==[] then'
             '    %scicos_gif=[%scicos_gif;'
             '                 MODNUM+''/macros/gif_icons/''];'
             '  end'
             'else  //compatibility for scilab-4.1.2'
             '  %scicos_gif=[SCI+''/macros/scicos/scicos_doc/man/gif_icons/'';'
             '               MODNUM+''/macros/gif_icons/''];'
             '  //overload do_pal_tree'
             '  do_pal_tree = do_pal_tree;'
             'end'
             ''];
  fprintf(u,"%s\n",tt_loader);
  txt=tt_loader;
 else
  printf("listf and pal_title must have the same size");
  abort
 end
endfunction