Update gizmos on/off state

This commit is contained in:
YuSanka 2018-12-03 13:29:07 +01:00
parent 435163fb73
commit 7395b923bd
4 changed files with 12 additions and 3 deletions

View File

@ -5248,6 +5248,12 @@ void GLCanvas3D::set_camera_zoom(float zoom)
_refresh_if_shown_on_screen();
}
void GLCanvas3D::update_gizmos_on_off_state()
{
set_as_dirty();
m_gizmos.update_on_off_state(get_selection());
}
bool GLCanvas3D::_is_shown_on_screen() const
{
return (m_canvas != nullptr) ? m_canvas->IsShownOnScreen() : false;

View File

@ -919,6 +919,8 @@ public:
void set_camera_zoom(float zoom);
void update_gizmos_on_off_state();
private:
bool _is_shown_on_screen() const;
void _force_zoom_to_bed();

View File

@ -1405,7 +1405,7 @@ void ObjectList::update_selections_on_canvas()
const int sel_cnt = GetSelectedItemsCount();
if (sel_cnt == 0) {
selection.clear();
wxGetApp().plater()->canvas3D()->set_as_dirty();
wxGetApp().plater()->canvas3D()->update_gizmos_on_off_state();
return;
}
@ -1435,7 +1435,7 @@ void ObjectList::update_selections_on_canvas()
else
add_to_selection(item, selection, true);
wxGetApp().plater()->canvas3D()->set_as_dirty();
wxGetApp().plater()->canvas3D()->update_gizmos_on_off_state();
return;
}
@ -1446,7 +1446,7 @@ void ObjectList::update_selections_on_canvas()
for (auto item: sels)
add_to_selection(item, selection, false);
wxGetApp().plater()->canvas3D()->set_as_dirty();
wxGetApp().plater()->canvas3D()->update_gizmos_on_off_state();
}
void ObjectList::select_item(const wxDataViewItem& item)

View File

@ -1563,6 +1563,7 @@ void Plater::priv::object_list_changed()
void Plater::priv::select_all()
{
this->canvas3D->select_all();
this->sidebar->obj_list()->update_selections();
}
void Plater::priv::remove(size_t obj_idx)