bool ActivityWidgetsView::AddWidget(ModuleDef &type, int x, int y, int w, int h, string id) { for (uint i = 0;i < widgets.size();i++) { if (widgets[i]->getId() == id) id = ""; } for (int nid = 0;nid < 9999;nid++) { bool failed = false; for (uint i = 0;i < widgets.size();i++) { if (widgets[i]->getId() == Utils::to_string(nid)) failed = true; } if (!failed) { id = Utils::to_string(nid); break; } } //create new widget try { Widget *widget = new Widget(theme, evas, type, id, parent, this); _AddWidget(widget); widget->Move(x, y); widget->Resize(w, h); widget->Show(); } catch(const std::exception &e) { Utils::logger("module") << Priority::ERROR << "ActivityWidgetsView: Error creating widget, " << e.what() << log4cpp::eol; return false; } SaveWidgets(); return true; }