mirror of https://github.com/KLayout/klayout.git
Two bugs fixed: tech selection did not happen, enable all/disable all did not work
This commit is contained in:
parent
0059d1bf24
commit
5853fecf37
|
|
@ -1865,22 +1865,6 @@ MainWindow::select_mode (int m)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
MainWindow::enable_all ()
|
|
||||||
{
|
|
||||||
for (tl::Registrar<lay::PluginDeclaration>::iterator cls = tl::Registrar<lay::PluginDeclaration>::begin (); cls != tl::Registrar<lay::PluginDeclaration>::end (); ++cls) {
|
|
||||||
cls->set_editable_enabled (true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MainWindow::disable_all ()
|
|
||||||
{
|
|
||||||
for (tl::Registrar<lay::PluginDeclaration>::iterator cls = tl::Registrar<lay::PluginDeclaration>::begin (); cls != tl::Registrar<lay::PluginDeclaration>::end (); ++cls) {
|
|
||||||
cls->set_editable_enabled (false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
MainWindow::cm_reset_window_state ()
|
MainWindow::cm_reset_window_state ()
|
||||||
{
|
{
|
||||||
|
|
@ -3848,6 +3832,13 @@ MainWindow::menu_activated (const std::string &symbol)
|
||||||
cm_help_about_qt ();
|
cm_help_about_qt ();
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
// Try the plugin declarations
|
||||||
|
for (tl::Registrar<lay::PluginDeclaration>::iterator cls = tl::Registrar<lay::PluginDeclaration>::begin (); cls != tl::Registrar<lay::PluginDeclaration>::end (); ++cls) {
|
||||||
|
if (cls->menu_activated (symbol)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: this can be part of the Plugin scheme, but the plugin root has no idea which is the active
|
// TODO: this can be part of the Plugin scheme, but the plugin root has no idea which is the active
|
||||||
// view.
|
// view.
|
||||||
if (current_view ()) {
|
if (current_view ()) {
|
||||||
|
|
|
||||||
|
|
@ -636,8 +636,6 @@ public slots:
|
||||||
void exit ();
|
void exit ();
|
||||||
void close_current_view ();
|
void close_current_view ();
|
||||||
void tab_close_requested (int);
|
void tab_close_requested (int);
|
||||||
void enable_all ();
|
|
||||||
void disable_all ();
|
|
||||||
void open_recent (size_t n);
|
void open_recent (size_t n);
|
||||||
void view_selected (int index);
|
void view_selected (int index);
|
||||||
void view_title_changed ();
|
void view_title_changed ();
|
||||||
|
|
|
||||||
|
|
@ -6632,6 +6632,15 @@ LayoutView::menu_symbols ()
|
||||||
void
|
void
|
||||||
LayoutView::menu_activated (const std::string &symbol)
|
LayoutView::menu_activated (const std::string &symbol)
|
||||||
{
|
{
|
||||||
|
// Try the plugin declarations if the view is the top-level dispatcher
|
||||||
|
if (dispatcher () == this) {
|
||||||
|
for (tl::Registrar<lay::PluginDeclaration>::iterator cls = tl::Registrar<lay::PluginDeclaration>::begin (); cls != tl::Registrar<lay::PluginDeclaration>::end (); ++cls) {
|
||||||
|
if (cls->menu_activated (symbol)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (symbol == "cm_show_properties") {
|
if (symbol == "cm_show_properties") {
|
||||||
show_properties (this);
|
show_properties (this);
|
||||||
} else if (symbol == "cm_delete") {
|
} else if (symbol == "cm_delete") {
|
||||||
|
|
@ -8042,8 +8051,8 @@ public:
|
||||||
menu_entries.push_back (lay::menu_item ("cm_select_all", "select_all", at, tl::to_string (QObject::tr ("Select All"))));
|
menu_entries.push_back (lay::menu_item ("cm_select_all", "select_all", at, tl::to_string (QObject::tr ("Select All"))));
|
||||||
menu_entries.push_back (lay::menu_item ("cm_unselect_all", "unselect_all", at, tl::to_string (QObject::tr ("Unselect All"))));
|
menu_entries.push_back (lay::menu_item ("cm_unselect_all", "unselect_all", at, tl::to_string (QObject::tr ("Unselect All"))));
|
||||||
menu_entries.push_back (lay::separator ("edit_select_basic_group", at));
|
menu_entries.push_back (lay::separator ("edit_select_basic_group", at));
|
||||||
menu_entries.push_back (lay::menu_item ("enable_all", "enable_all", at, tl::to_string (QObject::tr ("Enable All"))));
|
menu_entries.push_back (lay::menu_item ("lv:enable_all", "enable_all", at, tl::to_string (QObject::tr ("Enable All"))));
|
||||||
menu_entries.push_back (lay::menu_item ("disable_all", "disable_all", at, tl::to_string (QObject::tr ("Disable All"))));
|
menu_entries.push_back (lay::menu_item ("lv:disable_all", "disable_all", at, tl::to_string (QObject::tr ("Disable All"))));
|
||||||
menu_entries.push_back (lay::separator ("edit_select_individual_group", at));
|
menu_entries.push_back (lay::separator ("edit_select_individual_group", at));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -8109,6 +8118,27 @@ public:
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool menu_activated (const std::string &symbol) const
|
||||||
|
{
|
||||||
|
if (symbol == "lv:enable_all") {
|
||||||
|
|
||||||
|
for (tl::Registrar<lay::PluginDeclaration>::iterator cls = tl::Registrar<lay::PluginDeclaration>::begin (); cls != tl::Registrar<lay::PluginDeclaration>::end (); ++cls) {
|
||||||
|
cls->set_editable_enabled (true);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} else if (symbol == "lv:disable_all") {
|
||||||
|
|
||||||
|
for (tl::Registrar<lay::PluginDeclaration>::iterator cls = tl::Registrar<lay::PluginDeclaration>::begin (); cls != tl::Registrar<lay::PluginDeclaration>::end (); ++cls) {
|
||||||
|
cls->set_editable_enabled (false);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void implements_primary_mouse_modes (std::vector<std::pair<std::string, std::pair<std::string, int> > > &modes)
|
void implements_primary_mouse_modes (std::vector<std::pair<std::string, std::pair<std::string, int> > > &modes)
|
||||||
{
|
{
|
||||||
std::vector <std::string> mode_titles;
|
std::vector <std::string> mode_titles;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue