void Brush_constructMenu(GtkMenu* menu) { create_menu_item_with_mnemonic(menu, "Prism...", "BrushPrism"); create_menu_item_with_mnemonic(menu, "Cone...", "BrushCone"); create_menu_item_with_mnemonic(menu, "Sphere...", "BrushSphere"); menu_separator (menu); { GtkMenu* menu_in_menu = create_sub_menu_with_mnemonic (menu, "CSG"); create_menu_item_with_mnemonic(menu_in_menu, "Make _Hollow", "CSGHollow"); create_menu_item_with_mnemonic(menu_in_menu, "CSG _Subtract", "CSGSubtract"); create_menu_item_with_mnemonic(menu_in_menu, "CSG _Merge", "CSGMerge"); } menu_separator(menu); { GtkMenu* menu_in_menu = create_sub_menu_with_mnemonic (menu, "Clipper"); create_menu_item_with_mnemonic(menu_in_menu, "Clip selection", "ClipSelected"); create_menu_item_with_mnemonic(menu_in_menu, "Split selection", "SplitSelected"); create_menu_item_with_mnemonic(menu_in_menu, "Flip Clip orientation", "FlipClip"); } menu_separator(menu); create_menu_item_with_mnemonic(menu, "Make detail", "MakeDetail"); create_menu_item_with_mnemonic(menu, "Make structural", "MakeStructural"); create_check_menu_item_with_mnemonic(menu, "Texture Lock", "TogTexLock"); menu_separator(menu); create_menu_item_with_mnemonic(menu, "Copy Face Texture", "FaceCopyTexture"); create_menu_item_with_mnemonic(menu, "Paste Face Texture", "FacePasteTexture"); command_connect_accelerator("Brush3Sided"); command_connect_accelerator("Brush4Sided"); command_connect_accelerator("Brush5Sided"); command_connect_accelerator("Brush6Sided"); command_connect_accelerator("Brush7Sided"); command_connect_accelerator("Brush8Sided"); command_connect_accelerator("Brush9Sided"); }
GtkCheckMenuItem* create_check_menu_item_with_mnemonic( GtkMenu* menu, const char* mnemonic, const char* commandName ){ GlobalShortcuts_register( commandName, 2 ); const Toggle& toggle = GlobalToggles_find( commandName ); global_accel_group_connect( toggle.m_command.m_accelerator, toggle.m_command.m_callback ); return create_check_menu_item_with_mnemonic( menu, mnemonic, toggle ); }