From 1fd6955ee4bf56aa4fde4dcbd38162d745e2074a Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Tue, 1 Nov 2011 16:48:12 +0000 Subject: [PATCH] model extension --- Fltk/onelabWindow.cpp | 12 ++++++++++-- Fltk/onelabWindow.h | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp index c29c03e752..5b70471a83 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 7bb93a8c23..65af958804 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) { -- GitLab