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

Method set_menu

src/laybasic/laybasic/layAbstractMenu.cc:647–700  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

645}
646
647void
648Action::set_menu (QMenu *menu, bool owned)
649{
650 if (mp_menu == menu || ! lay::has_gui () || ! mp_action) {
651 return;
652 }
653
654 if (mp_menu && ! menu) {
655
656 QAction *new_action = new ActionObject (0);
657 configure_action (new_action);
658
659 if (m_owned) {
660 delete mp_menu;
661 }
662 mp_menu = 0;
663
664 mp_action = new_action;
665 m_owned = true;
666
667 } else if (mp_menu && menu) {
668
669 configure_action (menu->menuAction ());
670
671 if (m_owned) {
672 delete mp_menu;
673 }
674
675 mp_menu = menu;
676 m_owned = owned;
677 mp_action = menu->menuAction ();
678
679 } else if (! mp_menu && menu) {
680
681 configure_action (menu->menuAction ());
682
683 if (m_owned) {
684 delete mp_action;
685 }
686
687 mp_menu = menu;
688 m_owned = owned;
689 mp_action = menu->menuAction ();
690
691 }
692
693 if (mp_menu) {
694 connect (mp_menu, SIGNAL (destroyed (QObject *)), this, SLOT (was_destroyed (QObject *)));
695 connect (mp_menu, SIGNAL (aboutToShow ()), this, SLOT (menu_about_to_show ()));
696 } else {
697 connect (mp_action, SIGNAL (destroyed (QObject *)), this, SLOT (was_destroyed (QObject *)));
698 }
699 connect (mp_action, SIGNAL (triggered ()), this, SLOT (qaction_triggered ()));
700}
701
702void
703Action::was_destroyed (QObject *obj)

Callers 3

build_detachedMethod · 0.80
buildMethod · 0.80
set_menuFunction · 0.80

Calls 2

connectFunction · 0.85
has_guiFunction · 0.70

Tested by

no test coverage detected