Added menu item for the "Fix through the Netfabb"
This commit is contained in:
parent
eec289961a
commit
a5ec951180
4 changed files with 42 additions and 8 deletions
|
@ -952,10 +952,20 @@ wxMenuItem* ObjectList::append_menu_item_instance_to_object(wxMenu* menu)
|
||||||
[this](wxCommandEvent&) { split_instances(); }, "", menu);
|
[this](wxCommandEvent&) { split_instances(); }, "", menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxMenuItem* ObjectList::append_menu_item_rename(wxMenu* menu)
|
void ObjectList::append_menu_item_rename(wxMenu* menu)
|
||||||
{
|
{
|
||||||
return append_menu_item(menu, wxID_ANY, _(L("Rename")), "",
|
append_menu_item(menu, wxID_ANY, _(L("Rename")), "",
|
||||||
[this](wxCommandEvent&) { rename_item(); }, "", menu);
|
[this](wxCommandEvent&) { rename_item(); }, "", menu);
|
||||||
|
menu->AppendSeparator();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ObjectList::append_menu_item_fix_through_netfabb(wxMenu* menu)
|
||||||
|
{
|
||||||
|
if (!is_windows10())
|
||||||
|
return;
|
||||||
|
append_menu_item(menu, wxID_ANY, _(L("Fix through the Netfabb")), "",
|
||||||
|
[this](wxCommandEvent&) { fix_through_netfabb(); }, "", menu);
|
||||||
|
menu->AppendSeparator();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjectList::create_object_popupmenu(wxMenu *menu)
|
void ObjectList::create_object_popupmenu(wxMenu *menu)
|
||||||
|
@ -964,6 +974,8 @@ void ObjectList::create_object_popupmenu(wxMenu *menu)
|
||||||
append_menu_item_rename(menu);
|
append_menu_item_rename(menu);
|
||||||
#endif // __WXOSX__
|
#endif // __WXOSX__
|
||||||
|
|
||||||
|
append_menu_item_fix_through_netfabb(menu);
|
||||||
|
|
||||||
// Split object to parts
|
// Split object to parts
|
||||||
m_menu_item_split = append_menu_item_split(menu);
|
m_menu_item_split = append_menu_item_split(menu);
|
||||||
menu->AppendSeparator();
|
menu->AppendSeparator();
|
||||||
|
@ -981,6 +993,8 @@ void ObjectList::create_sla_object_popupmenu(wxMenu *menu)
|
||||||
#ifdef __WXOSX__
|
#ifdef __WXOSX__
|
||||||
append_menu_item_rename(menu);
|
append_menu_item_rename(menu);
|
||||||
#endif // __WXOSX__
|
#endif // __WXOSX__
|
||||||
|
|
||||||
|
append_menu_item_fix_through_netfabb(menu);
|
||||||
// rest of a object_sla_menu will be added later in:
|
// rest of a object_sla_menu will be added later in:
|
||||||
// - append_menu_item_settings() -> for "Add (settings)"
|
// - append_menu_item_settings() -> for "Add (settings)"
|
||||||
}
|
}
|
||||||
|
@ -991,6 +1005,8 @@ void ObjectList::create_part_popupmenu(wxMenu *menu)
|
||||||
append_menu_item_rename(menu);
|
append_menu_item_rename(menu);
|
||||||
#endif // __WXOSX__
|
#endif // __WXOSX__
|
||||||
|
|
||||||
|
append_menu_item_fix_through_netfabb(menu);
|
||||||
|
|
||||||
m_menu_item_split_part = append_menu_item_split(menu);
|
m_menu_item_split_part = append_menu_item_split(menu);
|
||||||
|
|
||||||
// Append change part type
|
// Append change part type
|
||||||
|
@ -2111,6 +2127,21 @@ void ObjectList::rename_item()
|
||||||
update_name_in_model(item);
|
update_name_in_model(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ObjectList::fix_through_netfabb() const
|
||||||
|
{
|
||||||
|
const wxDataViewItem item = GetSelection();
|
||||||
|
if (!item)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ItemType type = m_objects_model->GetItemType(item);
|
||||||
|
|
||||||
|
if (type & itObject)
|
||||||
|
wxGetApp().plater()->fix_through_netfabb(m_objects_model->GetIdByItem(item));
|
||||||
|
else if (type & itVolume)
|
||||||
|
wxGetApp().plater()->fix_through_netfabb(m_objects_model->GetIdByItem(m_objects_model->GetTopParent(item)),
|
||||||
|
m_objects_model->GetVolumeIdByItem(item));
|
||||||
|
}
|
||||||
|
|
||||||
void ObjectList::ItemValueChanged(wxDataViewEvent &event)
|
void ObjectList::ItemValueChanged(wxDataViewEvent &event)
|
||||||
{
|
{
|
||||||
if (event.GetColumn() == 0)
|
if (event.GetColumn() == 0)
|
||||||
|
|
|
@ -179,7 +179,8 @@ public:
|
||||||
wxMenuItem* append_menu_item_settings(wxMenu* menu);
|
wxMenuItem* append_menu_item_settings(wxMenu* menu);
|
||||||
wxMenuItem* append_menu_item_change_type(wxMenu* menu);
|
wxMenuItem* append_menu_item_change_type(wxMenu* menu);
|
||||||
wxMenuItem* append_menu_item_instance_to_object(wxMenu* menu);
|
wxMenuItem* append_menu_item_instance_to_object(wxMenu* menu);
|
||||||
wxMenuItem* append_menu_item_rename(wxMenu* menu);
|
void append_menu_item_rename(wxMenu* menu);
|
||||||
|
void append_menu_item_fix_through_netfabb(wxMenu* menu);
|
||||||
void create_object_popupmenu(wxMenu *menu);
|
void create_object_popupmenu(wxMenu *menu);
|
||||||
void create_sla_object_popupmenu(wxMenu*menu);
|
void create_sla_object_popupmenu(wxMenu*menu);
|
||||||
void create_part_popupmenu(wxMenu*menu);
|
void create_part_popupmenu(wxMenu*menu);
|
||||||
|
@ -262,7 +263,7 @@ public:
|
||||||
void instances_to_separated_object(const int obj_idx, const std::set<int>& inst_idx);
|
void instances_to_separated_object(const int obj_idx, const std::set<int>& inst_idx);
|
||||||
void split_instances();
|
void split_instances();
|
||||||
void rename_item();
|
void rename_item();
|
||||||
|
void fix_through_netfabb() const;
|
||||||
private:
|
private:
|
||||||
void OnChar(wxKeyEvent& event);
|
void OnChar(wxKeyEvent& event);
|
||||||
void OnContextMenu(wxDataViewEvent &event);
|
void OnContextMenu(wxDataViewEvent &event);
|
||||||
|
|
|
@ -1031,7 +1031,7 @@ struct Plater::priv
|
||||||
void update_restart_background_process(bool force_scene_update, bool force_preview_update);
|
void update_restart_background_process(bool force_scene_update, bool force_preview_update);
|
||||||
void export_gcode(fs::path output_path, PrintHostJob upload_job);
|
void export_gcode(fs::path output_path, PrintHostJob upload_job);
|
||||||
void reload_from_disk();
|
void reload_from_disk();
|
||||||
void fix_through_netfabb(const int obj_idx);
|
void fix_through_netfabb(const int obj_idx, const int vol_idx = -1);
|
||||||
|
|
||||||
void set_current_panel(wxPanel* panel);
|
void set_current_panel(wxPanel* panel);
|
||||||
|
|
||||||
|
@ -2106,7 +2106,7 @@ void Plater::priv::reload_from_disk()
|
||||||
remove(obj_orig_idx);
|
remove(obj_orig_idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Plater::priv::fix_through_netfabb(const int obj_idx)
|
void Plater::priv::fix_through_netfabb(const int obj_idx, const int vol_idx/* = -1*/)
|
||||||
{
|
{
|
||||||
if (obj_idx < 0)
|
if (obj_idx < 0)
|
||||||
return;
|
return;
|
||||||
|
@ -2440,6 +2440,8 @@ bool Plater::priv::init_common_menu(wxMenu* menu, const bool is_part/* = false*/
|
||||||
}
|
}
|
||||||
menu->AppendSeparator();
|
menu->AppendSeparator();
|
||||||
|
|
||||||
|
sidebar->obj_list()->append_menu_item_fix_through_netfabb(menu);
|
||||||
|
|
||||||
wxMenu* mirror_menu = new wxMenu();
|
wxMenu* mirror_menu = new wxMenu();
|
||||||
if (mirror_menu == nullptr)
|
if (mirror_menu == nullptr)
|
||||||
return false;
|
return false;
|
||||||
|
@ -3150,7 +3152,7 @@ void Plater::changed_object(int obj_idx)
|
||||||
this->p->schedule_background_process();
|
this->p->schedule_background_process();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Plater::fix_through_netfabb(const int obj_idx) { p->fix_through_netfabb(obj_idx); }
|
void Plater::fix_through_netfabb(const int obj_idx, const int vol_idx/* = -1*/) { p->fix_through_netfabb(obj_idx, vol_idx); }
|
||||||
|
|
||||||
void Plater::update_object_menu() { p->update_object_menu(); }
|
void Plater::update_object_menu() { p->update_object_menu(); }
|
||||||
|
|
||||||
|
|
|
@ -147,7 +147,7 @@ public:
|
||||||
void export_3mf(const boost::filesystem::path& output_path = boost::filesystem::path());
|
void export_3mf(const boost::filesystem::path& output_path = boost::filesystem::path());
|
||||||
void reslice();
|
void reslice();
|
||||||
void changed_object(int obj_idx);
|
void changed_object(int obj_idx);
|
||||||
void fix_through_netfabb(const int obj_idx);
|
void fix_through_netfabb(const int obj_idx, const int vol_idx = -1);
|
||||||
void send_gcode();
|
void send_gcode();
|
||||||
|
|
||||||
void on_extruders_change(int extruders_count);
|
void on_extruders_change(int extruders_count);
|
||||||
|
|
Loading…
Reference in a new issue