From 9c77a95ae1978d096951e8efce39ad39c0f2cc73 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Fri, 9 Dec 2011 15:46:05 +0000 Subject: [PATCH] more onelab work --- Fltk/onelabWindow.cpp | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp index 94cb639da3..9da6aba9da 100644 --- a/Fltk/onelabWindow.cpp +++ b/Fltk/onelabWindow.cpp @@ -9,9 +9,9 @@ #if (FL_MAJOR_VERSION == 1) && (FL_MINOR_VERSION == 3) -#include <FL/Fl_Input_Choice.H> #include <FL/Fl_Check_Button.H> #include <FL/Fl_Box.H> +#include <FL/Fl_Input_Choice.H> #include "inputRange.h" #include "Context.h" #include "GModel.h" @@ -23,6 +23,7 @@ #include "CreateFile.h" #include "drawContext.h" #include "PView.h" +#include "PViewOptions.h" #include "FlGui.h" #include "paletteWindow.h" #include "menuWindow.h" @@ -225,6 +226,7 @@ bool onelab::localNetworkClient::run(const std::string &what) case GmshSocket::GMSH_MERGE_FILE: { int n = PView::list.size(); + for(int i = 0; i < n; i++) PView::list[i]->getOptions()->visible = 0; MergeFile(message); drawContext::global()->draw(); if(n != (int)PView::list.size()) @@ -745,14 +747,22 @@ void onelabWindow::rebuildTree() Fl_Input_Choice *but = new Fl_Input_Choice(1, 1, width, 1); _treeWidgets.push_back(but); but->copy_label(label.c_str()); - for(unsigned int j = 0; j < strings[i].getChoices().size(); j++) - but->add(strings[i].getChoices()[j].c_str()); + std::vector<Fl_Menu_Item> menu; + for(unsigned int j = 0; j < strings[i].getChoices().size(); j++){ + Fl_Menu_Item it = {strings[i].getChoices()[j].c_str(), 0, 0, 0, + (strings[i].getKind() == "file" && + j == strings[i].getChoices().size() - 1) ? FL_MENU_DIVIDER : 0}; + menu.push_back(it); + } if(strings[i].getKind() == "file"){ - but->menubutton()->add - ("Choose...", 0, onelab_input_choice_file_chooser_cb, (void*)n); - but->menubutton()->add - ("Edit...", 0, onelab_input_choice_file_edit_cb, (void*)n); + Fl_Menu_Item it = {"Choose...", 0, onelab_input_choice_file_chooser_cb, (void*)n}; + menu.push_back(it); + Fl_Menu_Item it2 = {"Edit...", 0, onelab_input_choice_file_edit_cb, (void*)n}; + menu.push_back(it2); } + Fl_Menu_Item it = {0}; + menu.push_back(it); + but->menubutton()->copy(&menu[0]); but->value(strings[i].getValue().c_str()); but->align(FL_ALIGN_RIGHT); but->callback(onelab_input_choice_cb, (void*)n); -- GitLab