int vombat::addFilter(BaseFilter* filter) { assert(filter); filter->setMainAppInterface(m_app); QAction* action = filter->getAction(); if (!action) return 0; // filter already inserted? if (std::find(m_filters.begin(), m_filters.end(), filter) != m_filters.end()) return 0; m_filters.push_back(filter); // connect signals connect(filter, SIGNAL(newEntity(ccHObject*)), this, SLOT(handleNewEntity(ccHObject*))); connect(filter, SIGNAL(entityHasChanged(ccHObject*)), this, SLOT(handleEntityChange(ccHObject*))); connect(filter, SIGNAL(newErrorMessage(QString)), this, SLOT(handleErrorMessage(QString))); return 1; }
void BaseFilter::throwError(int errCode) { QString errMsg = getErrorMessage(errCode); //we display message in a popup dialog //ccConsole::Error(errMsg.toStdString().c_str()); //DGM: libraries shouldn't issue message this way! The information should be sent to the plugin! emit newErrorMessage(errMsg); }