Skip to content
Snippets Groups Projects
Commit 21b2f655 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

testing shorter (two-level) quick access menu

parent a5c5f3bc
No related branches found
No related tags found
No related merge requests found
......@@ -2410,6 +2410,7 @@ void status_options_cb(Fl_Widget *w, void *data)
drawContext::global()->draw();
}
else if(!strcmp(str, "quick_access")){ // quick access menu
#if 0 // long menu
static Fl_Menu_Item menu[] = {
{ "Axes", 0, quick_access_cb, (void*)"axes",
FL_MENU_TOGGLE },
......@@ -2500,6 +2501,102 @@ void status_options_cb(Fl_Widget *w, void *data)
picked = (Fl_Menu_Item*)menu->popup(Fl::event_x(), Fl::event_y(), 0,
(picked && picked->visible()) ? picked :
&menu[17], 0);
#else // shorter menu
static Fl_Menu_Item menu[] = {
{ "Axes", 0, quick_access_cb, (void*)"axes",
FL_MENU_TOGGLE },
{ "Projection mode", 0, 0, 0, FL_SUBMENU },
{ "Orthographic", 0, quick_access_cb, (void*)"orthographic"},
{ "Perspective", 0, quick_access_cb, (void*)"perspective"},
{ 0 },
{ "All general options...", 0, quick_access_cb, (void*)"general",
FL_MENU_DIVIDER, 0, FL_ITALIC },
{ "Geometry visibility", 0, 0, 0, FL_SUBMENU },
{ "Points", 0, quick_access_cb, (void*)"geometry_points",
FL_MENU_TOGGLE },
{ "Lines", 0, quick_access_cb, (void*)"geometry_lines",
FL_MENU_TOGGLE },
{ "Surfaces ", 0, quick_access_cb, (void*)"geometry_surfaces",
FL_MENU_TOGGLE },
{ "Volumes", 0, quick_access_cb, (void*)"geometry_volumes",
FL_MENU_TOGGLE },
{ 0 },
{ "All geometry options...", 0, quick_access_cb, (void*)"geometry",
FL_MENU_DIVIDER, 0, FL_ITALIC },
{ "Mesh visibility", 0, 0, 0, FL_SUBMENU },
{ "Nodes", 0, quick_access_cb, (void*)"mesh_points",
FL_MENU_TOGGLE },
{ "Lines", 0, quick_access_cb, (void*)"mesh_lines",
FL_MENU_TOGGLE },
{ "Surface edges ", 0, quick_access_cb, (void*)"mesh_surfaces_edges",
FL_MENU_TOGGLE },
{ "Surface faces", 0, quick_access_cb, (void*)"mesh_surfaces_faces",
FL_MENU_TOGGLE },
{ "Volume edges", 0, quick_access_cb, (void*)"mesh_volumes_edges",
FL_MENU_TOGGLE },
{ "Volume faces", 0, quick_access_cb, (void*)"mesh_volumes_faces",
FL_MENU_TOGGLE },
{ 0 },
{ "Toggle mesh display", 0, quick_access_cb, (void*)"mesh_toggle" },
{ "Global mesh size factor", 0, quick_access_cb, (void*)"mesh_size" },
{ "All mesh options...", 0, quick_access_cb, (void*)"mesh",
FL_MENU_DIVIDER, 0, FL_ITALIC },
{ "View element outlines ", 0, quick_access_cb, (void*)"view_element_outlines",
FL_MENU_TOGGLE },
{ "View normal raise", 0, quick_access_cb, (void*)"view_normal_raise" },
{ "View intervals", 0, 0, 0, FL_SUBMENU },
{ "Iso-values", 0, quick_access_cb, (void*)"view_iso"},
{ "Continuous map", 0, quick_access_cb, (void*)"view_continous"},
{ "Filled iso-values", 0, quick_access_cb, (void*)"view_filled"},
{ "Numeric values", 0, quick_access_cb, (void*)"view_numeric"},
{ 0 },
{ "View vector display", 0, 0, 0, FL_SUBMENU },
{ "Line", 0, quick_access_cb, (void*)"view_line"},
{ "3D arrow", 0, quick_access_cb, (void*)"view_3d_arrow"},
{ "Displacement", 0, quick_access_cb, (void*)"view_displacement"},
{ 0 },
{ "View range", 0, 0, 0, FL_SUBMENU },
{ "Default", 0, quick_access_cb, (void*)"view_range_default"},
{ "Per time step", 0, quick_access_cb, (void*)"view_range_per_step"},
{ 0 },
{ "All view options...", 0, quick_access_cb, (void*)"view",
0, 0, FL_ITALIC },
{ 0 }
};
if(opt_general_axes(0, GMSH_GET, 0)) menu[0].set(); else menu[0].clear();
for(unsigned int i = 0; i < PView::list.size(); i++)
if(opt_view_visible(i, GMSH_GET, 0) && opt_view_axes(i, GMSH_GET, 0))
menu[0].set();
if(opt_geometry_points(0, GMSH_GET, 0)) menu[7].set(); else menu[7].clear();
if(opt_geometry_lines(0, GMSH_GET, 0)) menu[8].set(); else menu[8].clear();
if(opt_geometry_surfaces(0, GMSH_GET, 0)) menu[9].set(); else menu[9].clear();
if(opt_geometry_volumes(0, GMSH_GET, 0)) menu[10].set(); else menu[10].clear();
if(opt_mesh_points(0, GMSH_GET, 0)) menu[14].set(); else menu[14].clear();
if(opt_mesh_lines(0, GMSH_GET, 0)) menu[15].set(); else menu[15].clear();
if(opt_mesh_surfaces_edges(0, GMSH_GET, 0)) menu[16].set(); else menu[16].clear();
if(opt_mesh_surfaces_faces(0, GMSH_GET, 0)) menu[17].set(); else menu[17].clear();
if(opt_mesh_volumes_edges(0, GMSH_GET, 0)) menu[18].set(); else menu[18].clear();
if(opt_mesh_volumes_faces(0, GMSH_GET, 0)) menu[19].set(); else menu[19].clear();
if(PView::list.empty()){
menu[23].flags = 0;
for(int i = 24; i < 42; i++) menu[i].hide();
}
else{
menu[23].flags = FL_MENU_DIVIDER;
for(int i = 24; i < 42; i++) menu[i].show();
menu[24].clear();
for(unsigned int i = 0; i < PView::list.size(); i++){
if(opt_view_visible(i, GMSH_GET, 0) && opt_view_show_element(i, GMSH_GET, 0)){
menu[24].set();
break;
}
}
}
static Fl_Menu_Item *picked = &menu[21];
picked = (Fl_Menu_Item*)menu->popup(Fl::event_x(), Fl::event_y(), 0,
(picked && picked->visible()) ? picked :
&menu[21], 0);
#endif
if(picked) picked->do_callback(0, picked->user_data());
drawContext::global()->draw();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment