@@ -1246,11 +1246,53 @@ void MenuFactory::create_default_menu()
12461246 []() { return plater ()->is_view3D_shown (); }, [this ]() { return plater ()->are_view3D_object_labels_shown (); }, m_parent);
12471247}
12481248
1249+ void MenuFactory::append_menu_items_instance_manipulation (wxMenu* menu)
1250+ {
1251+ const MenuType type = menu == &m_object_menu ? mtObjectFFF : mtObjectSLA;
1252+
1253+ items_increase[type] = append_menu_item (
1254+ menu,
1255+ wxID_ANY,
1256+ _L (" Add instance" ),
1257+ _L (" Add one more instance of the selected object" ),
1258+ [](wxCommandEvent&) { plater ()->increase_instances (); },
1259+ " " ,
1260+ nullptr ,
1261+ []() { return plater ()->can_increase_instances (); },
1262+ m_parent);
1263+
1264+ items_decrease[type] = append_menu_item (
1265+ menu,
1266+ wxID_ANY,
1267+ _L (" Remove instance" ),
1268+ _L (" Remove one instance of the selected object" ),
1269+ [](wxCommandEvent&) { plater ()->decrease_instances (); },
1270+ " " ,
1271+ nullptr ,
1272+ []() { return plater ()->can_decrease_instances (); },
1273+ m_parent);
1274+
1275+ items_set_number_of_copies[type] = append_menu_item (
1276+ menu,
1277+ wxID_ANY,
1278+ _L (" Set number of instances" ) + dots,
1279+ _L (" Change the number of instances of the selected object" ),
1280+ [](wxCommandEvent&) { plater ()->set_number_of_copies (); },
1281+ " " ,
1282+ nullptr ,
1283+ []() {
1284+ return plater ()->can_increase_instances () ||
1285+ plater ()->can_decrease_instances ();
1286+ },
1287+ m_parent);
1288+
1289+ menu->AppendSeparator ();
1290+ }
1291+
12491292void MenuFactory::create_common_object_menu (wxMenu* menu)
12501293{
12511294 append_menu_item_rename (menu);
1252- // BBS
1253- // append_menu_items_instance_manipulation(menu);
1295+ append_menu_items_instance_manipulation (menu);
12541296 // Delete menu was moved to be after +/- instace to make it more difficult to be selected by mistake.
12551297 append_menu_item_delete (menu);
12561298 // append_menu_item_instance_to_object(menu);
@@ -1292,6 +1334,7 @@ void MenuFactory::create_object_menu()
12921334
12931335void MenuFactory::create_bbl_object_menu ()
12941336{
1337+ append_menu_items_instance_manipulation (&m_object_menu);
12951338 append_menu_item_fill_bed (&m_object_menu);
12961339 // Object Clone
12971340 append_menu_item_clone (&m_object_menu);
0 commit comments