From eb37ed7a62d7ad1a9c9974b60c2ee43593360428 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Mon, 7 May 2012 11:00:16 +0000 Subject: [PATCH] --- Fltk/onelabWindow.cpp | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp index 3c3df0f58c..aa988eba97 100644 --- a/Fltk/onelabWindow.cpp +++ b/Fltk/onelabWindow.cpp @@ -1033,21 +1033,9 @@ void onelabWindow::_addParameter(onelab::number &p) Fl_Tree_Item *n = _tree->add(p.getName().c_str()); n->labelsize(FL_NORMAL_SIZE + 5); std::string label = p.getShortName(); + std::vector<double> choices = p.getChoices(); _tree->begin(); - unsigned int numChoices = p.getChoices().size(); - if(numChoices == 2 && p.getChoices()[0] == 0 && p.getChoices()[1] == 1){ - // check box (boolean choice) - Fl_Check_Button *but = new Fl_Check_Button(1, 1, _itemWidth, 1); - _treeWidgets.push_back(but); - but->copy_label(label.c_str()); - but->value(p.getValue()); - but->callback(onelab_check_button_cb, (void*)n); - n->widget(but); - Fl_Color c; - if(getFlColor(p.getAttribute("Highlight"), c)) - n->labelbgcolor(c); - } - else if(numChoices && numChoices == p.getValueLabels().size()){ + if(choices.size() && choices.size() == p.getValueLabels().size()){ // enumeration (display choices as value labels, not numbers) Fl_Choice *but = new Fl_Choice(1, 1, _itemWidth, 1); _treeWidgets.push_back(but); @@ -1065,7 +1053,6 @@ void onelabWindow::_addParameter(onelab::number &p) Fl_Menu_Item it = {0}; menu.push_back(it); but->copy(&menu[0]); - std::vector<double> choices = p.getChoices(); for(unsigned int i = 0; i < choices.size(); i++){ if(p.getValue() == choices[i]){ but->value(i); @@ -1079,6 +1066,18 @@ void onelabWindow::_addParameter(onelab::number &p) if(getFlColor(p.getAttribute("Highlight"), c)) n->labelbgcolor(c); } + else if(choices.size() == 2 && choices[0] == 0 && choices[1] == 1){ + // check box (boolean choice) + Fl_Check_Button *but = new Fl_Check_Button(1, 1, _itemWidth, 1); + _treeWidgets.push_back(but); + but->copy_label(label.c_str()); + but->value(p.getValue()); + but->callback(onelab_check_button_cb, (void*)n); + n->widget(but); + Fl_Color c; + if(getFlColor(p.getAttribute("Highlight"), c)) + n->labelbgcolor(c); + } else{ // general number input inputRange *but = new inputRange -- GitLab