Index: source/blender/makesdna/DNA_userdef_types.h =================================================================== --- source/blender/makesdna/DNA_userdef_types.h (revision 15190) +++ source/blender/makesdna/DNA_userdef_types.h (working copy) @@ -208,6 +208,9 @@ short autokey_flag; /* flags for autokeying */ struct ColorBand coba_weight; /* from texture.h */ + + int max_group_view; /* maximum number of group to show in the menu */ + int group_pad; } UserDef; extern UserDef U; /* from usiblender.c !!!! */ Index: source/blender/include/BIF_toolbox.h =================================================================== --- source/blender/include/BIF_toolbox.h (revision 15190) +++ source/blender/include/BIF_toolbox.h (working copy) @@ -67,6 +67,7 @@ char *name; int retval; void *poin; + short split; } TBitem; void toolbox_generic( struct TBitem *generic_menu ); /* for external toolbox - python only for now */ Index: source/blender/src/space.c =================================================================== --- source/blender/src/space.c (revision 15190) +++ source/blender/src/space.c (working copy) @@ -3969,6 +3969,14 @@ uiBlockEndAlign(block); + uiDefBut(block, LABEL, 0, "Show Groups:", + (xpos+(2*edgsp)+(3*midsp)+(3*mpref)+spref), + y6label,mpref,buth,0, 0, 0, 0, 0, ""); + uiDefButI(block, NUM, 0, "Max Group", + (xpos+(2*edgsp)+(3*midsp)+(3*mpref)+spref), + y5,mpref,buth,&(U.max_group_view),10,100,0,0, + "The maximum number of group in menu"); + uiDefBut(block, LABEL,0,"Duplicate with object:", (xpos+(2*edgsp)+(3*midsp)+(3*mpref)+spref),y3label,mpref,buth, 0, 0, 0, 0, 0, ""); Index: source/blender/src/usiblender.c =================================================================== --- source/blender/src/usiblender.c (revision 15190) +++ source/blender/src/usiblender.c (working copy) @@ -487,6 +487,9 @@ if (U.frameserverport == 0) { U.frameserverport = 8080; } + if (U.max_group_view == 0) { + U.max_group_view= 30; + } MEM_CacheLimiter_set_maximum(U.memcachelimit * 1024 * 1024); Index: source/blender/src/toolbox.c =================================================================== --- source/blender/src/toolbox.c (revision 15190) +++ source/blender/src/toolbox.c (working copy) @@ -823,299 +823,299 @@ /* *************Select ********** */ static TBitem tb_object_select_layer1_5[]= { -{ 0, "1", 1, NULL}, -{ 0, "2", 2, NULL}, -{ 0, "3", 3, NULL}, -{ 0, "4", 4, NULL}, -{ 0, "5", 5, NULL}, -{ -1, "", 0, do_view3d_select_object_layermenu}}; +{ 0, "1", 1, NULL, 0}, +{ 0, "2", 2, NULL, 0}, +{ 0, "3", 3, NULL, 0}, +{ 0, "4", 4, NULL, 0}, +{ 0, "5", 5, NULL, 0}, +{ -1, "", 0, do_view3d_select_object_layermenu, 0}}; static TBitem tb_object_select_layer6_10[]= { -{ 0, "6", 6, NULL}, -{ 0, "7", 7, NULL}, -{ 0, "8", 8, NULL}, -{ 0, "9", 9, NULL}, -{ 0, "10", 10, NULL}, -{ -1, "", 0, do_view3d_select_object_layermenu}}; +{ 0, "6", 6, NULL, 0}, +{ 0, "7", 7, NULL, 0}, +{ 0, "8", 8, NULL, 0}, +{ 0, "9", 9, NULL, 0}, +{ 0, "10", 10, NULL, 0}, +{ -1, "", 0, do_view3d_select_object_layermenu, 0}}; static TBitem tb_object_select_layer11_15[]= { -{ 0, "11", 11, NULL}, -{ 0, "12", 12, NULL}, -{ 0, "13", 13, NULL}, -{ 0, "14", 14, NULL}, -{ 0, "15", 15, NULL}, -{ -1, "", 0, do_view3d_select_object_layermenu}}; +{ 0, "11", 11, NULL, 0}, +{ 0, "12", 12, NULL, 0}, +{ 0, "13", 13, NULL, 0}, +{ 0, "14", 14, NULL, 0}, +{ 0, "15", 15, NULL, 0}, +{ -1, "", 0, do_view3d_select_object_layermenu, 0}}; static TBitem tb_object_select_layer16_20[]= { -{ 0, "16", 16, NULL}, -{ 0, "17", 17, NULL}, -{ 0, "18", 18, NULL}, -{ 0, "19", 19, NULL}, -{ 0, "20", 20, NULL}, -{ -1, "", 0, do_view3d_select_object_layermenu}}; +{ 0, "16", 16, NULL, 0}, +{ 0, "17", 17, NULL, 0}, +{ 0, "18", 18, NULL, 0}, +{ 0, "19", 19, NULL, 0}, +{ 0, "20", 20, NULL, 0}, +{ -1, "", 0, do_view3d_select_object_layermenu, 0}}; static TBitem tb_object_select_layer[]= { -{ 0, "Layers 1-5", 0, tb_object_select_layer1_5}, -{ 0, "Layers 6-10", 0, tb_object_select_layer6_10}, -{ 0, "Layers 11-15", 0, tb_object_select_layer11_15}, -{ 0, "Layers 16-20", 0, tb_object_select_layer16_20}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Layers 1-5", 0, tb_object_select_layer1_5, 0}, +{ 0, "Layers 6-10", 0, tb_object_select_layer6_10, 0}, +{ 0, "Layers 11-15", 0, tb_object_select_layer11_15, 0}, +{ 0, "Layers 16-20", 0, tb_object_select_layer16_20, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_object_select_type[]= { -{ 0, "Mesh", 1, NULL}, -{ 0, "Curve", 2, NULL}, -{ 0, "Surface", 3, NULL}, -{ 0, "Meta", 4, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Armature", 5, NULL}, -{ 0, "Lattice", 6, NULL}, -{ 0, "Text", 7, NULL}, -{ 0, "Empty", 8, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Camera", 9, NULL}, -{ 0, "Lamp", 10, NULL}, -{ -1, "", 0, do_view3d_select_object_typemenu}}; +{ 0, "Mesh", 1, NULL, 0}, +{ 0, "Curve", 2, NULL, 0}, +{ 0, "Surface", 3, NULL, 0}, +{ 0, "Meta", 4, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Armature", 5, NULL, 0}, +{ 0, "Lattice", 6, NULL, 0}, +{ 0, "Text", 7, NULL, 0}, +{ 0, "Empty", 8, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Camera", 9, NULL, 0}, +{ 0, "Lamp", 10, NULL, 0}, +{ -1, "", 0, do_view3d_select_object_typemenu, 0}}; static TBitem tb_object_select_linked[]= { -{ 0, "Object Ipo|Shift L, 1", 1, NULL}, -{ 0, "ObData|Shift L, 2", 2, NULL}, -{ 0, "Material|Shift L, 3", 3, NULL}, -{ 0, "Texture|Shift L, 4", 4, NULL}, -{ -1, "", 0, do_view3d_select_object_linkedmenu}}; +{ 0, "Object Ipo|Shift L, 1", 1, NULL, 0}, +{ 0, "ObData|Shift L, 2", 2, NULL, 0}, +{ 0, "Material|Shift L, 3", 3, NULL, 0}, +{ 0, "Texture|Shift L, 4", 4, NULL, 0}, +{ -1, "", 0, do_view3d_select_object_linkedmenu, 0}}; static TBitem tb_object_select_grouped[]= { -{ 0, "Children|Shift G, 1", 1, NULL}, -{ 0, "Immediate Children|Shift G, 2", 2, NULL}, -{ 0, "Parent|Shift G, 3", 3, NULL}, -{ 0, "Siblings (Shared Parent)|Shift G, 4", 4, NULL}, -{ 0, "Objects of Same Type|Shift G, 5", 5, NULL}, -{ 0, "Objects on Shared Layers|Shift G, 6", 6, NULL}, -{ 0, "Objects in Same Group|Shift G, 7", 7, NULL}, -{ 0, "Object Hooks|Shift G, 8", 8, NULL}, -{ 0, "Object PassIndex|Shift G, 9", 9, NULL}, -{ -1, "", 0, do_view3d_select_object_groupedmenu}}; +{ 0, "Children|Shift G, 1", 1, NULL, 0}, +{ 0, "Immediate Children|Shift G, 2", 2, NULL, 0}, +{ 0, "Parent|Shift G, 3", 3, NULL, 0}, +{ 0, "Siblings (Shared Parent)|Shift G, 4", 4, NULL, 0}, +{ 0, "Objects of Same Type|Shift G, 5", 5, NULL, 0}, +{ 0, "Objects on Shared Layers|Shift G, 6", 6, NULL, 0}, +{ 0, "Objects in Same Group|Shift G, 7", 7, NULL, 0}, +{ 0, "Object Hooks|Shift G, 8", 8, NULL, 0}, +{ 0, "Object PassIndex|Shift G, 9", 9, NULL, 0}, +{ -1, "", 0, do_view3d_select_object_groupedmenu, 0}}; static TBitem tb_object_select[]= { -{ 0, "Border Select|B", 0, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Select/Deselect All|A", 1, NULL}, -{ 0, "Inverse", 2, NULL}, -{ 0, "Random", 3, NULL}, -{ 0, "Select All by Layer", 0, tb_object_select_layer}, -{ 0, "Select All by Type", 0, tb_object_select_type}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Linked", 0, tb_object_select_linked}, -{ 0, "Grouped", 0, tb_object_select_grouped}, -{ -1, "", 0, do_view3d_select_objectmenu}}; +{ 0, "Border Select|B", 0, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Select/Deselect All|A", 1, NULL, 0}, +{ 0, "Inverse", 2, NULL, 0}, +{ 0, "Random", 3, NULL, 0}, +{ 0, "Select All by Layer", 0, tb_object_select_layer, 0}, +{ 0, "Select All by Type", 0, tb_object_select_type, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Linked", 0, tb_object_select_linked, 0}, +{ 0, "Grouped", 0, tb_object_select_grouped, 0}, +{ -1, "", 0, do_view3d_select_objectmenu, 0}}; static TBitem tb_face_select[]= { -{ 0, "Border Select|B", 0, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Select/Deselect All|A", 2, NULL}, -{ 0, "Inverse", 3, NULL}, -{ 0, "Same UV", 4, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Linked Faces|Ctrl L", 5, NULL}, -{ -1, "", 0, do_view3d_select_faceselmenu}}; +{ 0, "Border Select|B", 0, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Select/Deselect All|A", 2, NULL, 0}, +{ 0, "Inverse", 3, NULL, 0}, +{ 0, "Same UV", 4, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Linked Faces|Ctrl L", 5, NULL, 0}, +{ -1, "", 0, do_view3d_select_faceselmenu, 0}}; static TBitem tb_mesh_select[]= { -{ 0, "Border Select|B", 0, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Select/Deselect All|A", 2, NULL}, -{ 0, "Inverse|Ctrl I", 3, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Random...", 5, NULL}, -{ 0, "Non-Manifold|Shift Ctrl Alt M", 9, NULL}, -{ 0, "Sharp Edges|Shift Ctrl Alt S", 14, NULL}, -{ 0, "Linked Flat Faces|Shift Ctrl Alt F", 15, NULL}, -{ 0, "Triangles|Shift Ctrl Alt 3", 11, NULL}, -{ 0, "Quads|Shift Ctrl Alt 4", 12, NULL}, -{ 0, "Non-Triangles/Quads|Shift Ctrl Alt 5", 13, NULL}, -{ 0, "Similar to Selection|Shift G", 21, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "More|Ctrl NumPad +", 7, NULL}, -{ 0, "Less|Ctrl NumPad -", 8, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Linked Vertices|Ctrl L", 4, NULL}, -{ 0, "Vertex Path|W Alt 7", 16, NULL}, -{ 0, "Edge Loop|Ctrl E 6", 17, NULL}, -{ 0, "Edge Ring|Ctrl E 7", 18, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Loop to Region|Ctrl E 8", 19, NULL}, -{ 0, "Region to Loop|Ctrl E 9", 20, NULL}, -{ -1, "", 0, do_view3d_select_meshmenu}}; +{ 0, "Border Select|B", 0, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Select/Deselect All|A", 2, NULL, 0}, +{ 0, "Inverse|Ctrl I", 3, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Random...", 5, NULL, 0}, +{ 0, "Non-Manifold|Shift Ctrl Alt M", 9, NULL, 0}, +{ 0, "Sharp Edges|Shift Ctrl Alt S", 14, NULL, 0}, +{ 0, "Linked Flat Faces|Shift Ctrl Alt F", 15, NULL, 0}, +{ 0, "Triangles|Shift Ctrl Alt 3", 11, NULL, 0}, +{ 0, "Quads|Shift Ctrl Alt 4", 12, NULL, 0}, +{ 0, "Non-Triangles/Quads|Shift Ctrl Alt 5", 13, NULL, 0}, +{ 0, "Similar to Selection|Shift G", 21, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "More|Ctrl NumPad +", 7, NULL, 0}, +{ 0, "Less|Ctrl NumPad -", 8, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Linked Vertices|Ctrl L", 4, NULL, 0}, +{ 0, "Vertex Path|W Alt 7", 16, NULL, 0}, +{ 0, "Edge Loop|Ctrl E 6", 17, NULL, 0}, +{ 0, "Edge Ring|Ctrl E 7", 18, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Loop to Region|Ctrl E 8", 19, NULL, 0}, +{ 0, "Region to Loop|Ctrl E 9", 20, NULL, 0}, +{ -1, "", 0, do_view3d_select_meshmenu, 0}}; static TBitem tb_curve_select[]= { -{ 0, "Border Select|B", 0, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "(De)select All|A", 2, NULL}, -{ 0, "Inverse", 3, NULL}, -{ 0, "Random...", 13, NULL}, -{ 0, "Every Nth", 14, NULL}, -{ 0, "Row|Shift R", 5, NULL}, /* shouldn't be visible in case of bezier curves*/ -{ 0, "SEPR", 0, NULL}, -{ 0, "(De)select First", 7, NULL}, -{ 0, "(De)select Last", 8, NULL}, -{ 0, "Select Next", 11, NULL}, -{ 0, "Select Previous", 12, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "More|Ctrl NumPad +", 9, NULL}, -{ 0, "Less|Ctrl NumPad -", 10, NULL}, -{ -1, "", 0, do_view3d_select_curvemenu}}; +{ 0, "Border Select|B", 0, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "(De)select All|A", 2, NULL, 0}, +{ 0, "Inverse", 3, NULL, 0}, +{ 0, "Random...", 13, NULL, 0}, +{ 0, "Every Nth", 14, NULL, 0}, +{ 0, "Row|Shift R", 5, NULL, 0}, /* shouldn't be visible in case of bezier curves*/ +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "(De)select First", 7, NULL, 0}, +{ 0, "(De)select Last", 8, NULL, 0}, +{ 0, "Select Next", 11, NULL, 0}, +{ 0, "Select Previous", 12, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "More|Ctrl NumPad +", 9, NULL, 0}, +{ 0, "Less|Ctrl NumPad -", 10, NULL, 0}, +{ -1, "", 0, do_view3d_select_curvemenu, 0}}; static TBitem tb_mball_select[]= { -{ 0, "Border Select|B", 0, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "(De)select All|A", 2, NULL}, -{ 0, "Inverse", 3, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Random...", 4, NULL}, -{ -1, "", 0, do_view3d_select_metaballmenu}}; +{ 0, "Border Select|B", 0, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "(De)select All|A", 2, NULL, 0}, +{ 0, "Inverse", 3, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Random...", 4, NULL, 0}, +{ -1, "", 0, do_view3d_select_metaballmenu, 0}}; static TBitem tb__select[]= { -{ 0, "Border Select|B", 'b', NULL}, -{ 0, "(De)select All|A", 'a', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Border Select|B", 'b', NULL, 0}, +{ 0, "(De)select All|A", 'a', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; /* *************Edit ********** */ static TBitem tb_edit[]= { -{ 0, "Exit Editmode|Tab", TB_TAB, NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Exit Editmode|Tab", TB_TAB, NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_curve_edit_seg[]= { -{ 0, "Subdivide|W, 1", 0, NULL}, -{ 0, "Switch Direction|W, 2", 1, NULL}, -{ -1, "", 0, do_view3d_edit_curve_segmentsmenu}}; +{ 0, "Subdivide|W, 1", 0, NULL, 0}, +{ 0, "Switch Direction|W, 2", 1, NULL, 0}, +{ -1, "", 0, do_view3d_edit_curve_segmentsmenu, 0}}; static TBitem tb_curve_edit_cv[]= { -{ 0, "Tilt|T", 't', NULL}, -{ 0, "Clear Tilt|Alt T", TB_ALT|'t', NULL}, -{ 0, "Separate|P", 'p', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Automatic|Shift H", 'H', NULL}, -{ 0, "Toggle Free/Aligned|H", 'h', NULL}, -{ 0, "Vector|V", 'v', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Make Vertex Parent|Ctrl P", TB_CTRL|'p', NULL}, -{ 0, "Add Hook|Ctrl H", TB_CTRL|'h', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Tilt|T", 't', NULL, 0}, +{ 0, "Clear Tilt|Alt T", TB_ALT|'t', NULL, 0}, +{ 0, "Separate|P", 'p', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Automatic|Shift H", 'H', NULL, 0}, +{ 0, "Toggle Free/Aligned|H", 'h', NULL, 0}, +{ 0, "Vector|V", 'v', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Make Vertex Parent|Ctrl P", TB_CTRL|'p', NULL, 0}, +{ 0, "Add Hook|Ctrl H", TB_CTRL|'h', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_curve_edit[]= { -{ 0, "Exit Editmode|Tab", TB_TAB, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Extrude|E", 'e', NULL}, -{ 0, "Duplicate|Shift D", 'D', NULL}, -{ 0, "Make Segment|F", 'f', NULL}, -{ 0, "Toggle Cyclic|C", 'c', NULL}, -{ 0, "Delete...|X", 'x', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Control Points", 0, tb_curve_edit_cv}, -{ 0, "Segments", 0, tb_curve_edit_seg}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Exit Editmode|Tab", TB_TAB, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Extrude|E", 'e', NULL, 0}, +{ 0, "Duplicate|Shift D", 'D', NULL, 0}, +{ 0, "Make Segment|F", 'f', NULL, 0}, +{ 0, "Toggle Cyclic|C", 'c', NULL, 0}, +{ 0, "Delete...|X", 'x', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Control Points", 0, tb_curve_edit_cv, 0}, +{ 0, "Segments", 0, tb_curve_edit_seg, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_mesh_edit_vertex[]= { -{ 0, "Merge...|Alt M", 5, NULL}, -{ 0, "Rip|V", 7, NULL}, -{ 0, "Split|Y", 4, NULL}, -{ 0, "Separate|P", 3, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Smooth|W, Alt 1", 2, NULL}, -{ 0, "Remove Doubles|W, 6", 1, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Make Vertex Parent|Ctrl P", 0, NULL}, -{ 0, "Add Hook|Ctrl H", 6, NULL}, -{ -1, "", 0, do_view3d_edit_mesh_verticesmenu}}; +{ 0, "Merge...|Alt M", 5, NULL, 0}, +{ 0, "Rip|V", 7, NULL, 0}, +{ 0, "Split|Y", 4, NULL, 0}, +{ 0, "Separate|P", 3, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Smooth|W, Alt 1", 2, NULL, 0}, +{ 0, "Remove Doubles|W, 6", 1, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Make Vertex Parent|Ctrl P", 0, NULL, 0}, +{ 0, "Add Hook|Ctrl H", 6, NULL, 0}, +{ -1, "", 0, do_view3d_edit_mesh_verticesmenu, 0}}; static TBitem tb_mesh_edit_edge[]= { -{ 0, "Make Edge/Face|F", 5, NULL}, -{ 0, "Collapse|Alt M", 14, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Bevel|W, Alt 2", 6, NULL}, -{ 0, "Loop Subdivide|Ctrl R", 4, NULL}, -{ 0, "Knife Subdivide...|Shift K", 3, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Subdivide|W, 1", 2, NULL}, -{ 0, "Subdivide Fractal|W, 2", 1, NULL}, -{ 0, "Subdivide Smooth|W, 3", 0, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Mark Seam|Ctrl E", 7, NULL}, -{ 0, "Clear Seam|Ctrl E", 8, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Crease SubSurf|Shift E", 9, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Rotate Edge CW|Ctrl E", 10, NULL}, -{ 0, "Rotate Edge CCW|Ctrl E", 11, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Slide Edge|Ctrl E", 12, NULL}, -{ 0, "Delete Edge Loop|X", 13, NULL}, -{ -1, "", 0, do_view3d_edit_mesh_edgesmenu}}; +{ 0, "Make Edge/Face|F", 5, NULL, 0}, +{ 0, "Collapse|Alt M", 14, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Bevel|W, Alt 2", 6, NULL, 0}, +{ 0, "Loop Subdivide|Ctrl R", 4, NULL, 0}, +{ 0, "Knife Subdivide...|Shift K", 3, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Subdivide|W, 1", 2, NULL, 0}, +{ 0, "Subdivide Fractal|W, 2", 1, NULL, 0}, +{ 0, "Subdivide Smooth|W, 3", 0, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Mark Seam|Ctrl E", 7, NULL, 0}, +{ 0, "Clear Seam|Ctrl E", 8, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Crease SubSurf|Shift E", 9, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Rotate Edge CW|Ctrl E", 10, NULL, 0}, +{ 0, "Rotate Edge CCW|Ctrl E", 11, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Slide Edge|Ctrl E", 12, NULL, 0}, +{ 0, "Delete Edge Loop|X", 13, NULL, 0}, +{ -1, "", 0, do_view3d_edit_mesh_edgesmenu, 0}}; static TBitem tb_mesh_edit_face[]= { -{ 0, "Make Edge/Face|F", 5, NULL}, -{ 0, "Fill|Shift F", 0, NULL}, -{ 0, "Beautify Fill|Alt F", 1, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Convert to Triangles|Ctrl T", 2, NULL}, -{ 0, "Convert to Quads|Alt J", 3, NULL}, -{ 0, "Flip Triangle Edges|Ctrl Shift F", 4, NULL}, -{ 0, "Set Smooth|Ctrl F, 3", 6, NULL}, -{ 0, "Set Solid|Ctrl F, 4", 7, NULL}, -{ -1, "", 0, do_view3d_edit_mesh_facesmenu}}; +{ 0, "Make Edge/Face|F", 5, NULL, 0}, +{ 0, "Fill|Shift F", 0, NULL, 0}, +{ 0, "Beautify Fill|Alt F", 1, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Convert to Triangles|Ctrl T", 2, NULL, 0}, +{ 0, "Convert to Quads|Alt J", 3, NULL, 0}, +{ 0, "Flip Triangle Edges|Ctrl Shift F", 4, NULL, 0}, +{ 0, "Set Smooth|Ctrl F, 3", 6, NULL, 0}, +{ 0, "Set Solid|Ctrl F, 4", 7, NULL, 0}, +{ -1, "", 0, do_view3d_edit_mesh_facesmenu, 0}}; static TBitem tb_mesh_edit_normal[]= { -{ 0, "Recalculate Outside|Ctrl N", 2, NULL}, -{ 0, "Recalculate Inside|Ctrl Shift N", 1, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Flip|Ctrl F, 1", 0, NULL}, -{ -1, "", 0, do_view3d_edit_mesh_normalsmenu}}; +{ 0, "Recalculate Outside|Ctrl N", 2, NULL, 0}, +{ 0, "Recalculate Inside|Ctrl Shift N", 1, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Flip|Ctrl F, 1", 0, NULL, 0}, +{ -1, "", 0, do_view3d_edit_mesh_normalsmenu, 0}}; static TBitem tb_mesh_edit[]= { -{ 0, "Exit Editmode|Tab", TB_TAB, NULL}, -{ 0, "Undo|Ctrl Z", 'u', NULL}, -{ 0, "Redo|Ctrl Shift Z", 'U', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Extrude|E", 'e', NULL}, -{ 0, "Duplicate|Shift D", 'D', NULL}, -{ 0, "Delete...|X", 'x', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Vertices", 0, tb_mesh_edit_vertex}, -{ 0, "Edges", 0, tb_mesh_edit_edge}, -{ 0, "Faces", 0, tb_mesh_edit_face}, -{ 0, "Normals", 0, tb_mesh_edit_normal}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Exit Editmode|Tab", TB_TAB, NULL, 0}, +{ 0, "Undo|Ctrl Z", 'u', NULL, 0}, +{ 0, "Redo|Ctrl Shift Z", 'U', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Extrude|E", 'e', NULL, 0}, +{ 0, "Duplicate|Shift D", 'D', NULL, 0}, +{ 0, "Delete...|X", 'x', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Vertices", 0, tb_mesh_edit_vertex, 0}, +{ 0, "Edges", 0, tb_mesh_edit_edge, 0}, +{ 0, "Faces", 0, tb_mesh_edit_face, 0}, +{ 0, "Normals", 0, tb_mesh_edit_normal, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_object_ipo[]= { -{ 0, "Show/Hide", 'k', NULL}, -{ 0, "Select Next", TB_PAD|'u', NULL}, -{ 0, "Select Prev", TB_PAD|'d', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Show/Hide", 'k', NULL, 0}, +{ 0, "Select Next", TB_PAD|'u', NULL, 0}, +{ 0, "Select Prev", TB_PAD|'d', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_object_edit[]= { -{ 0, "Enter Editmode|Tab", TB_TAB, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Duplicate|Shift D", 'D', NULL}, -{ 0, "Duplicate Linked|Alt D", TB_ALT|'d', NULL}, -{ 0, "Delete|X", 'x', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Object Keys", 0, tb_object_ipo}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Enter Editmode|Tab", TB_TAB, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Duplicate|Shift D", 'D', NULL, 0}, +{ 0, "Duplicate Linked|Alt D", TB_ALT|'d', NULL, 0}, +{ 0, "Delete|X", 'x', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Object Keys", 0, tb_object_ipo, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; /* ************* Type ********** */ static TBitem tb_obdata_hide[]= { -{ 0, "Show Hidden|Alt H", TB_ALT|'h', NULL}, -{ 0, "Hide Selected|H", 'h', NULL}, -{ 0, "Hide Deselected|Shift H", 'H', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Show Hidden|Alt H", TB_ALT|'h', NULL, 0}, +{ 0, "Hide Selected|H", 'h', NULL, 0}, +{ 0, "Hide Deselected|Shift H", 'H', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static void tb_do_mesh(void *arg, int event){ switch(event) { @@ -1129,60 +1129,60 @@ } static TBitem tb_mesh[]= { -{ 0, "Insert Keyframe|I", 1, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Show/Hide Edges", 2, NULL}, -{ 0, "Show/Hide Faces", 3, NULL}, -{ 0, "Show/Hide Normals", 4, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Subdivision Surface", 5, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Show/Hide Vertices", 0, tb_obdata_hide}, -{ -1, "", 0, tb_do_mesh}}; +{ 0, "Insert Keyframe|I", 1, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Show/Hide Edges", 2, NULL, 0}, +{ 0, "Show/Hide Faces", 3, NULL, 0}, +{ 0, "Show/Hide Normals", 4, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Subdivision Surface", 5, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Show/Hide Vertices", 0, tb_obdata_hide, 0}, +{ -1, "", 0, tb_do_mesh, 0}}; static TBitem tb_curve_hide[]= { -{ 0, "Show Hidden|Alt H", 10, NULL}, -{ 0, "Hide Selected|Alt Ctrl H", 11, NULL}, -{ -1, "", 0, do_view3d_edit_curve_showhidemenu}}; +{ 0, "Show Hidden|Alt H", 10, NULL, 0}, +{ 0, "Hide Selected|Alt Ctrl H", 11, NULL, 0}, +{ -1, "", 0, do_view3d_edit_curve_showhidemenu, 0}}; static TBitem tb_curve[]= { -{ 0, "Insert Keyframe|I", 'i', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Show/Hide Points", 0, tb_curve_hide}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Insert Keyframe|I", 'i', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Show/Hide Points", 0, tb_curve_hide, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_obdata[]= { -{ 0, "Duplicate|Shift D", 'D', NULL}, -{ 0, "Delete|X", 'x', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Duplicate|Shift D", 'D', NULL, 0}, +{ 0, "Delete|X", 'x', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_object_parent[]= { -{ 0, "Make Parent...|Ctrl P", TB_CTRL|'p', NULL}, -{ 0, "Clear Parent...|Alt P", TB_ALT|'p', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Make Parent...|Ctrl P", TB_CTRL|'p', NULL, 0}, +{ 0, "Clear Parent...|Alt P", TB_ALT|'p', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_object_track[]= { -{ 0, "Make Track|Ctrl T", TB_CTRL|'t', NULL}, -{ 0, "Clear Track|Alt T", TB_ALT|'t', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Make Track|Ctrl T", TB_CTRL|'t', NULL, 0}, +{ 0, "Clear Track|Alt T", TB_ALT|'t', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_object[]= { -{ 0, "Insert Keyframe|I", 'i', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Make Links...|Ctrl L", TB_CTRL|'l', NULL}, -{ 0, "Make Single User...|U", 'u', NULL}, -{ 0, "Copy Attributes...|Ctrl C", TB_CTRL|'c', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Parent", 0, tb_object_parent}, -{ 0, "Track", 0, tb_object_track}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Boolean Operation|W", 'w', NULL}, -{ 0, "Join Objects...|Ctrl J", TB_CTRL|'j', NULL}, -{ 0, "Convert Object Type...|Alt C", TB_ALT|'c', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Move to Layer...|M", 'm', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Insert Keyframe|I", 'i', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Make Links...|Ctrl L", TB_CTRL|'l', NULL, 0}, +{ 0, "Make Single User...|U", 'u', NULL, 0}, +{ 0, "Copy Attributes...|Ctrl C", TB_CTRL|'c', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Parent", 0, tb_object_parent, 0}, +{ 0, "Track", 0, tb_object_track, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Boolean Operation|W", 'w', NULL, 0}, +{ 0, "Join Objects...|Ctrl J", TB_CTRL|'j', NULL, 0}, +{ 0, "Convert Object Type...|Alt C", TB_ALT|'c', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Move to Layer...|M", 'm', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; /* *************VIEW ********** */ @@ -1193,67 +1193,67 @@ } static TBitem tb_view_dt[]= { -{ ICON_BBOX, "Bounding Box", 1, NULL}, -{ ICON_WIRE, "Wireframe|Z", 2, NULL}, -{ ICON_SOLID, "Solid|Z", 3, NULL}, -{ ICON_SMOOTH, "Shaded|Shift Z", 4, NULL}, -{ ICON_POTATO, "Textured|Alt Z", 5, NULL}, -{ -1, "", 0, tb_do_view_dt}}; +{ ICON_BBOX, "Bounding Box", 1, NULL, 0}, +{ ICON_WIRE, "Wireframe|Z", 2, NULL, 0}, +{ ICON_SOLID, "Solid|Z", 3, NULL, 0}, +{ ICON_SMOOTH, "Shaded|Shift Z", 4, NULL, 0}, +{ ICON_POTATO, "Textured|Alt Z", 5, NULL, 0}, +{ -1, "", 0, tb_do_view_dt, 0}}; static TBitem tb_view_alignview[]= { -{ 0, "Center View to Cursor|C", 'c', NULL}, +{ 0, "Center View to Cursor|C", 'c', NULL, 0}, { 0, "Align Active Camera to View|Ctrl Alt NumPad 0", -TB_CTRL|TB_ALT|TB_PAD|'0', NULL}, -{ 0, "Align View to Selected|NumPad *", TB_PAD|'*', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +TB_CTRL|TB_ALT|TB_PAD|'0', NULL, 0}, +{ 0, "Align View to Selected|NumPad *", TB_PAD|'*', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_view[]= { -{ 0, "Viewport Shading", 0, tb_view_dt}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Ortho/Perspective|NumPad 5", TB_PAD|'5', NULL}, -{ 0, "Local/Global View|NumPad /", TB_PAD|'/', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Align View", 0, tb_view_alignview}, -{ 0, "SEPR", 0, NULL}, -{ 0, "View Selected|NumPad .", TB_PAD|'.', NULL}, -{ 0, "View All|Home", TB_PAD|'h', NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Play Back Animation|Alt A", TB_ALT|'a', NULL}, -{ 0, "Camera Fly Mode|Shift F", TB_SHIFT|'f', NULL}, -{ -1, "", 0, tb_do_hotkey}}; +{ 0, "Viewport Shading", 0, tb_view_dt, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Ortho/Perspective|NumPad 5", TB_PAD|'5', NULL, 0}, +{ 0, "Local/Global View|NumPad /", TB_PAD|'/', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Align View", 0, tb_view_alignview, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "View Selected|NumPad .", TB_PAD|'.', NULL, 0}, +{ 0, "View All|Home", TB_PAD|'h', NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Play Back Animation|Alt A", TB_ALT|'a', NULL, 0}, +{ 0, "Camera Fly Mode|Shift F", TB_SHIFT|'f', NULL, 0}, +{ -1, "", 0, tb_do_hotkey, 0}}; /* *************TRANSFORM ********** */ static TBitem tb_transform_moveaxis[]= { -{ 0, "X Global|G, X", 0, NULL}, -{ 0, "Y Global|G, Y", 1, NULL}, -{ 0, "Z Global|G, Z", 2, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "X Local|G, X, X", 3, NULL}, -{ 0, "Y Local|G, Y, Y", 4, NULL}, -{ 0, "Z Local|G, Z, Z", 5, NULL}, -{ -1, "", 0, do_view3d_transform_moveaxismenu}}; +{ 0, "X Global|G, X", 0, NULL, 0}, +{ 0, "Y Global|G, Y", 1, NULL, 0}, +{ 0, "Z Global|G, Z", 2, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "X Local|G, X, X", 3, NULL, 0}, +{ 0, "Y Local|G, Y, Y", 4, NULL, 0}, +{ 0, "Z Local|G, Z, Z", 5, NULL, 0}, +{ -1, "", 0, do_view3d_transform_moveaxismenu, 0}}; static TBitem tb_transform_rotateaxis[]= { -{ 0, "X Global|R, X", 0, NULL}, -{ 0, "Y Global|R, Y", 1, NULL}, -{ 0, "Z Global|R, Z", 2, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "X Local|R, X, X", 3, NULL}, -{ 0, "Y Local|R, Y, Y", 4, NULL}, -{ 0, "Z Local|R, Z, Z", 5, NULL}, -{ -1, "", 0, do_view3d_transform_rotateaxismenu}}; +{ 0, "X Global|R, X", 0, NULL, 0}, +{ 0, "Y Global|R, Y", 1, NULL, 0}, +{ 0, "Z Global|R, Z", 2, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "X Local|R, X, X", 3, NULL, 0}, +{ 0, "Y Local|R, Y, Y", 4, NULL, 0}, +{ 0, "Z Local|R, Z, Z", 5, NULL, 0}, +{ -1, "", 0, do_view3d_transform_rotateaxismenu, 0}}; static TBitem tb_transform_scaleaxis[]= { -{ 0, "X Global|S, X", 0, NULL}, -{ 0, "Y Global|S, Y", 1, NULL}, -{ 0, "Z Global|S, Z", 2, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "X Local|S, X, X", 3, NULL}, -{ 0, "Y Local|S, Y, Y", 4, NULL}, -{ 0, "Z Local|S, Z, Z", 5, NULL}, -{ -1, "", 0, do_view3d_transform_scaleaxismenu}}; +{ 0, "X Global|S, X", 0, NULL, 0}, +{ 0, "Y Global|S, Y", 1, NULL, 0}, +{ 0, "Z Global|S, Z", 2, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "X Local|S, X, X", 3, NULL, 0}, +{ 0, "Y Local|S, Y, Y", 4, NULL, 0}, +{ 0, "Z Local|S, Z, Z", 5, NULL, 0}, +{ -1, "", 0, do_view3d_transform_scaleaxismenu, 0}}; static void tb_do_transform_clearapply(void *arg, int event) { @@ -1288,24 +1288,24 @@ } static TBitem tb_transform_clearapply[]= { -{ 0, "Clear Location|Alt G", 0, NULL}, -{ 0, "Clear Rotation|Alt R", 1, NULL}, -{ 0, "Clear Scale|Alt S", 2, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Apply Scale/Rotation to ObData|Ctrl A, 1", 3, NULL}, -{ 0, "Apply Visual Transform|Ctrl A, 2", 4, NULL}, -{ 0, "Apply Deformation|Shift Ctrl A", 5, NULL}, -{ 0, "Make Duplicates Real|Shift Ctrl A", 6, NULL}, -{ -1, "", 0, tb_do_transform_clearapply}}; +{ 0, "Clear Location|Alt G", 0, NULL, 0}, +{ 0, "Clear Rotation|Alt R", 1, NULL, 0}, +{ 0, "Clear Scale|Alt S", 2, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Apply Scale/Rotation to ObData|Ctrl A, 1", 3, NULL, 0}, +{ 0, "Apply Visual Transform|Ctrl A, 2", 4, NULL, 0}, +{ 0, "Apply Deformation|Shift Ctrl A", 5, NULL, 0}, +{ 0, "Make Duplicates Real|Shift Ctrl A", 6, NULL, 0}, +{ -1, "", 0, tb_do_transform_clearapply, 0}}; static TBitem tb_transform_snap[]= { -{ 0, "Selection -> Grid|Shift S, 1", 1, NULL}, -{ 0, "Selection -> Cursor|Shift S, 2", 2, NULL}, -{ 0, "Selection -> Center|Shift S, 3", 3, NULL}, -{ 0, "Cursor -> Selection|Shift S, 4", 4, NULL}, -{ 0, "Cursor -> Grid|Shift S, 5", 5, NULL}, -{ 0, "Cursor -> Active|Shift S, 6", 6, NULL}, -{ -1, "", 0, do_view3d_edit_snapmenu}}; +{ 0, "Selection -> Grid|Shift S, 1", 1, NULL, 0}, +{ 0, "Selection -> Cursor|Shift S, 2", 2, NULL, 0}, +{ 0, "Selection -> Center|Shift S, 3", 3, NULL, 0}, +{ 0, "Cursor -> Selection|Shift S, 4", 4, NULL, 0}, +{ 0, "Cursor -> Grid|Shift S, 5", 5, NULL, 0}, +{ 0, "Cursor -> Active|Shift S, 6", 6, NULL, 0}, +{ -1, "", 0, do_view3d_edit_snapmenu, 0}}; static void tb_do_transform(void *arg, int event) { @@ -1359,131 +1359,131 @@ } static TBitem tb_transform_object_mirror[]= { -{ 0, "X Local|Ctrl M, 1", 1, NULL}, -{ 0, "Y Local|Ctrl M, 2", 2, NULL}, -{ 0, "Z Local|Ctrl M, 3", 3, NULL}, -{ -1, "", 0, do_view3d_object_mirrormenu}}; +{ 0, "X Local|Ctrl M, 1", 1, NULL, 0}, +{ 0, "Y Local|Ctrl M, 2", 2, NULL, 0}, +{ 0, "Z Local|Ctrl M, 3", 3, NULL, 0}, +{ -1, "", 0, do_view3d_object_mirrormenu, 0}}; static TBitem tb_transform[]= { -{ 0, "Grab/Move|G", 0, NULL}, -{ 0, "Grab/Move on Axis| ", 0, tb_transform_moveaxis}, -{ 0, "Rotate|R", 1, NULL}, -{ 0, "Rotate on Axis", 0, tb_transform_rotateaxis}, -{ 0, "Scale|S", 2, NULL}, -{ 0, "Scale on Axis", 0, tb_transform_scaleaxis}, -{ 0, "SEPR", 0, NULL}, -{ 0, "ObData to Center", 10, NULL}, -{ 0, "Center New", 11, NULL}, -{ 0, "Center Cursor", 12, NULL}, -{ 0, "SEPR", 0, NULL}, -{ ICON_MENU_PANEL, "Properties|N", 3, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Mirror", 0, tb_transform_object_mirror}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Snap", 0, tb_transform_snap}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Clear/Apply", 0, tb_transform_clearapply}, -{ -1, "", 0, tb_do_transform}}; +{ 0, "Grab/Move|G", 0, NULL, 0}, +{ 0, "Grab/Move on Axis| ", 0, tb_transform_moveaxis, 0}, +{ 0, "Rotate|R", 1, NULL, 0}, +{ 0, "Rotate on Axis", 0, tb_transform_rotateaxis, 0}, +{ 0, "Scale|S", 2, NULL, 0}, +{ 0, "Scale on Axis", 0, tb_transform_scaleaxis, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "ObData to Center", 10, NULL, 0}, +{ 0, "Center New", 11, NULL, 0}, +{ 0, "Center Cursor", 12, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ ICON_MENU_PANEL, "Properties|N", 3, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Mirror", 0, tb_transform_object_mirror, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Snap", 0, tb_transform_snap, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Clear/Apply", 0, tb_transform_clearapply, 0}, +{ -1, "", 0, tb_do_transform, 0}}; static TBitem tb_transform_edit_mirror[]= { -{ 0, "X Global|Ctrl M, 1", 1, NULL}, -{ 0, "Y Global|Ctrl M, 2", 2, NULL}, -{ 0, "Z Global|Ctrl M, 3", 3, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "X Local|Ctrl M, 4", 4, NULL}, -{ 0, "Y Local|Ctrl M, 5", 5, NULL}, -{ 0, "Z Local|Ctrl M, 6", 6, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "X View|Ctrl M, 7", 7, NULL}, -{ 0, "Y View|Ctrl M, 8", 8, NULL}, -{ 0, "Z View|Ctrl M, 9", 9, NULL}, -{ -1, "", 0, do_view3d_edit_mirrormenu}}; +{ 0, "X Global|Ctrl M, 1", 1, NULL, 0}, +{ 0, "Y Global|Ctrl M, 2", 2, NULL, 0}, +{ 0, "Z Global|Ctrl M, 3", 3, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "X Local|Ctrl M, 4", 4, NULL, 0}, +{ 0, "Y Local|Ctrl M, 5", 5, NULL, 0}, +{ 0, "Z Local|Ctrl M, 6", 6, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "X View|Ctrl M, 7", 7, NULL, 0}, +{ 0, "Y View|Ctrl M, 8", 8, NULL, 0}, +{ 0, "Z View|Ctrl M, 9", 9, NULL, 0}, +{ -1, "", 0, do_view3d_edit_mirrormenu, 0}}; static TBitem tb_transform_editmode1[]= { -{ 0, "Grab/Move|G", 0, NULL}, -{ 0, "Grab/Move on Axis| ", 0, tb_transform_moveaxis}, -{ 0, "Rotate|R", 1, NULL}, -{ 0, "Rotate on Axis", 0, tb_transform_rotateaxis}, -{ 0, "Scale|S", 2, NULL}, -{ 0, "Scale on Axis", 0, tb_transform_scaleaxis}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Shrink/Fatten|Alt S", 5, NULL}, -{ 0, "Shear|Ctrl S", 6, NULL}, -{ 0, "Warp|Shift W", 7, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "ObData to Center", 10, NULL}, -{ 0, "SEPR", 0, NULL}, -{ ICON_MENU_PANEL, "Properties|N", 3, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Mirror", 0, tb_transform_edit_mirror}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Snap", 0, tb_transform_snap}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Proportional Edit|O", 8, NULL}, -{ -1, "", 0, tb_do_transform}}; +{ 0, "Grab/Move|G", 0, NULL, 0}, +{ 0, "Grab/Move on Axis| ", 0, tb_transform_moveaxis, 0}, +{ 0, "Rotate|R", 1, NULL, 0}, +{ 0, "Rotate on Axis", 0, tb_transform_rotateaxis, 0}, +{ 0, "Scale|S", 2, NULL, 0}, +{ 0, "Scale on Axis", 0, tb_transform_scaleaxis, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Shrink/Fatten|Alt S", 5, NULL, 0}, +{ 0, "Shear|Ctrl S", 6, NULL, 0}, +{ 0, "Warp|Shift W", 7, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "ObData to Center", 10, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ ICON_MENU_PANEL, "Properties|N", 3, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Mirror", 0, tb_transform_edit_mirror, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Snap", 0, tb_transform_snap, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Proportional Edit|O", 8, NULL, 0}, +{ -1, "", 0, tb_do_transform, 0}}; static TBitem tb_transform_editmode2[]= { -{ 0, "Grab/Move|G", 0, NULL}, -{ 0, "Grab/Move on Axis| ", 0, tb_transform_moveaxis}, -{ 0, "Rotate|R", 1, NULL}, -{ 0, "Rotate on Axis", 0, tb_transform_rotateaxis}, -{ 0, "Scale|S", 2, NULL}, -{ 0, "Scale on Axis", 0, tb_transform_scaleaxis}, -{ 0, "SEPR", 0, NULL}, -{ ICON_MENU_PANEL, "Properties|N", 3, NULL}, -{ 0, "Snap", 0, tb_transform_snap}, -{ -1, "", 0, tb_do_transform}}; +{ 0, "Grab/Move|G", 0, NULL, 0}, +{ 0, "Grab/Move on Axis| ", 0, tb_transform_moveaxis, 0}, +{ 0, "Rotate|R", 1, NULL, 0}, +{ 0, "Rotate on Axis", 0, tb_transform_rotateaxis, 0}, +{ 0, "Scale|S", 2, NULL, 0}, +{ 0, "Scale on Axis", 0, tb_transform_scaleaxis, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ ICON_MENU_PANEL, "Properties|N", 3, NULL, 0}, +{ 0, "Snap", 0, tb_transform_snap, 0}, +{ -1, "", 0, tb_do_transform, 0}}; /* *************ADD ********** */ static TBitem addmenu_curve[]= { -{ 0, "Bezier Curve", 0, NULL}, -{ 0, "Bezier Circle", 1, NULL}, -{ 0, "NURBS Curve", 2, NULL}, -{ 0, "NURBS Circle", 3, NULL}, -{ 0, "Path", 4, NULL}, -{ -1, "", 0, do_info_add_curvemenu}}; +{ 0, "Bezier Curve", 0, NULL, 0}, +{ 0, "Bezier Circle", 1, NULL, 0}, +{ 0, "NURBS Curve", 2, NULL, 0}, +{ 0, "NURBS Circle", 3, NULL, 0}, +{ 0, "Path", 4, NULL, 0}, +{ -1, "", 0, do_info_add_curvemenu, 0}}; static TBitem addmenu_surf[]= { -{ 0, "NURBS Curve", 0, NULL}, -{ 0, "NURBS Circle", 1, NULL}, -{ 0, "NURBS Surface", 2, NULL}, -{ 0, "NURBS Tube", 3, NULL}, -{ 0, "NURBS Sphere", 4, NULL}, -{ 0, "NURBS Donut", 5, NULL}, -{ -1, "", 0, do_info_add_surfacemenu}}; +{ 0, "NURBS Curve", 0, NULL, 0}, +{ 0, "NURBS Circle", 1, NULL, 0}, +{ 0, "NURBS Surface", 2, NULL, 0}, +{ 0, "NURBS Tube", 3, NULL, 0}, +{ 0, "NURBS Sphere", 4, NULL, 0}, +{ 0, "NURBS Donut", 5, NULL, 0}, +{ -1, "", 0, do_info_add_surfacemenu, 0}}; static TBitem addmenu_meta[]= { -{ 0, "Meta Ball", 0, NULL}, -{ 0, "Meta Tube", 1, NULL}, -{ 0, "Meta Plane", 2, NULL}, -{ 0, "Meta Ellipsoid", 3, NULL}, -{ 0, "Meta Cube", 4, NULL}, -{ -1, "", 0, do_info_add_metamenu}}; +{ 0, "Meta Ball", 0, NULL, 0}, +{ 0, "Meta Tube", 1, NULL, 0}, +{ 0, "Meta Plane", 2, NULL, 0}, +{ 0, "Meta Ellipsoid", 3, NULL, 0}, +{ 0, "Meta Cube", 4, NULL, 0}, +{ -1, "", 0, do_info_add_metamenu, 0}}; static TBitem addmenu_lamp[]= { -{ 0, "Lamp", 0, NULL}, -{ 0, "Sun", 1, NULL}, -{ 0, "Spot", 2, NULL}, -{ 0, "Hemi", 3, NULL}, -{ 0, "Area", 4, NULL}, -{ -1, "", 0, do_info_add_lampmenu}}; +{ 0, "Lamp", 0, NULL, 0}, +{ 0, "Sun", 1, NULL, 0}, +{ 0, "Spot", 2, NULL, 0}, +{ 0, "Hemi", 3, NULL, 0}, +{ 0, "Area", 4, NULL, 0}, +{ -1, "", 0, do_info_add_lampmenu, 0}}; static TBitem addmenu_YF_lamp[]= { -{ 0, "Lamp", 0, NULL}, -{ 0, "Sun", 1, NULL}, -{ 0, "Spot", 2, NULL}, -{ 0, "Hemi", 3, NULL}, -{ 0, "Area", 4, NULL}, -{ 0, "Photon", 5, NULL}, -{ -1, "", 0, do_info_add_lampmenu}}; +{ 0, "Lamp", 0, NULL, 0}, +{ 0, "Sun", 1, NULL, 0}, +{ 0, "Spot", 2, NULL, 0}, +{ 0, "Hemi", 3, NULL, 0}, +{ 0, "Area", 4, NULL, 0}, +{ 0, "Photon", 5, NULL, 0}, +{ -1, "", 0, do_info_add_lampmenu, 0}}; static TBitem addmenu_armature[]= { -{ 0, "Bone", 8, NULL}, -{ -1, "", 0, do_info_addmenu}}; +{ 0, "Bone", 8, NULL, 0}, +{ -1, "", 0, do_info_addmenu, 0}}; /* dynamic items */ #define TB_ADD_MESH 0 @@ -1491,25 +1491,25 @@ #define TB_ADD_LAMP 10 static TBitem tb_add[]= { -{ 0, "Mesh", 0, NULL}, -{ 0, "Curve", 1, addmenu_curve}, -{ 0, "Surface", 2, addmenu_surf}, -{ 0, "Meta", 3, addmenu_meta}, -{ 0, "Text", 4, NULL}, -{ 0, "Empty", 5, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Group", 10, NULL}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Camera", 6, NULL}, -{ 0, "Lamp", 7, addmenu_lamp}, -{ 0, "SEPR", 0, NULL}, -{ 0, "Armature", 8, NULL}, -{ 0, "Lattice", 9, NULL}, -{ -1, "", 0, do_info_addmenu}}; +{ 0, "Mesh", 0, NULL, 0}, +{ 0, "Curve", 1, addmenu_curve, 0}, +{ 0, "Surface", 2, addmenu_surf, 0}, +{ 0, "Meta", 3, addmenu_meta, 0}, +{ 0, "Text", 4, NULL, 0}, +{ 0, "Empty", 5, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Group", 10, NULL, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Camera", 6, NULL, 0}, +{ 0, "Lamp", 7, addmenu_lamp, 0}, +{ 0, "SEPR", 0, NULL, 0}, +{ 0, "Armature", 8, NULL, 0}, +{ 0, "Lattice", 9, NULL, 0}, +{ -1, "", 0, do_info_addmenu, 0}}; static TBitem tb_empty[]= { -{ 0, "Nothing...", 0, NULL}, -{ -1, "", 0, NULL}}; +{ 0, "Nothing...", 0, NULL, 0}, +{ -1, "", 0, NULL, 0}}; /* *************RENDER ********** */ @@ -1550,13 +1550,13 @@ } static TBitem tb_render[]= { - { 0, "Passepartout", 4, NULL}, - { 0, "Set Border|Shift B", 1, NULL}, - { 0, "SEPR", 0, NULL}, - { 0, "Render|F12", 2, NULL}, - { 0, "Anim|Ctrl F12", 3, NULL}, - { 0, "Preview|Shift P", 5, NULL}, - { -1, "", 0, tb_do_render}}; + { 0, "Passepartout", 4, NULL, 0}, + { 0, "Set Border|Shift B", 1, NULL, 0}, + { 0, "SEPR", 0, NULL, 0}, + { 0, "Render|F12", 2, NULL, 0}, + { 0, "Anim|Ctrl F12", 3, NULL, 0}, + { 0, "Preview|Shift P", 5, NULL, 0}, + { -1, "", 0, tb_do_render, 0}}; /* ************************* NODES *********************** */ @@ -1564,34 +1564,34 @@ /* dynamic items */ static TBitem tb_node_addsh[]= { - { 0, "Input", 1, NULL}, - { 0, "Output", 2, NULL}, - { 0, "Color", 3, NULL}, - { 0, "Vector", 4, NULL}, - { 0, "Convertor", 5, NULL}, - { 0, "Group", 6, NULL}, - { 0, "Dynamic", 7, NULL}, - { -1, "", 0, NULL}}; + { 0, "Input", 1, NULL, 0}, + { 0, "Output", 2, NULL, 0}, + { 0, "Color", 3, NULL, 0}, + { 0, "Vector", 4, NULL, 0}, + { 0, "Convertor", 5, NULL, 0}, + { 0, "Group", 6, NULL, 0}, + { 0, "Dynamic", 7, NULL, 0}, + { -1, "", 0, NULL, 0}}; static TBitem tb_node_addcomp[]= { - { 0, "Input", 1, NULL}, - { 0, "Output", 2, NULL}, - { 0, "Color", 3, NULL}, - { 0, "Vector", 4, NULL}, - { 0, "Filter", 5, NULL}, - { 0, "Convertor", 6, NULL}, - { 0, "Matte", 7, NULL}, - { 0, "Distort", 8, NULL}, - { 0, "Group", 9, NULL}, - { 0, "Dynamic", 10, NULL}, - { -1, "", 0, NULL}}; + { 0, "Input", 1, NULL, 0}, + { 0, "Output", 2, NULL, 0}, + { 0, "Color", 3, NULL, 0}, + { 0, "Vector", 4, NULL, 0}, + { 0, "Filter", 5, NULL, 0}, + { 0, "Convertor", 6, NULL, 0}, + { 0, "Matte", 7, NULL, 0}, + { 0, "Distort", 8, NULL, 0}, + { 0, "Group", 9, NULL, 0}, + { 0, "Dynamic", 10, NULL, 0}, + { -1, "", 0, NULL, 0}}; /* do_node_addmenu() in header_node.c, prototype in BSE_headerbuttons.h */ /* dynamic toolbox sublevel */ static TBitem *node_add_sublevel(ListBase *storage, bNodeTree *ntree, int nodeclass) { - static TBitem _addmenu[]= { { 0, " ", 0, NULL}, { -1, "", 0, NULL}}; + static TBitem _addmenu[]= { { 0, " ", 0, NULL, 0}, { -1, "", 0, NULL, 0}}; Link *link; TBitem *addmenu; int tot= 0, a; @@ -1627,6 +1627,7 @@ if(ngroup->type==ntree->type) { addmenu[a].name= ngroup->id.name+2; addmenu[a].retval= NODE_GROUP_MENU+tot; /* so we can use BLI_findlink() */ + addmenu[a].split= 0; a++; } } @@ -1642,10 +1643,12 @@ else addmenu[a].name= type->name; addmenu[a].retval= NODE_DYNAMIC_MENU+script; + addmenu[a].split= 0; script++; } else { addmenu[a].name= type->name; addmenu[a].retval= type->type; + addmenu[a].split= 0; } a++; } @@ -1656,42 +1659,43 @@ addmenu[a].name= ""; addmenu[a].retval= a; addmenu[a].poin= do_node_addmenu; + addmenu[a].split= 0; return addmenu; } static TBitem tb_node_node[]= { - { 0, "Duplicate|Shift D", TB_SHIFT|'d', NULL}, - { 0, "Delete|X", 'x', NULL}, - { 0, "SEPR", 0, NULL}, - { 0, "Make Link|F", 'f', NULL}, - { 0, "SEPR", 0, NULL}, - { 0, "Make Group|Ctrl G", TB_CTRL|'g', NULL}, - { 0, "Ungroup|Alt G", TB_ALT|'g', NULL}, - { 0, "Edit Group|Tab", TB_TAB, NULL}, - { 0, "SEPR", 0, NULL}, - { 0, "Hide/Unhide|H", 'h', NULL}, - { 0, "Rename|Ctrl R", TB_CTRL|'r', NULL}, - { 0, "SEPR", 0, NULL}, - { 0, "Read Saved Render Results|R", 'r', NULL}, - { 0, "Show Cyclic Dependencies|C", 'c', NULL}, - { -1, "", 0, tb_do_hotkey}}; + { 0, "Duplicate|Shift D", TB_SHIFT|'d', NULL, 0}, + { 0, "Delete|X", 'x', NULL, 0}, + { 0, "SEPR", 0, NULL, 0}, + { 0, "Make Link|F", 'f', NULL, 0}, + { 0, "SEPR", 0, NULL, 0}, + { 0, "Make Group|Ctrl G", TB_CTRL|'g', NULL, 0}, + { 0, "Ungroup|Alt G", TB_ALT|'g', NULL, 0}, + { 0, "Edit Group|Tab", TB_TAB, NULL, 0}, + { 0, "SEPR", 0, NULL, 0}, + { 0, "Hide/Unhide|H", 'h', NULL, 0}, + { 0, "Rename|Ctrl R", TB_CTRL|'r', NULL, 0}, + { 0, "SEPR", 0, NULL, 0}, + { 0, "Read Saved Render Results|R", 'r', NULL, 0}, + { 0, "Show Cyclic Dependencies|C", 'c', NULL, 0}, + { -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_node_select[]= { - { 0, "Select/Deselect All|A", 'a', NULL}, - { 0, "Border Select|B", 'b', NULL}, - { -1, "", 0, tb_do_hotkey}}; + { 0, "Select/Deselect All|A", 'a', NULL, 0}, + { 0, "Border Select|B", 'b', NULL, 0}, + { -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_node_transform[]= { - { 0, "Grab/Move|G", 'g', NULL}, - { -1, "", 0, tb_do_hotkey}}; + { 0, "Grab/Move|G", 'g', NULL, 0}, + { -1, "", 0, tb_do_hotkey, 0}}; static TBitem tb_node_view[]= { - { 0, "Zoom In|NumPad +", TB_PAD|'+', NULL}, - { 0, "Zoom Out|NumPad -", TB_PAD|'-', NULL}, - { 0, "View All|Home", TB_PAD|'h', NULL}, - { -1, "", 0, tb_do_hotkey}}; + { 0, "Zoom In|NumPad +", TB_PAD|'+', NULL, 0}, + { 0, "Zoom Out|NumPad -", TB_PAD|'-', NULL, 0}, + { 0, "View All|Home", TB_PAD|'h', NULL, 0}, + { -1, "", 0, tb_do_hotkey, 0}}; /* *********************************************** */ @@ -1702,6 +1706,8 @@ TBitem *item= arg, *itemt; uiBlock *block; int xco= 0, yco= 0; + int countitem; /* current number of item. */ + int dosplit; /* split the menu ? */ char str[10]; if(arg==NULL) return NULL; @@ -1715,8 +1721,17 @@ while(itemt->icon != -1) itemt++; uiBlockSetButmFunc(block, itemt->poin, NULL); + if (item->split) { + dosplit= 1; + countitem= 0; + } + else + dosplit= 0; + // now make the buttons while(item->icon != -1) { + if (dosplit && countitem == U.max_group_view-1) + break; if(strcmp(item->name, "SEPR")==0) { uiDefBut(block, SEPR, 0, "", xco, yco-=6, 50, 6, NULL, 0.0, 0.0, 0, 0, ""); @@ -1737,7 +1752,16 @@ } item++; + if (dosplit) + countitem++; } + + if (dosplit && item->icon != -1) { + item->split= 1; + uiDefIconTextBlockBut(block, tb_makemenu, item, + ICON_RIGHTARROW, "Next", + 0, yco-=20, 80, 19, ""); + } uiTextBoundsBlock(block, 60); @@ -1818,7 +1842,7 @@ /* dynamic toolbox sublevel */ static TBitem *create_group_sublevel(ListBase *storage, Library *lib) { - static TBitem addmenu[]= { { 0, "No Groups", 0, NULL}, { -1, "", 0, NULL}}; + static TBitem addmenu[]= { { 0, "No Groups", 0, NULL, 0}, { -1, "", 0, NULL, 0}}; Link *link; TBitem *groupmenu, *gm; Group *group; @@ -1837,6 +1861,7 @@ if(group->id.lib==lib && (group->id.flag & LIB_DOIT)) { gm->name= group->id.name+2; gm->retval= a; + gm->split= 0; gm++; } } @@ -1844,7 +1869,9 @@ gm->name= ""; gm->retval= a; gm->poin= do_group_addmenu; - + gm->split= 0; + + groupmenu= 0; return groupmenu; } @@ -1892,6 +1919,7 @@ gm->name= str; gm->retval= -1; gm->poin= create_group_sublevel(storage, lib); + gm->split= 0; gm++; } } @@ -1900,6 +1928,7 @@ if(group->id.lib==NULL && (group->id.flag & LIB_DOIT)) { gm->name= group->id.name+2; gm->retval= a; + gm->split= 0; gm++; } } @@ -1907,7 +1936,10 @@ gm->name= ""; gm->retval= a; gm->poin= do_group_addmenu; - + gm->split= 0; + + /* splite the menu if we have too many items. */ + groupmenu->split= 1; return groupmenu; } @@ -1928,33 +1960,45 @@ BLI_addtail(storage, link); mm= meshmenu= (TBitem *)(link+1); - mm->icon = 0; mm->retval= a; mm->name = "Plane"; mm++; a++; - mm->icon = 0; mm->retval= a; mm->name = "Cube"; mm++; a++; - mm->icon = 0; mm->retval= a; mm->name = "Circle"; mm++; a++; - mm->icon = 0; mm->retval= a; mm->name = "UVsphere"; mm++; a++; - mm->icon = 0; mm->retval= a; mm->name = "Icosphere"; mm++; a++; - mm->icon = 0; mm->retval= a; mm->name = "Cylinder"; mm++; a++; a++; - mm->icon = 0; mm->retval= a; mm->name = "Cone"; mm++; a++; - mm->icon = 0; mm->retval= 0; mm->name = "SEPR"; mm++; - mm->icon = 0; mm->retval= a; mm->name = "Grid"; mm++; a++; - mm->icon = 0; mm->retval= a; mm->name = "Monkey"; mm++; a++; + mm->icon = 0; mm->retval= a; mm->name = "Plane"; mm->split= 0; + mm++; a++; + mm->icon = 0; mm->retval= a; mm->name = "Cube"; mm->split= 0; + mm++; a++; + mm->icon = 0; mm->retval= a; mm->name = "Circle"; mm->split= 0; + mm++; a++; + mm->icon = 0; mm->retval= a; mm->name = "UVsphere"; mm->split= 0; + mm++; a++; + mm->icon = 0; mm->retval= a; mm->name = "Icosphere"; mm->split= 0; + mm++; a++; + mm->icon = 0; mm->retval= a; mm->name = "Cylinder"; mm->split= 0; + mm++; a++; a++; + mm->icon = 0; mm->retval= a; mm->name = "Cone"; mm->split= 0; + mm++; a++; + mm->icon = 0; mm->retval= 0; mm->name = "SEPR"; mm->split= 0; + mm++; + mm->icon = 0; mm->retval= a; mm->name = "Grid"; mm->split= 0; + mm++; a++; + mm->icon = 0; mm->retval= a; mm->name = "Monkey"; mm->split= 0; + mm++; a++; /* a == 10 */ if (totpymenu) { int i=0; - mm->icon = 0; mm->retval= 0; mm->name = "SEPR"; mm++; + mm->icon = 0; mm->retval= 0; mm->name = "SEPR"; mm->split= 0; + mm++; /* note that we account for the 10 previous entries with i+4: */ for (pym = BPyMenuTable[PYMENU_ADDMESH]; pym; pym = pym->next, i++) { mm->icon = ICON_PYTHON; mm->retval= i+20; mm->name = pym->name; + mm->split= 0; mm++; a++; } } /* terminate the menu */ - mm->icon= -1; mm->retval= a; mm->name= ""; mm->poin= do_info_add_meshmenu; + mm->icon= -1; mm->retval= a; mm->name= ""; mm->poin= do_info_add_meshmenu; mm->split= 0; return meshmenu; }