Change PlaYUVerAppModuleIf functions
apply and show are part of PlaYUVerAppModuleIf class
This commit is contained in:
+7
-60
@@ -425,7 +425,7 @@ Void ModulesHandle::activateModule()
|
||||
return;
|
||||
}
|
||||
|
||||
applyModuleIf( pcCurrAppModuleIf, false, true );
|
||||
pcCurrAppModuleIf->apply( false, true );
|
||||
QCoreApplication::processEvents();
|
||||
|
||||
if( pcModuleSubWindow )
|
||||
@@ -474,41 +474,12 @@ Void ModulesHandle::destroyAllModulesIf()
|
||||
emit changed();
|
||||
}
|
||||
|
||||
Bool ModulesHandle::applyModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf, Bool isPlaying, Bool disableThreads )
|
||||
Void ModulesHandle::applyModuleIf( QList<PlaYUVerAppModuleIf*> pcCurrModuleIfList, Bool isPlaying, Bool disableThreads )
|
||||
{
|
||||
Bool bRet = false;
|
||||
QApplication::setOverrideCursor( Qt::WaitCursor );
|
||||
if( pcCurrModuleIf->m_pcDisplaySubWindow )
|
||||
for( Int i = 0; i < pcCurrModuleIfList.size() && !isPlaying; i++ )
|
||||
{
|
||||
pcCurrModuleIf->m_pcDisplaySubWindow->setFillWindow( true );
|
||||
pcCurrModuleIfList.at( i )->apply( isPlaying, disableThreads );
|
||||
}
|
||||
else
|
||||
{
|
||||
pcCurrModuleIf->m_pcSubWindow[0]->setFillWindow( true );
|
||||
}
|
||||
if( !( isPlaying && ( pcCurrModuleIf->m_pcModule->m_uiModuleRequirements & MODULE_REQUIRES_SKIP_WHILE_PLAY ) ) )
|
||||
{
|
||||
#ifdef PLAYUVER_THREADED_MODULES
|
||||
if( !disableThreads )
|
||||
pcCurrModuleIf->start();
|
||||
else
|
||||
#endif
|
||||
{
|
||||
pcCurrModuleIf->run();
|
||||
showModuleIf( pcCurrModuleIf );
|
||||
}
|
||||
|
||||
if( pcCurrModuleIf->m_pcDisplaySubWindow || pcCurrModuleIf->m_pcModule->m_iModuleType == FRAME_MEASUREMENT_MODULE )
|
||||
{
|
||||
bRet = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bRet = true;
|
||||
}
|
||||
QApplication::restoreOverrideCursor();
|
||||
return bRet;
|
||||
}
|
||||
|
||||
Void ModulesHandle::applyAllModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
||||
@@ -574,7 +545,7 @@ Void ModulesHandle::applyAllModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
||||
QApplication::setOverrideCursor( Qt::WaitCursor );
|
||||
for( UInt f = 1; f < numberOfFrames; f++ )
|
||||
{
|
||||
applyModuleIf( pcCurrModuleIf, false, true );
|
||||
pcCurrModuleIf->apply( false, true );
|
||||
QCoreApplication::processEvents();
|
||||
pcCurrModuleIf->m_pcModuleStream->writeFrame( pcCurrModuleIf->m_pcProcessedFrame );
|
||||
for( UInt i = 0; i < numberOfWindows; i++ )
|
||||
@@ -591,30 +562,6 @@ Void ModulesHandle::applyAllModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
||||
}
|
||||
}
|
||||
|
||||
Void ModulesHandle::showModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
||||
{
|
||||
switch( pcCurrModuleIf->m_pcModule->m_iModuleType )
|
||||
{
|
||||
case FRAME_PROCESSING_MODULE:
|
||||
if( pcCurrModuleIf->m_pcDisplaySubWindow )
|
||||
{
|
||||
pcCurrModuleIf->m_pcDisplaySubWindow->setCurrFrame( pcCurrModuleIf->m_pcProcessedFrame );
|
||||
pcCurrModuleIf->m_pcDisplaySubWindow->setFillWindow( false );
|
||||
pcCurrModuleIf->m_pcDisplaySubWindow->clearWindowBusy();
|
||||
}
|
||||
else
|
||||
{
|
||||
pcCurrModuleIf->m_pcSubWindow[0]->setCurrFrame( pcCurrModuleIf->m_pcProcessedFrame );
|
||||
pcCurrModuleIf->m_pcSubWindow[0]->setFillWindow( false );
|
||||
pcCurrModuleIf->m_pcSubWindow[0]->clearWindowBusy();
|
||||
}
|
||||
break;
|
||||
case FRAME_MEASUREMENT_MODULE:
|
||||
pcCurrModuleIf->m_pcModuleDock->setModulueReturnValue( pcCurrModuleIf->m_dMeasurementResult );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Void ModulesHandle::swapModulesWindowsIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
||||
{
|
||||
if( pcCurrModuleIf->m_pcModule->m_uiNumberOfFrames == MODULE_REQUIRES_TWO_FRAMES )
|
||||
@@ -622,7 +569,7 @@ Void ModulesHandle::swapModulesWindowsIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
||||
VideoSubWindow* auxWindowHandle = pcCurrModuleIf->m_pcSubWindow[0];
|
||||
pcCurrModuleIf->m_pcSubWindow[0] = pcCurrModuleIf->m_pcSubWindow[1];
|
||||
pcCurrModuleIf->m_pcSubWindow[1] = auxWindowHandle;
|
||||
applyModuleIf( pcCurrModuleIf );
|
||||
pcCurrModuleIf->apply();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -635,7 +582,7 @@ Void ModulesHandle::customEvent( QEvent *event )
|
||||
PlaYUVerAppModuleIf::EventData *eventData = ( PlaYUVerAppModuleIf::EventData* )event;
|
||||
if( eventData->m_bSuccess )
|
||||
{
|
||||
showModuleIf( eventData->m_pcModule );
|
||||
eventData->m_pcModule->show();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -64,9 +64,7 @@ public:
|
||||
Void writeSettings();
|
||||
|
||||
static Void destroyModuleIf( PlaYUVerAppModuleIf* pcCurrModuleIf );
|
||||
static Bool applyModuleIf( PlaYUVerAppModuleIf* pcCurrModuleIf, Bool isPlaying = false, Bool disableThreads = false );
|
||||
|
||||
static Void showModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf );
|
||||
static Void applyModuleIf( QList<PlaYUVerAppModuleIf*> pcCurrModuleIfList, Bool isPlaying = false, Bool disableThreads = false );
|
||||
|
||||
private:
|
||||
QWidget* m_pcParent;
|
||||
|
||||
@@ -47,11 +47,46 @@ PlaYUVerAppModuleIf::PlaYUVerAppModuleIf( QObject* parent, QAction* action, PlaY
|
||||
}
|
||||
}
|
||||
|
||||
Bool PlaYUVerAppModuleIf::apply( Bool isPlaying, Bool disableThreads )
|
||||
{
|
||||
Bool bRet = false;
|
||||
QApplication::setOverrideCursor( Qt::WaitCursor );
|
||||
if( m_pcDisplaySubWindow )
|
||||
{
|
||||
m_pcDisplaySubWindow->setFillWindow( true );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pcSubWindow[0]->setFillWindow( true );
|
||||
}
|
||||
if( !( isPlaying && ( m_pcModule->m_uiModuleRequirements & MODULE_REQUIRES_SKIP_WHILE_PLAY ) ) )
|
||||
{
|
||||
#ifdef PLAYUVER_THREADED_MODULES
|
||||
if( !disableThreads )
|
||||
start();
|
||||
else
|
||||
#endif
|
||||
{
|
||||
run();
|
||||
show();
|
||||
}
|
||||
|
||||
if( m_pcDisplaySubWindow || m_pcModule->m_iModuleType == FRAME_MEASUREMENT_MODULE )
|
||||
{
|
||||
bRet = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bRet = true;
|
||||
}
|
||||
QApplication::restoreOverrideCursor();
|
||||
return bRet;
|
||||
}
|
||||
|
||||
Void PlaYUVerAppModuleIf::run()
|
||||
{
|
||||
m_bIsRunning = true;
|
||||
// m_pcProcessedFrame = NULL;
|
||||
// m_dMeasurementResult = 0;
|
||||
|
||||
std::vector<PlaYUVerFrame*> apcFrameList;
|
||||
for( UInt i = 0; i < m_pcModule->m_uiNumberOfFrames; i++ )
|
||||
@@ -94,6 +129,30 @@ Void PlaYUVerAppModuleIf::run()
|
||||
return;
|
||||
}
|
||||
|
||||
Void PlaYUVerAppModuleIf::show()
|
||||
{
|
||||
switch( m_pcModule->m_iModuleType )
|
||||
{
|
||||
case FRAME_PROCESSING_MODULE:
|
||||
if( m_pcDisplaySubWindow )
|
||||
{
|
||||
m_pcDisplaySubWindow->setCurrFrame( m_pcProcessedFrame );
|
||||
m_pcDisplaySubWindow->setFillWindow( false );
|
||||
m_pcDisplaySubWindow->clearWindowBusy();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pcSubWindow[0]->setCurrFrame( m_pcProcessedFrame );
|
||||
m_pcSubWindow[0]->setFillWindow( false );
|
||||
m_pcSubWindow[0]->clearWindowBusy();
|
||||
}
|
||||
break;
|
||||
case FRAME_MEASUREMENT_MODULE:
|
||||
m_pcModuleDock->setModulueReturnValue( m_dMeasurementResult );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Void PlaYUVerAppModuleIf::destroy()
|
||||
{
|
||||
if( m_bIsRunning )
|
||||
|
||||
@@ -111,6 +111,8 @@ public:
|
||||
return m_pcModule->m_uiModuleRequirements;
|
||||
}
|
||||
|
||||
Bool apply( Bool isPlaying = false, Bool disableThreads = false );
|
||||
Void show();
|
||||
Void destroy();
|
||||
protected:
|
||||
virtual void run();
|
||||
|
||||
@@ -618,18 +618,14 @@ Void VideoSubWindow::refreshFrameOperation()
|
||||
if( m_pcCurrentDisplayModule )
|
||||
{
|
||||
m_bWindowBusy = true;
|
||||
ModulesHandle::applyModuleIf( m_pcCurrentDisplayModule, m_bIsPlaying, !m_bIsPlaying && m_apcCurrentModule.size() );
|
||||
m_pcCurrentDisplayModule->apply( m_bIsPlaying, !m_bIsPlaying && m_apcCurrentModule.size() );
|
||||
bSetFrame = false;
|
||||
}
|
||||
if( bSetFrame )
|
||||
{
|
||||
m_cViewArea->setImage( m_pcCurrFrame );
|
||||
}
|
||||
for( Int i = 0; i < m_apcCurrentModule.size() && !m_bIsPlaying; i++ )
|
||||
{
|
||||
m_bWindowBusy = true;
|
||||
ModulesHandle::applyModuleIf( m_apcCurrentModule.at( i ), m_bIsPlaying );
|
||||
}
|
||||
ModulesHandle::applyModuleIf( m_apcCurrentModule, m_bIsPlaying );
|
||||
}
|
||||
|
||||
Void VideoSubWindow::refreshFrame( Bool bThreaded )
|
||||
|
||||
Reference in New Issue
Block a user