diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index 5b7716066cbb38d90db66f54458d22ed19a31e01..3f873d58ae10205cfb79c6122dda70ca15dc707b 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -879,7 +879,7 @@ StringXNumber ViewOptions_Number[] = { { F|O, "PointSize" , opt_view_point_size , 2. , "Display size of points (in pixels)" }, { F|O, "PointType" , opt_view_point_type , 0. , - "Display points as solid colors or 3D spheres" }, + "Display points as solid color dots or 3D spheres" }, { F|O, "PositionX" , opt_view_position0 , 80. , "Horizontal position (in pixels) of the upper left corner of the scale or 2D graph" }, { F|O, "PositionY" , opt_view_position1 , 50. , diff --git a/Common/Options.cpp b/Common/Options.cpp index 531ed7ca7293c5a05ed5a8536725866f48286c65..b91aec231f7e69fadbf376e14f572284f2ae7e45 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.81 2002-06-15 17:41:35 geuzaine Exp $ +// $Id: Options.cpp,v 1.82 2002-06-15 21:25:27 geuzaine Exp $ // // Copyright (C) 1997 - 2002 C. Geuzaine, J.-F. Remacle // @@ -2315,10 +2315,12 @@ double opt_view_intervals_type(OPT_ARGS_NUM){ } #ifdef _FLTK if(WID && (action & GMSH_GUI) && (num == WID->view_number)){ - WID->view_butt[30]->value(v->IntervalsType==DRAW_POST_ISO); - WID->view_butt[31]->value(v->IntervalsType==DRAW_POST_DISCRETE); - WID->view_butt[32]->value(v->IntervalsType==DRAW_POST_CONTINUOUS); - WID->view_butt[33]->value(v->IntervalsType==DRAW_POST_NUMERIC); + switch(v->IntervalsType){ + case DRAW_POST_ISO: WID->view_choice[0]->value(0); break; + case DRAW_POST_DISCRETE: WID->view_choice[0]->value(1); break; + case DRAW_POST_CONTINUOUS: WID->view_choice[0]->value(2); break; + case DRAW_POST_NUMERIC: WID->view_choice[0]->value(3); break; + } } #endif return v->IntervalsType; @@ -2659,9 +2661,11 @@ double opt_view_scale_type(OPT_ARGS_NUM){ } #ifdef _FLTK if(WID && (action & GMSH_GUI) && (num == WID->view_number)){ - WID->view_butt[35]->value(v->ScaleType==DRAW_POST_LINEAR); - WID->view_butt[36]->value(v->ScaleType==DRAW_POST_LOGARITHMIC); - WID->view_butt[37]->value(v->ScaleType==DRAW_POST_DOUBLELOGARITHMIC); + switch(v->ScaleType){ + case DRAW_POST_LINEAR: WID->view_choice[0]->value(0); break; + case DRAW_POST_LOGARITHMIC: WID->view_choice[0]->value(1); break; + case DRAW_POST_DOUBLELOGARITHMIC: WID->view_choice[0]->value(2); break; + } } #endif return v->ScaleType; @@ -2686,8 +2690,10 @@ double opt_view_tensor_type(OPT_ARGS_NUM){ } #ifdef _FLTK if(WID && (action & GMSH_GUI) && (num == WID->view_number)){ - WID->view_butt[66]->value(v->TensorType==DRAW_POST_VONMISES); - WID->view_butt[67]->value(v->TensorType==DRAW_POST_EIGENVECTORS); + switch(v->ScaleType){ + case DRAW_POST_VONMISES: WID->view_choice[4]->value(0); break; + case DRAW_POST_EIGENVECTORS: WID->view_choice[4]->value(1); break; + } } #endif return v->TensorType; @@ -2700,10 +2706,14 @@ double opt_view_arrow_type(OPT_ARGS_NUM){ } #ifdef _FLTK if(WID && (action & GMSH_GUI) && (num == WID->view_number)){ - WID->view_butt[60]->value(v->ArrowType==DRAW_POST_SEGMENT); - WID->view_butt[61]->value(v->ArrowType==DRAW_POST_ARROW); - WID->view_butt[62]->value(v->ArrowType==DRAW_POST_CONE); - WID->view_butt[63]->value(v->ArrowType==DRAW_POST_DISPLACEMENT); + switch(v->ScaleType){ + case DRAW_POST_SEGMENT: WID->view_choice[2]->value(0); break; + case DRAW_POST_ARROW: WID->view_choice[2]->value(1); break; + case DRAW_POST_ARROW3D: WID->view_choice[2]->value(2); break; + case DRAW_POST_CONE: WID->view_choice[2]->value(3); break; + case DRAW_POST_CONE3D: WID->view_choice[2]->value(4); break; + case DRAW_POST_DISPLACEMENT: WID->view_choice[2]->value(5); break; + } } #endif return v->ArrowType; @@ -2716,8 +2726,10 @@ double opt_view_arrow_location(OPT_ARGS_NUM){ } #ifdef _FLTK if(WID && (action & GMSH_GUI) && (num == WID->view_number)){ - WID->view_butt[64]->value(v->ArrowLocation==DRAW_POST_LOCATE_COG); - WID->view_butt[65]->value(v->ArrowLocation==DRAW_POST_LOCATE_VERTEX); + switch(v->ScaleType){ + case DRAW_POST_LOCATE_COG: WID->view_choice[3]->value(0); break; + case DRAW_POST_LOCATE_VERTEX: WID->view_choice[3]->value(1); break; + } } #endif return v->ArrowLocation; @@ -2752,6 +2764,11 @@ double opt_view_point_type(OPT_ARGS_NUM){ v->PointType = (int)val; v->Changed = 1; } +#ifdef _FLTK + if(WID && (action & GMSH_GUI) && (num == WID->view_number)){ + WID->view_choice[5]->value(v->PointType?1:0); + } +#endif return v->PointType; } diff --git a/Common/Views.cpp b/Common/Views.cpp index b46dde6b177f7b698917cd1c05d8340b605125eb..1dc6d871ab851eb3bb05ec4551463a4d8e30b76d 100644 --- a/Common/Views.cpp +++ b/Common/Views.cpp @@ -1,4 +1,4 @@ -// $Id: Views.cpp,v 1.71 2002-06-15 17:41:35 geuzaine Exp $ +// $Id: Views.cpp,v 1.72 2002-06-15 21:25:27 geuzaine Exp $ // // Copyright (C) 1997 - 2002 C. Geuzaine, J.-F. Remacle // @@ -66,6 +66,7 @@ Post_View * BeginView(int allocate){ v->Index = i; v->Dirty = 1; + v->DisplayListNum = -1; v->NbTimeStep = 0; v->NbSP = v->NbVP = v->NbTP = 0; v->NbSL = v->NbVL = v->NbTL = 0; diff --git a/Common/Views.h b/Common/Views.h index 6f5c7c10614bf34804a86efb723b05876f60b2e3..c1aa2b744add084d7cc894f85eaa382a6645ef7d 100644 --- a/Common/Views.h +++ b/Common/Views.h @@ -27,7 +27,7 @@ class smooth_container; class Post_View{ public : // intrinsic to a view - int Num, Index, Changed, DuplicateOf, Links, Dirty; + int Num, Index, Changed, DuplicateOf, Links, Dirty, DisplayListNum; char FileName[256], Name[256], AbscissaName[256]; // the data @@ -98,7 +98,8 @@ class Post_View{ #define DRAW_POST_PYRAMID 3 #define DRAW_POST_CONE 4 #define DRAW_POST_DISPLACEMENT 5 -#define DRAW_POST_ARROW_HEAD 6 +#define DRAW_POST_ARROW3D 6 +#define DRAW_POST_CONE3D 7 // ArrowLocation #define DRAW_POST_LOCATE_COG 1 diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 2e095f31d5a5db3d3ae2fb51d69409330e79db34..e4eb9669c570baf12b9c94f0a32538ceeabbabb6 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.128 2002-05-28 21:00:56 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.129 2002-06-15 21:25:27 geuzaine Exp $ // // Copyright (C) 1997 - 2002 C. Geuzaine, J.-F. Remacle // @@ -2130,50 +2130,70 @@ void view_options_ok_cb(CALLBACK_ARGS){ WID->view_butt[2]->value()?DRAW_POST_2D_SPACE: DRAW_POST_2D_TIME); - if(force || WID->view_butt[35]->changed() || - WID->view_butt[36]->changed() || - WID->view_butt[37]->changed()) - opt_view_scale_type(i, GMSH_SET, - WID->view_butt[35]->value()?DRAW_POST_LINEAR: - WID->view_butt[36]->value()?DRAW_POST_LOGARITHMIC: - DRAW_POST_DOUBLELOGARITHMIC); + if(force || WID->view_choice[1]->changed()){ + int val; + switch(WID->view_choice[1]->value()){ + case 0 : val = DRAW_POST_LINEAR; break; + case 1 : val = DRAW_POST_LOGARITHMIC; break; + default : val = DRAW_POST_DOUBLELOGARITHMIC; break; + } + opt_view_scale_type(i, GMSH_SET, val); + } if(force || WID->view_butt[38]->changed()) opt_view_saturate_values(i, GMSH_SET, WID->view_butt[38]->value()); - - if(force || WID->view_butt[30]->changed() || - WID->view_butt[31]->changed() || - WID->view_butt[32]->changed() || - WID->view_butt[33]->changed()) - opt_view_intervals_type(i, GMSH_SET, - WID->view_butt[30]->value()?DRAW_POST_ISO: - WID->view_butt[31]->value()?DRAW_POST_DISCRETE: - WID->view_butt[32]->value()?DRAW_POST_CONTINUOUS: - DRAW_POST_NUMERIC); - - if(force || WID->view_butt[60]->changed() || - WID->view_butt[61]->changed() || - WID->view_butt[62]->changed() || - WID->view_butt[63]->changed()) - opt_view_arrow_type(i, GMSH_SET, - WID->view_butt[60]->value()?DRAW_POST_SEGMENT: - WID->view_butt[61]->value()?DRAW_POST_ARROW: - WID->view_butt[62]->value()?DRAW_POST_CONE: - DRAW_POST_DISPLACEMENT); - - - if(force || WID->view_butt[66]->changed() || - WID->view_butt[67]->changed()) - opt_view_tensor_type(i, GMSH_SET, - WID->view_butt[66]->value()?DRAW_POST_VONMISES: - DRAW_POST_EIGENVECTORS); - - if(force || WID->view_butt[64]->changed() || - WID->view_butt[65]->changed()) - opt_view_arrow_location(i, GMSH_SET, - WID->view_butt[64]->value()?DRAW_POST_LOCATE_COG: - DRAW_POST_LOCATE_VERTEX); + + if(force || WID->view_choice[0]->changed()){ + int val; + switch(WID->view_choice[0]->value()){ + case 0 : val = DRAW_POST_ISO; break; + case 1 : val = DRAW_POST_DISCRETE; break; + case 2 : val = DRAW_POST_CONTINUOUS; break; + default : val = DRAW_POST_NUMERIC; break; + } + opt_view_intervals_type(i, GMSH_SET, val); + } + + if(force || WID->view_choice[5]->changed()){ + int val; + switch(WID->view_choice[5]->value()){ + case 0 : val = 0; break; + default : val = 1; break; + } + opt_view_point_type(i, GMSH_SET, val); + } + + if(force || WID->view_choice[2]->changed()){ + int val; + switch(WID->view_choice[2]->value()){ + case 0 : val = DRAW_POST_SEGMENT; break; + case 1 : val = DRAW_POST_ARROW; break; + case 2 : val = DRAW_POST_ARROW3D; break; + case 3 : val = DRAW_POST_CONE; break; + case 4 : val = DRAW_POST_CONE3D; break; + default : val = DRAW_POST_DISPLACEMENT; break; + } + opt_view_arrow_type(i, GMSH_SET, val); + } + + if(force || WID->view_choice[3]->changed()){ + int val; + switch(WID->view_choice[3]->value()){ + case 0 : val = DRAW_POST_LOCATE_COG; break; + default : val = DRAW_POST_LOCATE_VERTEX; break; + } + opt_view_arrow_location(i, GMSH_SET, val); + } + + if(force || WID->view_choice[4]->changed()){ + int val; + switch(WID->view_choice[4]->value()){ + case 0 : val = DRAW_POST_VONMISES; break; + default : val = DRAW_POST_EIGENVECTORS; break; + } + opt_view_tensor_type(i, GMSH_SET, val); + } if(force || WID->view_butt[10]->changed()) opt_view_show_element(i, GMSH_SET, WID->view_butt[10]->value()); @@ -2314,6 +2334,7 @@ void view_options_ok_cb(CALLBACK_ARGS){ if(WID->view_butt[i]) WID->view_butt[i]->clear_changed(); if(WID->view_value[i]) WID->view_value[i]->clear_changed(); if(WID->view_input[i]) WID->view_input[i]->clear_changed(); + if(WID->view_choice[i]) WID->view_choice[i]->clear_changed(); WID->view_colorbar_window->clear_changed(); } diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index 85f9b87cd27e04dc64abf229e55a0207cae873a7..39b9554bf52f453ac0905f93d733858e0c12fb18 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.179 2002-05-23 17:25:09 geuzaine Exp $ +// $Id: GUI.cpp,v 1.180 2002-06-15 21:25:27 geuzaine Exp $ // // Copyright (C) 1997 - 2002 C. Geuzaine, J.-F. Remacle // @@ -2208,6 +2208,7 @@ void GUI::create_view_options_window(int num){ view_butt[i] = NULL; view_value[i] = NULL; view_input[i] = NULL; + view_choice[i] = NULL; } view_window = new Fl_Window(width,height); @@ -2359,50 +2360,44 @@ void GUI::create_view_options_window(int num){ view_value[30]->maximum(256); view_value[30]->step(1); view_value[30]->callback(set_changed_cb, 0); - - { - Fl_Group *o2 = new Fl_Group(2*WB, 2*WB+2*BH, width/2, 4*BH, 0); - view_butt[30] = new Fl_Check_Button(2*WB, 2*WB+2*BH, BW/2-WB, BH, "Iso-values"); - view_butt[31] = new Fl_Check_Button(2*WB, 2*WB+3*BH, BW/2-WB, BH, "Filled iso-values"); - view_butt[32] = new Fl_Check_Button(2*WB, 2*WB+4*BH, BW/2-WB, BH, "Continuous map"); - view_butt[33] = new Fl_Check_Button(2*WB, 2*WB+5*BH, BW/2-WB, BH, "Numeric values"); - for(i=30 ; i<=33 ; i++){ - view_butt[i]->type(FL_RADIO_BUTTON); - view_butt[i]->down_box(RADIO_BOX); - view_butt[i]->selection_color(RADIO_COLOR); - view_butt[i]->callback(set_changed_cb, 0); - } - o2->end(); - } - - view_butt[34] = new Fl_Check_Button(width/2, 2*WB+1*BH, BW/2-WB, BH, "Custom range"); + + static Fl_Menu_Item menu_iso[] = { + {"Iso-values", 0, 0, 0}, + {"Filled iso-values", 0, 0, 0}, + {"Continuous map", 0, 0, 0}, + {"Numeric values", 0, 0, 0}, + {0} + }; + view_choice[0] = new Fl_Choice(2*WB, 2*WB+2*BH, IW, BH, "Intervals type"); + view_choice[0]->menu(menu_iso); + view_choice[0]->align(FL_ALIGN_RIGHT); + view_choice[0]->callback(set_changed_cb, 0); + + view_butt[34] = new Fl_Check_Button(2*WB, 2*WB+3*BH, IW, BH, "Custom range"); view_butt[34]->type(FL_TOGGLE_BUTTON); view_butt[34]->down_box(TOGGLE_BOX); view_butt[34]->selection_color(TOGGLE_COLOR); //no set_changed since customrange has its own callback - view_value[31] = new Fl_Value_Input(width/2, 2*WB+3*BH, IW, BH, "Minimum"); - view_value[32] = new Fl_Value_Input(width/2, 2*WB+4*BH, IW, BH, "Maximum"); + view_value[31] = new Fl_Value_Input(2*WB, 2*WB+4*BH, IW, BH, "Minimum"); + view_value[32] = new Fl_Value_Input(2*WB, 2*WB+5*BH, IW, BH, "Maximum"); for(i=31 ; i<=32 ; i++){ view_value[i]->align(FL_ALIGN_RIGHT); view_value[i]->callback(set_changed_cb, 0); } + + static Fl_Menu_Item menu_scale[] = { + {"Linear", 0, 0, 0}, + {"Logarithmic", 0, 0, 0}, + {"Double logarithmic", 0, 0, 0}, + {0} + }; + view_choice[1] = new Fl_Choice(2*WB, 2*WB+6*BH, IW, BH, "Scale"); + view_choice[1]->menu(menu_scale); + view_choice[1]->align(FL_ALIGN_RIGHT); + view_choice[1]->callback(set_changed_cb, 0); - { - Fl_Group *o2 = new Fl_Group(width/2, 2*WB+5*BH, width-4*WB, 3*BH, 0); - view_butt[35] = new Fl_Check_Button(width/2, 2*WB+5*BH, BW/2-WB, BH, "Linear"); - view_butt[36] = new Fl_Check_Button(width/2, 2*WB+6*BH, BW/2-WB, BH, "Logarithmic"); - view_butt[37] = new Fl_Check_Button(width/2, 2*WB+7*BH, BW/2-WB, BH, "Double logarithmic"); - for(i=35 ; i<=37 ; i++){ - view_butt[i]->type(FL_RADIO_BUTTON); - view_butt[i]->down_box(RADIO_BOX); - view_butt[i]->selection_color(RADIO_COLOR); - view_butt[i]->callback(set_changed_cb, 0); - } - o2->end(); - } - - view_butt[38] = new Fl_Check_Button(width/2, 2*WB+2*BH, BW/2-WB, BH, "Saturate values"); + view_butt[38] = new Fl_Check_Button(2*WB, 2*WB+7*BH, IW, BH, "Saturate values"); view_butt[38]->type(FL_TOGGLE_BUTTON); view_butt[38]->down_box(TOGGLE_BOX); view_butt[38]->selection_color(TOGGLE_COLOR); @@ -2431,53 +2426,75 @@ void GUI::create_view_options_window(int num){ Fl_Group *o = new Fl_Group(WB, WB+BH, width-2*WB, height-3*WB-2*BH, "Aspect"); o->hide(); - { - view_vector = new Fl_Group(width/2, WB+BH, width-2*WB, height-3*WB-2*BH, 0); - { - Fl_Group *o = new Fl_Group(width/2, 2*WB+2*BH, width-4*WB, 4*BH, 0); - view_butt[60] = new Fl_Check_Button(width/2, 2*WB+2*BH, BW/2-WB, BH, "Line"); - view_butt[61] = new Fl_Check_Button(width/2, 2*WB+3*BH, BW/2-WB, BH, "Arrow"); - view_butt[62] = new Fl_Check_Button(width/2, 2*WB+4*BH, BW/2-WB, BH, "Cone"); - view_butt[63] = new Fl_Check_Button(width/2, 2*WB+5*BH, BW/2-WB, BH, "Displacement"); - o->end(); - } - { - Fl_Group *o = new Fl_Group(width/2, 2*WB+6*BH, width-4*WB, 2*BH, 0); - view_butt[64] = new Fl_Check_Button(width/2, 2*WB+6*BH, BW/2-WB, BH, "Cell centered"); - view_butt[65] = new Fl_Check_Button(width/2, 2*WB+7*BH, BW/2-WB, BH, "Vertex centered"); - o->end(); - } - { - Fl_Group *o = new Fl_Group(width/2, 2*WB+8*BH, width-4*WB, 2*BH, 0); - view_butt[66] = new Fl_Check_Button(width/2, 2*WB+8*BH, BW/2-WB, BH, "Von-Mises"); - view_butt[67] = new Fl_Check_Button(width/2, 2*WB+9*BH, BW/2-WB, BH, "Eigenvectors"); - o->end(); - } - for(i=60 ; i<=67 ; i++){ - view_butt[i]->type(FL_RADIO_BUTTON); - view_butt[i]->down_box(RADIO_BOX); - view_butt[i]->selection_color(RADIO_COLOR); - view_butt[i]->callback(set_changed_cb, 0); - } - - view_value[60] = new Fl_Value_Input(width/2, 2*WB+ 1*BH, IW, BH, "Vector size"); - view_value[60]->minimum(0); - view_vector->end(); - } - view_value[61] = new Fl_Value_Input(2*WB, 2*WB+ 1*BH, IW, BH, "Point size"); view_value[61]->minimum(0.1); view_value[61]->maximum(50); view_value[61]->step(0.1); - view_value[62] = new Fl_Value_Input(2*WB, 2*WB+ 2*BH, IW, BH, "Line width"); + view_value[61]->align(FL_ALIGN_RIGHT); + view_value[61]->callback(set_changed_cb, 0); + + static Fl_Menu_Item menu_pointtype[] = { + {"Color dot", 0, 0, 0}, + {"3D Sphere", 0, 0, 0}, + {0} + }; + view_choice[5] = new Fl_Choice(2*WB, 2*WB+ 2*BH, IW, BH, "Point type"); + view_choice[5]->menu(menu_pointtype); + view_choice[5]->align(FL_ALIGN_RIGHT); + view_choice[5]->callback(set_changed_cb, 0); + + view_value[62] = new Fl_Value_Input(2*WB, 2*WB+ 3*BH, IW, BH, "Line width"); view_value[62]->minimum(0.1); view_value[62]->maximum(50); view_value[62]->step(0.1); - for(i=60 ; i<=62 ; i++){ - view_value[i]->align(FL_ALIGN_RIGHT); - view_value[i]->callback(set_changed_cb, 0); - } + view_value[62]->align(FL_ALIGN_RIGHT); + view_value[62]->callback(set_changed_cb, 0); + { + view_vector = new Fl_Group(2*WB, 2*WB+ 4*BH, width/2, 5*BH, 0); + + view_value[60] = new Fl_Value_Input(2*WB, 2*WB+4*BH, IW, BH, "Vector size"); + view_value[60]->minimum(0); + view_value[60]->align(FL_ALIGN_RIGHT); + view_value[60]->callback(set_changed_cb, 0); + + static Fl_Menu_Item menu_vectype[] = { + {"Line", 0, 0, 0}, + {"Arrow", 0, 0, 0}, + {"3D Arrow", 0, 0, 0}, + {"Cone", 0, 0, 0}, + {"3D cone", 0, 0, 0}, + {"Displacement", 0, 0, 0}, + {0} + }; + view_choice[2] = new Fl_Choice(2*WB, 2*WB+5*BH, IW, BH, "Arrow type"); + view_choice[2]->menu(menu_vectype); + view_choice[2]->align(FL_ALIGN_RIGHT); + view_choice[2]->callback(set_changed_cb, 0); + + static Fl_Menu_Item menu_vecloc[] = { + {"Cell centered", 0, 0, 0}, + {"Vertex centered", 0, 0, 0}, + {0} + }; + view_choice[3] = new Fl_Choice(2*WB, 2*WB+6*BH, IW, BH, "Arrow location"); + view_choice[3]->menu(menu_vecloc); + view_choice[3]->align(FL_ALIGN_RIGHT); + view_choice[3]->callback(set_changed_cb, 0); + + static Fl_Menu_Item menu_tensor[] = { + {"Von-Mises", 0, 0, 0}, + {"Eigenvectors", 0, 0, 0}, + {0} + }; + view_choice[4] = new Fl_Choice(2*WB, 2*WB+7*BH, IW, BH, "Tensor type"); + view_choice[4]->menu(menu_tensor); + view_choice[4]->align(FL_ALIGN_RIGHT); + view_choice[4]->callback(set_changed_cb, 0); + + view_vector->end(); + } + o->end(); } // Colors @@ -2629,6 +2646,7 @@ void GUI::update_view_window(int num){ if(v->ScalarOnly) view_vector->deactivate(); else view_vector->activate(); opt_view_point_size(num, GMSH_GUI, 0); + opt_view_point_type(num, GMSH_GUI, 0); opt_view_line_width(num, GMSH_GUI, 0); opt_view_arrow_type(num, GMSH_GUI, 0); opt_view_arrow_scale(num, GMSH_GUI, 0); diff --git a/Fltk/GUI.h b/Fltk/GUI.h index a0d8ac2a4dcd8ab9c8afb83e362b7814bf7d77ab..47ac8d3e10ff4906b9e314ea45ff16213c8c65be 100644 --- a/Fltk/GUI.h +++ b/Fltk/GUI.h @@ -206,6 +206,7 @@ public: Fl_Value_Input *view_value[VIEW_OPT_BUTT] ; Fl_Input *view_input[VIEW_OPT_BUTT] ; Fl_Repeat_Button *view_butt_rep[VIEW_OPT_BUTT] ; + Fl_Choice *view_choice[VIEW_OPT_BUTT] ; Colorbar_Window *view_colorbar_window ; Fl_Return_Button *view_ok ; diff --git a/Fltk/Message.cpp b/Fltk/Message.cpp index 909b53fd58da41a66fb0db686b4b1de03a5510eb..5104126cdd5a2f51098072fa6e99cc317cac31b3 100644 --- a/Fltk/Message.cpp +++ b/Fltk/Message.cpp @@ -1,4 +1,4 @@ -// $Id: Message.cpp,v 1.28 2002-05-20 18:28:25 geuzaine Exp $ +// $Id: Message.cpp,v 1.29 2002-06-15 21:25:27 geuzaine Exp $ // // Copyright (C) 1997 - 2002 C. Geuzaine, J.-F. Remacle // @@ -154,6 +154,8 @@ void Msg(int level, char *fmt, ...){ va_end (args); } + if(CTX.terminal) fflush(stderr); + if(abort){ Debug(); if(WID){