[us-commits] r2827 - trunk/programs/us_xpn_viewer

svn at svn.aucsolutions.com svn at svn.aucsolutions.com
Tue Aug 27 07:05:49 MDT 2019


Author: alexey
Date: 2019-08-27 13:05:47 +0000 (Tue, 27 Aug 2019)
New Revision: 2827

Modified:
   trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp
Log:
autoflow: LIVE_UPDATE to Manage Opt. Runs, small further updates...



Modified: trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp
===================================================================
--- trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp	2019-08-27 06:03:30 UTC (rev 2826)
+++ trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp	2019-08-27 13:05:47 UTC (rev 2827)
@@ -1655,8 +1655,8 @@
       // OR
       //Alternativly: put it in separate thread:
       //QThread* sys_thread = new QThread(this);
-      sys_thread = new QThread(this);
-      timer_check_sysdata = new QTimer(0); // parent to 0 !
+      //sys_thread = new QThread(this);
+      //timer_check_sysdata = new QTimer(0); // parent to 0 !
       timer_check_sysdata->setInterval(2000);
       timer_check_sysdata->moveToThread(sys_thread);
       //connect( timer_check_sysdata, SIGNAL(timeout()), this, SLOT( check_for_sysdata( )  ), Qt::QueuedConnection ) ; //Qt::DirectConnection );
@@ -1971,9 +1971,6 @@
    
   if ( exp_status == 5 || exp_status == 0 )
     {
-      if ( exp_status == 0)
-	experimentAborted  = true;
-      
       //timer_check_sysdata->stop();
       //ALEXEY: This timer cannot be stopped from another thread, but can be dealt with signal/slot upon Qthread termination..
       //        disconnection maybe enough...
@@ -1993,13 +1990,22 @@
       rpm_box->setSpeed( 0 );
       le_remaining->setText( "00:00:00" );
       qApp->processEvents();
+
+      if ( finishing_live_update )
+	{
+	  in_reload_check_sysdata   = false;
+	  return;
+	}
+
+      if ( exp_status == 0)
+	experimentAborted  = true;
       
       if ( !timer_all_data_avail->isActive() ) // Check if reload_data Timer is stopped
 	{
 	  if ( !timer_data_reload->isActive() )
 	    {
 	      qDebug() << "TRY PROCEED INTO == 5/0 from check_for_sys_data()....";
-
+	      
 	      export_auc_auto();
 	      
 	      // QString mtitle_complete  = tr( "Complete!" );
@@ -2008,9 +2014,9 @@
 	      
 	      updateautoflow_record_atLiveUpdate();
 	      //emit experiment_complete_auto( currentDir, ProtocolName, invID_passed, correctRadii  );  // Updtade later: what should be passed with signal ??
-
+	      
 	      reset_auto();
-
+	      
 	      in_reload_check_sysdata   = false;
 	      
 	      emit experiment_complete_auto( details_at_live_update );
@@ -2137,6 +2143,8 @@
   timer_all_data_avail = new QTimer;
   timer_data_reload = new QTimer;
   timer_end_processes = new QTimer;
+  timer_check_sysdata = new QTimer(0); // parent to 0 !
+  sys_thread = new QThread(this);
 
 
   timer_data_init = new QTimer;
@@ -2289,11 +2297,11 @@
       reset_auto(); 
       qApp->processEvents();
       
-      in_reload_end_processes = false; 
+      in_reload_end_processes = false;
+      finishing_live_update = false;
 
       emit liveupdate_processes_stopped();
-       
-      //in_reload_end_processes   = false; 
+     
     }
   else
     {
@@ -2593,6 +2601,14 @@
    //ALEXEY: Add Exp. Abortion Exception HERE... 
    if ( CheckExpComplete_auto( RunID_to_retrieve ) == 0 ) //ALEXEY should be == 3 as per documentation
      {
+       if ( finishing_live_update )
+	 {
+	   timer_all_data_avail->stop();
+	   disconnect(timer_all_data_avail, SIGNAL(timeout()), 0, 0);   //Disconnect timer from anything
+	   in_reload_all_data   = false;  
+	   return;
+	 }
+       
        qDebug() << "ABORTION IN EARLY STAGE...";
        
        experimentAborted  = true;
@@ -3963,6 +3979,14 @@
 
       if ( statusExp == 5 || statusExp == 0 )
 	{
+	  if ( finishing_live_update )
+	    {
+	      timer_data_reload->stop();
+	      disconnect(timer_data_reload, SIGNAL(timeout()), 0, 0);   //Disconnect timer from anything
+	      in_reload_auto   = false; 
+	      return;
+	    }
+	  
 	  if ( statusExp == 0 )
 	    experimentAborted  = true;
 	  



More information about the us-commits mailing list