diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h index d379159035bff9912e714c9312d1936f009b0674..5dd751894e802dc14231505792eb8e33b7d03c34 100644 --- a/Common/DefaultOptions.h +++ b/Common/DefaultOptions.h @@ -1243,8 +1243,8 @@ StringXNumber ViewOptions_Number[] = { "Show element boundaries?" }, { F|O, "ShowScale" , opt_view_show_scale , 1. , "Show value scale?" }, - { F|O, "ShowTime" , opt_view_show_time , 1. , - "Show time value in the scale? (1=only if NbTimeStep>1, 2=always)" }, + { F|O, "ShowTime" , opt_view_show_time , 3. , + "Time display mode (0=hidden, 1=value if multiple, 2=value always, 3=step if multiple, 4=step always)" }, { F|O, "SmoothNormals" , opt_view_smooth_normals , 0. , "Smooth the normals?" }, { F|O, "Stipple" , opt_view_use_stipple , 0. , diff --git a/Common/Options.cpp b/Common/Options.cpp index e685fb8509d7641543d5d0062adab1c574048501..d7b4bb4b8b2269cce6fe66ba0ea23d648bbb7f0b 100644 --- a/Common/Options.cpp +++ b/Common/Options.cpp @@ -1,4 +1,4 @@ -// $Id: Options.cpp,v 1.249 2005-07-03 08:02:23 geuzaine Exp $ +// $Id: Options.cpp,v 1.250 2005-07-08 22:07:37 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -5844,10 +5844,12 @@ double opt_view_show_time(OPT_ARGS_NUM) GET_VIEW(0.); if(action & GMSH_SET) { v->ShowTime = (int)val; + if(v->ShowTime < 0 || v->ShowTime > 4) + v->ShowTime = 0; } #if defined(HAVE_FLTK) if(_gui_action_valid(action, num)) - WID->view_butt[8]->value(v->ShowTime); + WID->view_choice[12]->value(v->ShowTime); #endif return v->ShowTime; } diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index 9655ebbd5c7f4f4ff06e0e1a75cdccd485c365ca..633a2ce993d777385aedf2c5c33aab955f5150b4 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.360 2005-07-04 15:07:40 remacle Exp $ +// $Id: Callbacks.cpp,v 1.361 2005-07-08 22:07:38 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -3651,6 +3651,7 @@ void view_options_ok_cb(CALLBACK_ARGS) double boundary = opt_view_boundary(current, GMSH_GET, 0); double external_view = opt_view_external_view(current, GMSH_GET, 0); double gen_raise_view = opt_view_gen_raise_view(current, GMSH_GET, 0); + double show_time = opt_view_show_time(current, GMSH_GET, 0); double type = opt_view_type(current, GMSH_GET, 0); double saturate_values = opt_view_saturate_values(current, GMSH_GET, 0); @@ -3660,7 +3661,6 @@ void view_options_ok_cb(CALLBACK_ARGS) double show_scale = opt_view_show_scale(current, GMSH_GET, 0); double auto_position = opt_view_auto_position(current, GMSH_GET, 0); double axes_auto_position = opt_view_axes_auto_position(current, GMSH_GET, 0); - double show_time = opt_view_show_time(current, GMSH_GET, 0); double draw_strings = opt_view_draw_strings(current, GMSH_GET, 0); double light = opt_view_light(current, GMSH_GET, 0); double light_two_side = opt_view_light_two_side(current, GMSH_GET, 0); @@ -3862,14 +3862,18 @@ void view_options_ok_cb(CALLBACK_ARGS) if(force || (val != boundary)) opt_view_boundary(i, GMSH_SET, val); - val = WID->view_choice[10]->value()-1; + val = WID->view_choice[10]->value() - 1; if(force || (val != external_view)) opt_view_external_view(i, GMSH_SET, val); - val = WID->view_choice[11]->value()-1; + val = WID->view_choice[11]->value() - 1; if(force || (val != gen_raise_view)) opt_view_gen_raise_view(i, GMSH_SET, val); + val = WID->view_choice[12]->value(); + if(force || (val != show_time)) + opt_view_show_time(i, GMSH_SET, val); + // view_butts val = WID->view_butt[0]->value(); @@ -3901,10 +3905,6 @@ void view_options_ok_cb(CALLBACK_ARGS) if(force || (val != axes_auto_position)) opt_view_axes_auto_position(i, GMSH_SET, val); - val = WID->view_butt[8]->value(); - if(force || (val != show_time)) - opt_view_show_time(i, GMSH_SET, val); - val = WID->view_butt[5]->value(); if(force || (val != draw_strings)) opt_view_draw_strings(i, GMSH_SET, val); diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index fb511d3eed9179d34361eaa0d82fcb00adfc63bd..c14e4cfd7fac9dff4b2eb78b0456a4540180484a 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.447 2005-07-04 15:07:40 remacle Exp $ +// $Id: GUI.cpp,v 1.448 2005-07-08 22:07:38 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -2860,10 +2860,17 @@ void GUI::create_option_window() view_butt[4]->down_box(GMSH_TOGGLE_BOX); view_butt[4]->selection_color(GMSH_TOGGLE_COLOR); - view_butt[8] = new Fl_Check_Button(L + width / 2, 2 * WB + 2 * BH, BW / 2 - WB, BH, "Step value"); - view_butt[8]->type(FL_TOGGLE_BUTTON); - view_butt[8]->down_box(GMSH_TOGGLE_BOX); - view_butt[8]->selection_color(GMSH_TOGGLE_COLOR); + static Fl_Menu_Item time_display[] = { + {"Hidden", 0, 0, 0}, + {"Value if multiple", 0, 0, 0}, + {"Value always", 0, 0, 0}, + {"Step if multiple", 0, 0, 0}, + {"Step always", 0, 0, 0}, + {0} + }; + view_choice[12] = new Fl_Choice(L + width / 2, 2 * WB + 2 * BH, IW, BH, "Time"); + view_choice[12]->menu(time_display); + view_choice[12]->align(FL_ALIGN_RIGHT); view_butt[5] = new Fl_Check_Button(L + width / 2, 2 * WB + 3 * BH, BW / 2 - WB, BH, "Annotations"); view_butt[5]->tooltip("(Alt+n)"); @@ -3353,13 +3360,11 @@ void GUI::update_view_window(int num) view_value[50]->deactivate(); view_butt_rep[0]->deactivate(); view_butt_rep[1]->deactivate(); - view_butt[8]->deactivate(); } else { view_value[50]->activate(); view_butt_rep[0]->activate(); view_butt_rep[1]->activate(); - view_butt[8]->activate(); } view_value[50]->maximum(v->NbTimeStep - 1); opt_view_timestep(num, GMSH_GUI, 0); diff --git a/Graphics/Graph2D.cpp b/Graphics/Graph2D.cpp index db43a949dfa365bce1f7606217d9910e3634607b..e701ef64ee8a1f66c69a243044a97e81a0f0bd94 100644 --- a/Graphics/Graph2D.cpp +++ b/Graphics/Graph2D.cpp @@ -1,4 +1,4 @@ -// $Id: Graph2D.cpp,v 1.53 2005-03-21 00:42:04 geuzaine Exp $ +// $Id: Graph2D.cpp,v 1.54 2005-07-08 22:07:39 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -179,6 +179,11 @@ static void Draw_Graph2D(Post_View * v, double xtop, double ytop, sprintf(tmp, v->Format, *(double *)List_Pointer(v->Time, v->TimeStep)); sprintf(label, "%s (%s)", v->Name, tmp); } + else if(v->Type == DRAW_POST_2D_SPACE && + ((v->ShowTime == 3 && List_Nbr(v->Time) > 1) || + (v->ShowTime == 4 && List_Nbr(v->Time) > 0))){ + sprintf(label, "%s (%s)", v->Name, v->TimeStep); + } else sprintf(label, "%s", v->Name); glRasterPos2d(xtop, ytop + font_h + tic); diff --git a/Graphics/Scale.cpp b/Graphics/Scale.cpp index 0e1f5d1853a174131e1c371a911643a69f4b2235..b9ec804ed3a850d10e8b928c7fb7b620e8ca63d9 100644 --- a/Graphics/Scale.cpp +++ b/Graphics/Scale.cpp @@ -1,4 +1,4 @@ -// $Id: Scale.cpp,v 1.60 2005-03-13 09:10:35 geuzaine Exp $ +// $Id: Scale.cpp,v 1.61 2005-07-08 22:07:39 geuzaine Exp $ // // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // @@ -273,6 +273,10 @@ void draw_scale(Post_View * v, sprintf(tmp, v->Format, *(double *)List_Pointer(v->Time, v->TimeStep)); sprintf(label, "%s (%s)", v->Name, tmp); } + else if((v->ShowTime == 3 && List_Nbr(v->Time) > 1) || + (v->ShowTime == 4 && List_Nbr(v->Time) > 0)){ + sprintf(label, "%s (%d)", v->Name, v->TimeStep); + } else sprintf(label, "%s", v->Name); diff --git a/doc/texinfo/opt_mesh.texi b/doc/texinfo/opt_mesh.texi index bfb4f87e771d2e4b14f5636161891dec8d15a6d1..091996fbb2526282b07073332fed588b9dcf983d 100644 --- a/doc/texinfo/opt_mesh.texi +++ b/doc/texinfo/opt_mesh.texi @@ -15,7 +15,7 @@ Default value: @code{1}@* Saved in: @code{General.OptionsFileName} @item Mesh.Algorithm3D -3D mesh algorithm (1=isotropic, 4=netgen)@* +3D mesh algorithm (1=isotropic, 4=netgen, 5=tetgen)@* Default value: @code{1}@* Saved in: @code{General.OptionsFileName} diff --git a/doc/texinfo/opt_view.texi b/doc/texinfo/opt_view.texi index 084ff33392ea5c87e4a184e6ff978e64719a4b2b..b3011f3b8cafa40ae3f6443f0170afd96dbc6aeb 100644 --- a/doc/texinfo/opt_view.texi +++ b/doc/texinfo/opt_view.texi @@ -525,8 +525,8 @@ Default value: @code{1}@* Saved in: @code{General.OptionsFileName} @item View.ShowTime -Show time value in the scale? (1=only if NbTimeStep>1, 2=always)@* -Default value: @code{1}@* +Time display mode (0=hidden, 1=value if multiple, 2=value always, 3=step if multiple, 4=step always)@* +Default value: @code{3}@* Saved in: @code{General.OptionsFileName} @item View.SmoothNormals