load: avoid creation of double axes in figure
[scilab.git] / scilab / modules / ui_data / sci_gateway / cpp / sci_filebrowser.cpp
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2011 - DIGITEO - Calixte DENIZET
4  * Copyright (C) 2015 - Scilab Enterprises - Antoine ELIAS
5  *
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  */
16
17 #include "ui_data_gw.hxx"
18 #include "ui_data.h"
19 #include "function.hxx"
20 #include "FileBrowser.hxx"
21
22 extern "C"
23 {
24 #include "Scierror.h"
25 #include "getScilabJavaVM.h"
26 #include "scicurdir.h"
27 }
28 /*--------------------------------------------------------------------------*/
29 using namespace org_scilab_modules_ui_data;
30 /*--------------------------------------------------------------------------*/
31 static const std::string fname("filebrowser");
32 /*--------------------------------------------------------------------------*/
33 types::Function::ReturnValue sci_filebrowser(types::typed_list &in, int _iRetCount, types::typed_list &out)
34 {
35     char * cwd = NULL;
36     int err = 0;
37
38     if (in.size() != 0)
39     {
40         Scierror(999, _("%s: Wrong number of input arguments: %d expected.\n"), fname.data(), 0);
41         return types::Function::Error;
42     }
43
44     if (_iRetCount != 1)
45     {
46         Scierror(999, _("%s: Wrong number of output arguments: %d expected.\n"), fname.data(), 1);
47         return types::Function::Error;
48     }
49
50     FileBrowser::openFileBrowser(getScilabJavaVM());
51
52     cwd = scigetcwd(&err);
53     if (cwd)
54     {
55         FileBrowser::setBaseDir(getScilabJavaVM(), cwd);
56     }
57
58     return types::Function::OK;
59 }