Skip to content
Snippets Groups Projects
Commit a69f3bef authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

onelab

parent d2db0a43
Branches
Tags
No related merge requests found
...@@ -1595,7 +1595,11 @@ static void geometry_physical_add_cb(Fl_Widget *w, void *data) ...@@ -1595,7 +1595,11 @@ static void geometry_physical_add_cb(Fl_Widget *w, void *data)
void mesh_save_cb(Fl_Widget *w, void *data) void mesh_save_cb(Fl_Widget *w, void *data)
{ {
bool force = data ? true : false; bool force_overwrite = false;
if(data){
std::string str((const char*)data);
if(str == "force_overwrite") force_overwrite = true;
}
std::string name = CTX::instance()->outputFileName; std::string name = CTX::instance()->outputFileName;
if(name.empty()){ if(name.empty()){
...@@ -1604,7 +1608,7 @@ void mesh_save_cb(Fl_Widget *w, void *data) ...@@ -1604,7 +1608,7 @@ void mesh_save_cb(Fl_Widget *w, void *data)
else else
name = GetDefaultFileName(CTX::instance()->mesh.fileFormat); name = GetDefaultFileName(CTX::instance()->mesh.fileFormat);
} }
if(!force && CTX::instance()->confirmOverwrite) { if(!force_overwrite && CTX::instance()->confirmOverwrite) {
if(!StatFile(name)) if(!StatFile(name))
if(!fl_choice("File '%s' already exists.\n\nDo you want to replace it?", if(!fl_choice("File '%s' already exists.\n\nDo you want to replace it?",
"Cancel", "Replace", 0, name.c_str())) "Cancel", "Replace", 0, name.c_str()))
......
...@@ -240,19 +240,20 @@ void onelab_cb(Fl_Widget *w, void *data) ...@@ -240,19 +240,20 @@ void onelab_cb(Fl_Widget *w, void *data)
FlGui::instance()->onelab->deactivate(); FlGui::instance()->onelab->deactivate();
// Gmsh client is special (always gets executed first). The // the Gmsh client is special: it always gets executed first. (The
// meta-model will allow more flexibility: but in the simple GUI we // meta-model will allow more flexibility: but in the simple GUI we
// can assume this // can assume this)
if(onelab::server::instance()->findClient("Gmsh") != if(onelab::server::instance()->findClient("Gmsh") !=
onelab::server::instance()->lastClient()){ onelab::server::instance()->lastClient()){
// reload geometry if Gmsh parameters have been modified // reload geometry and/or mesh if Gmsh parameters have been modified
if(onelab::server::instance()->getChanged("Gmsh")){ if(onelab::server::instance()->getChanged("Gmsh")){
if(action == "check"){ if(action == "check"){
geometry_reload_cb(0, 0); geometry_reload_cb(0, 0);
} }
else if(action == "compute"){ else if(action == "compute"){
geometry_reload_cb(0, 0);
mesh_3d_cb(0, 0); mesh_3d_cb(0, 0);
mesh_save_cb(0, (void*)"force"); mesh_save_cb(0, (void*)"force_overwrite");
onelab::server::instance()->setChanged(false, "Gmsh"); onelab::server::instance()->setChanged(false, "Gmsh");
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment