MCPcopy Create free account
hub / github.com/KLayout/klayout / send_mouse_double_clicked_event

Method send_mouse_double_clicked_event

src/laybasic/laybasic/layViewObject.cc:895–937  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

893}
894
895void
896ViewObjectUI::send_mouse_double_clicked_event (const db::DPoint &pt, unsigned int buttons)
897{
898 ensure_entered ();
899 begin_mouse_event (lay::Cursor::none);
900
901#if defined(HAVE_QT)
902 if (mp_widget) {
903 mp_widget->setFocus ();
904 }
905#endif
906
907 bool done = false;
908
909 m_mouse_pos = pt;
910 m_mouse_pressed = m_mouse_pos;
911 m_mouse_pressed_state = false;
912
913 db::DPoint p = pixel_to_um (m_mouse_pos);
914
915 auto grabbed = m_grabbed;
916 for (auto g = grabbed.begin (); !done && g != grabbed.end (); ++g) {
917 done = ((*g)->m_enabled && (*g)->mouse_double_click_event (p, buttons, true));
918 }
919
920 if (! done && mp_active_service) {
921 done = (mp_active_service->enabled () && mp_active_service->mouse_double_click_event (p, buttons, true));
922 }
923
924 service_iterator svc = begin_services ();
925 while (svc != end_services () && !done) {
926 service_iterator next = svc;
927 ++next;
928 done = ((*svc)->enabled () && (*svc)->mouse_double_click_event (p, buttons, false));
929 svc = next;
930 }
931
932 if (! done) {
933 mouse_double_click_event (p, buttons);
934 }
935
936 end_mouse_event ();
937}
938
939void
940ViewObjectUI::send_mouse_release_event (const db::DPoint &pt, unsigned int buttons)

Callers 2

mouseDoubleClickEventFunction · 0.80

Calls 6

begin_servicesFunction · 0.85
end_servicesFunction · 0.85
mouse_double_click_eventFunction · 0.70
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected