- rename end-user functions => prefix them with "atoms"
[scilab.git] / scilab / modules / atoms / macros / atomsInstallCategory.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008 - INRIA - Delphine GASC <delphine.gasc@scilab.org>
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 // Installation of a toolbox sub-category  
11
12 function result = installToolboxCategory(cat, sscat, checkVersionScilab)
13   rhs = argn(2)
14
15   if (rhs == 2 | rhs == 1 | rhs == 3) then
16   if rhs == 2
17     checkVersionScilab = %t
18   end
19   result = %f
20   // we load the list of all the available toolboxes in the net
21   desc = atomsReadDesc("")
22   [nbTool, m] = size(desc("Toolbox"))
23   for i=1:nbTool
24     catTool = desc("Category")(i)
25     // We watch if this toolbox belong to the asked cat/sscat
26     regularExpression = "/" + cat + " \((\w*, )*" + sscat + "(, \w*)*\)/"
27     // If yes, we install it if it is convenient for the Scilab version
28     if regexp(catTool, regularExpression) <> [] & ((atomsVerifVersionScilab(desc("ScilabVersion")(i)) & checkVersionScilab) | ~checkVersionScilab)
29       // We can't take result = installToolbox() there is a install error, result = %f
30       installToolbox(desc("Toolbox")(i));
31       result = %t
32     end   
33   end
34   // If we have installed nothing
35   if ~result
36     atomsDisplayMessage(_("None of the toolboxes match in this category/sub-category for your version"))
37   end
38   return result
39   else
40     error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"),"installToolboxCategory",1,3))
41   end
42 endfunction