diff --git a/Fltk/FlGui.cpp b/Fltk/FlGui.cpp index a4c39be1e9c5c63f1bbb3b1a66454f6545374ac2..70d25ad0aa1249fb7fb64698fc45ae618564688b 100644 --- a/Fltk/FlGui.cpp +++ b/Fltk/FlGui.cpp @@ -263,7 +263,7 @@ FlGui::FlGui(int argc, char **argv) geoContext = new geometryContextWindow(CTX::instance()->deltaFontSize); meshContext = new meshContextWindow(CTX::instance()->deltaFontSize); about = new aboutWindow(); - for(int i = 0; i < 5; i++) + for(int i = 0; i < NB_SOLVER_MAX; i++) solver.push_back(new solverWindow(i, CTX::instance()->deltaFontSize)); // init solver plugin stuff diff --git a/Fltk/FlGui.h b/Fltk/FlGui.h index b7f2bb69ff6ea976857b724b9aeec84eb39dd762..5cd7469a4fb8216ceab06c976982aadb8c792fc4 100644 --- a/Fltk/FlGui.h +++ b/Fltk/FlGui.h @@ -13,6 +13,7 @@ #define GMSH_WINDOW_BOX FL_FLAT_BOX #define NB_BUTT_SCROLL 25 #define NB_HISTORY_MAX 1000 +#define NB_SOLVER_MAX 5 #define IW (10 * FL_NORMAL_SIZE) // input field width #define BB (7 * FL_NORMAL_SIZE) // width of a button with internal label #define BH (2 * FL_NORMAL_SIZE + 1) // button height diff --git a/Fltk/solverWindow.cpp b/Fltk/solverWindow.cpp index e8b322075e43b6a39bffbd5921c3075cee02c6b0..6aa02706053bee078f5b66f7535014b89feb185d 100644 --- a/Fltk/solverWindow.cpp +++ b/Fltk/solverWindow.cpp @@ -152,39 +152,18 @@ void GmshRemote::run(std::string args) Msg::StatusBar(2, false, "%s %s", name.c_str(), message); break; case GmshSocket::GMSH_OPTION_1: - if(initOption[0]){ - optionValue[0].clear(); - initOption[0] = false; - } - optionValue[0].push_back(message); - break; case GmshSocket::GMSH_OPTION_2: - if(initOption[1]){ - optionValue[1].clear(); - initOption[1] = false; - } - optionValue[1].push_back(message); - break; case GmshSocket::GMSH_OPTION_3: - if(initOption[2]){ - optionValue[2].clear(); - initOption[2] = false; - } - optionValue[2].push_back(message); - break; case GmshSocket::GMSH_OPTION_4: - if(initOption[3]){ - optionValue[3].clear(); - initOption[3] = false; - } - optionValue[3].push_back(message); - break; case GmshSocket::GMSH_OPTION_5: - if(initOption[4]){ - optionValue[4].clear(); - initOption[4] = false; + { + int i = (int)type - (int)GmshSocket::GMSH_OPTION_1; + if(initOption[i]){ + optionValue[i].clear(); + initOption[i] = false; + } + optionValue[i].push_back(message); } - optionValue[4].push_back(message); break; case GmshSocket::GMSH_MERGE_FILE: if(mergeViews) { @@ -240,7 +219,7 @@ void GmshRemote::run(std::string args) if(this == it->second) break; num++; } - if(num >= 0 && num < 5){ + if(num >= 0 && num < NB_SOLVER_MAX){ for(unsigned int i = 0; i < optionName.size(); i++) { if(optionName[i].empty()) break; FlGui::instance()->solver[num]->choice[i]->clear(); @@ -478,7 +457,7 @@ solverWindow::solverWindow(int solverIndex, int deltaFontSize) choice[i]->align(FL_ALIGN_RIGHT); } - static int arg[5][5][2]; + static int arg[NB_SOLVER_MAX][5][2]; for(unsigned int i = 0; i < GmshRemote::get(solverIndex)->buttonName.size(); i++) { if(GmshRemote::get(solverIndex)->buttonName[i].size()){ arg[solverIndex][i][0] = solverIndex;