void CWindowMain::on_execut(const QList<CExecutObject *> &lstObj) { if (!lstObj.isEmpty() && m_executThread == NULL) { m_executThread = new CExecutThread(this,lstObj); connect(m_executThread,SIGNAL(executOperation(QString)), m_widgetConsol,SLOT(executingOperation(QString))); connect(m_executThread,SIGNAL(message(QString)), m_widgetConsol,SLOT(messageAppend(QString))); connect(m_executThread,SIGNAL(started()), this,SIGNAL(locked())); connect(m_executThread,SIGNAL(timerWork(uint)), this,SLOT(on_timerWork(uint))); connect(this,SIGNAL(terminated()), m_executThread,SLOT(on_terminated())); connect(m_executThread,SIGNAL(finished()), this,SIGNAL(unlocked())); connect(m_executThread,SIGNAL(finished()), this,SLOT(on_finished())); m_executThread->start(); } }
EventProcessingBlockInOwnThread::~EventProcessingBlockInOwnThread () { QObject::disconnect(this, SIGNAL(terminated()), this, SLOT(on_terminated())); QObject::disconnect(this, SIGNAL(finished ()), this, SLOT(on_finished ())); QObject::disconnect(this, SIGNAL(started ()), this, SLOT(on_started ())); QObject::disconnect(this, SIGNAL(dbg_terminated(EventProcessingBlockInOwnThread*)), &debugger(), SLOT(terminated(EventProcessingBlockInOwnThread*))); QObject::disconnect(this, SIGNAL(dbg_finished (EventProcessingBlockInOwnThread*)), &debugger(), SLOT(finished (EventProcessingBlockInOwnThread*))); QObject::disconnect(this, SIGNAL(dbg_started (EventProcessingBlockInOwnThread*)), &debugger(), SLOT(started (EventProcessingBlockInOwnThread*))); debugger().destroyed(this); }
EventProcessingBlockInOwnThread::EventProcessingBlockInOwnThread (Name name) : name(name) { debugger().constructed(this); QObject::connect(this, SIGNAL(dbg_started (EventProcessingBlockInOwnThread*)), &debugger(), SLOT(started (EventProcessingBlockInOwnThread*))); QObject::connect(this, SIGNAL(dbg_finished (EventProcessingBlockInOwnThread*)), &debugger(), SLOT(finished (EventProcessingBlockInOwnThread*))); QObject::connect(this, SIGNAL(dbg_terminated(EventProcessingBlockInOwnThread*)), &debugger(), SLOT(terminated(EventProcessingBlockInOwnThread*))); QObject::connect(this, SIGNAL(started ()), this, SLOT(on_started ())); QObject::connect(this, SIGNAL(finished ()), this, SLOT(on_finished ())); QObject::connect(this, SIGNAL(terminated()), this, SLOT(on_terminated())); }