FIX:continuous click can add new plate
jira: STUDIO-7609 Change-Id: I0888c62777c0675be2639e493edbf43d2af90999
This commit is contained in:
parent
47139ad690
commit
5a4c51a31f
|
@ -6388,7 +6388,7 @@ bool GLCanvas3D::_init_main_toolbar()
|
|||
item.icon_filename = m_is_dark ? "toolbar_add_plate_dark.svg" : "toolbar_add_plate.svg";
|
||||
item.tooltip = _utf8(L("Add plate"));
|
||||
item.sprite_id++;
|
||||
item.left.toggable = true;
|
||||
item.continuous_click = true;
|
||||
item.left.action_callback = [this]() { if (m_canvas != nullptr) wxPostEvent(m_canvas, SimpleEvent(EVT_GLTOOLBAR_ADD_PLATE)); };
|
||||
item.enabling_callback = []()->bool {return wxGetApp().plater()->can_add_plate(); };
|
||||
if (!m_main_toolbar.add_item(item))
|
||||
|
|
|
@ -842,8 +842,11 @@ void GLToolbar::do_action(GLToolbarItem::EActionType type, int item_id, GLCanvas
|
|||
case GLToolbarItem::Left: { item->do_left_action(); break; }
|
||||
case GLToolbarItem::Right: { item->do_right_action(); break; }
|
||||
}
|
||||
|
||||
if ((m_type == Normal) && (item->get_state() != GLToolbarItem::Disabled))
|
||||
if (item->get_continuous_click_flag()) {
|
||||
item->set_state(GLToolbarItem::Hover);
|
||||
parent.render();
|
||||
}
|
||||
else if ((m_type == Normal) && (item->get_state() != GLToolbarItem::Disabled) && !item->get_continuous_click_flag())
|
||||
{
|
||||
// the item may get disabled during the action, if not, set it back to normal state
|
||||
item->set_state(GLToolbarItem::Normal);
|
||||
|
|
|
@ -138,6 +138,7 @@ public:
|
|||
// mouse right click
|
||||
Option right;
|
||||
bool visible;
|
||||
bool continuous_click{false};
|
||||
VisibilityCallback visibility_callback;
|
||||
EnablingCallback enabling_callback;
|
||||
|
||||
|
@ -155,6 +156,7 @@ public:
|
|||
left = data.left;
|
||||
right = data.right;
|
||||
visible = data.visible;
|
||||
continuous_click = data.continuous_click;
|
||||
visibility_callback = data.visibility_callback;
|
||||
enabling_callback = data.enabling_callback;
|
||||
image_data = data.image_data;
|
||||
|
@ -224,6 +226,7 @@ public:
|
|||
bool update_enabled_state();
|
||||
|
||||
//BBS: GUI refactor: GLToolbar
|
||||
bool get_continuous_click_flag() const { return m_data.continuous_click; }
|
||||
bool is_action() const { return m_type == Action; }
|
||||
bool is_action_with_text() const { return m_type == ActionWithText; }
|
||||
bool is_action_with_text_image() const { return m_type == ActionWithTextImage; }
|
||||
|
|
Loading…
Reference in New Issue