diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp index c29c03e752b0d3d5fbc8b6c829df67dfa0e082af..5b70471a837994579e45138e7ef85d406051199c 100644 --- a/Fltk/onelabWindow.cpp +++ b/Fltk/onelabWindow.cpp @@ -322,15 +322,19 @@ void onelab_cb(Fl_Widget *w, void *data) action = "initial check"; } + std::string ext = FlGui::instance()->onelab->getModelExtension(); + if(action == "choose model"){ - if(fileChooser(FILE_CHOOSER_SINGLE, "Choose", "*.pro")) + std::string pattern = "*"; + pattern += ext; + if(fileChooser(FILE_CHOOSER_SINGLE, "Choose", pattern.c_str())) FlGui::instance()->onelab->setModelName(fileChooserGetName(1)); action = "check"; } if(FlGui::instance()->onelab->getModelName().empty()){ std::vector<std::string> split = SplitFileName(GModel::current()->getFileName()); - FlGui::instance()->onelab->setModelName(split[0] + split[1] + ".pro"); + FlGui::instance()->onelab->setModelName(split[0] + split[1] + ext); } FlGui::instance()->onelab->deactivate(); @@ -629,6 +633,10 @@ void onelabWindow::addSolver(const std::string &name, const std::string &command onelab::localNetworkClient *c = new onelab::localNetworkClient(name, commandLine); c->setIndex(index); if(commandLine.empty()) onelab_choose_executable_cb(0, (void *)c); + if(name == "GetDP") + setModelExtension(".pro"); + else + setModelExtension(".py"); } FlGui::instance()->onelab->rebuildSolverList(); } diff --git a/Fltk/onelabWindow.h b/Fltk/onelabWindow.h index 7bb93a8c230f2f0b1147e709f9d12f4cc097d402..65af9588045489693d145a7de2485b3f93b02c32 100644 --- a/Fltk/onelabWindow.h +++ b/Fltk/onelabWindow.h @@ -25,6 +25,7 @@ class onelabWindow{ Fl_Menu_Button *_gear; std::vector<Fl_Widget*> _treeWidgets; std::string _title; + std::string _modelExtension; public: onelabWindow(int deltaFontSize=0); int x(){ return _win->x(); } @@ -38,6 +39,8 @@ class onelabWindow{ int shown(){ return _win->shown(); } std::string getModelName(){ return _model->value(); } void setModelName(const std::string &name){ _model->value(name.c_str()); } + std::string getModelExtension(){ return _modelExtension; } + void setModelExtension(const std::string &ext){ _modelExtension = ext; } int meshAuto(){ return _gear->menu()[1].value(); } std::string getPath(Fl_Tree_Item *item) {