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

svn at svn.aucsolutions.com svn at svn.aucsolutions.com
Wed Sep 25 07:31:51 MDT 2019


Author: alexey
Date: 2019-09-25 13:31:51 +0000 (Wed, 25 Sep 2019)
New Revision: 2835

Modified:
   trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp
Log:
Merging mine and Gary's mods to us_xpn_viewer_gui.cpp..
(accidentally overwrote last time)



Modified: trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp
===================================================================
--- trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp	2019-09-25 07:35:36 UTC (rev 2834)
+++ trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp	2019-09-25 13:31:51 UTC (rev 2835)
@@ -1598,15 +1598,14 @@
 
       //ALEXEY: make sure ExpID is coupled to the RunID which is already in the autoflow DB
       if ( runID_passed != "NULL" )
-       	{
-       	  if ( runID_passed.toInt() != RunID_to_retrieve.toInt() )
-       	    {
-       	      RunID_to_retrieve = runID_passed;
-       	      qDebug() << "Correcting RunID to : " << RunID_to_retrieve;
-       	    }
-       	}
-	
-      
+	{
+	  if ( runID_passed.toInt() != RunID_to_retrieve.toInt() )
+	    {
+	      RunID_to_retrieve = runID_passed;
+	      qDebug() << "Correcting RunID to : " << RunID_to_retrieve;
+	    }
+	}
+            
       //ALEXEY: need to update 'autoflow' table with the unique RunID_to_retrieve && Start Run Time fields !!!
       //Conditional:  Do it ONLY once !!! 
       update_autoflow_runId_timeStarted();
@@ -2343,14 +2342,14 @@
 //   US_XpnRunRaw* lddiag = new US_XpnRunRaw( drDesc, runInfo );
 //    if ( lddiag->exec() == QDialog::Rejected )                    //ALEXEY need drDesc but do NOT need dialog
 //    {
-// DbgLv(1) << "RDr:  rtn fr XpnRunRaw dialog: CANCEL";
+// DbgLv(1) << "RDa:  rtn fr XpnRunRaw dialog: CANCEL";
 //       return;
 //    }
 
 //    // Restore area beneath dialog
 //    qApp->processEvents();
-// DbgLv(1) << "RDr:  rtn fr XpnRunRaw dialog";
-// DbgLv(1) << "RDr:   drDesc" << drDesc;
+// DbgLv(1) << "RDa:  rtn fr XpnRunRaw dialog";
+// DbgLv(1) << "RDa:   drDesc" << drDesc;
 
    // See if we need to fix the runID
 
@@ -2411,16 +2410,16 @@
    scanmask          += QString( sMasks ).mid( 2, 1 ) == "1" ? 2 : 0;
    scanmask          += QString( sMasks ).mid( 4, 1 ) == "1" ? 4 : 0;
    scanmask          += QString( sMasks ).mid( 6, 1 ) == "1" ? 8 : 0;
-DbgLv(1) << "RDr:     iRId" << iRunId << "sMsks scnmask" << sMasks << scanmask;
+DbgLv(1) << "RDa:     iRId" << iRunId << "sMsks scnmask" << sMasks << scanmask;
 
- qDebug() << "RDr:     iRId" << iRunId << "sMsks scnmask" << sMasks << scanmask;
-
  //ALEXEY: maybe put in_reload_check_sysdata = true; and then false (after xpn_data->import_data( iRunId, scanmask ); )
  //in_reload_check_sysdata = true; //ALEXEY
- xpn_data->import_data( iRunId, scanmask );                               // ALEXEY <-- actual data retreiving
+
+   xpn_data->import_data( iRunId, scanmask );                               // ALEXEY <-- actual data retreiving
+
    int ntsrows        = xpn_data->countOf( "scan_rows" );
-DbgLv(1) << "RDr:     ntsrows" << ntsrows;
-DbgLv(1) << "RDr:      knt(triple)   " << xpn_data->countOf( "triple"    );
+DbgLv(1) << "RDa:     ntsrows" << ntsrows;
+DbgLv(1) << "RDa:      knt(triple)   " << xpn_data->countOf( "triple"    );
  qApp->processEvents();
 
    if ( ntsrows < 1 )
@@ -2428,8 +2427,8 @@
       le_status->setText( tr( "Run %1 has no associated data..." )
                           .arg( fRunId ) );
 
-      in_reload_all_data   = false;  
-      
+      in_reload_all_data   = false;
+
       //ALEXEY: rare case when no data but exp. aborted !!!! 
       if ( CheckExpComplete_auto( RunID_to_retrieve ) == 0 ) //ALEXEY should be == 3 as per documentation
 	{
@@ -2509,65 +2508,80 @@
       drtype2            = ( runType2 == "RI" ) ? "Absorbance"   : drtype2;
       drtype2            = ( runType2 == "FI" ) ? "Fluorescence" : drtype2;
       drtype2            = ( runType2 == "WI" ) ? "Wavelength"   : drtype2;
-      opsys << drtype1 << drtype2;
-
       QString msg        = tr( "Multiple scan data types are present:\n" )
                            +   "'" + drtype1 + "'\n or \n"
-                           +   "'" + drtype2 + "' .\n\n"
-                           + tr( "Choose one for initial display." );
-      QMessageBox mbox;
-      mbox.setWindowTitle( tr( "Scan Data Type to Process" ) );
-      mbox.setText( msg );
-      QPushButton* pb_opt1 = mbox.addButton( drtype1, QMessageBox::AcceptRole );
-      QPushButton* pb_opt2 = mbox.addButton( drtype2, QMessageBox::RejectRole );
-      mbox.setEscapeButton ( pb_opt2 );
-      mbox.setDefaultButton( pb_opt1 );
+                           +   "'" + drtype2 + "' .\n";
+DbgLv(1) << "RDa:   runType2 scanmask" << runType2 << scanmask << "[ifw]scn_rows"
+ << xpn_data->countOf( "iscn_rows" )
+ << xpn_data->countOf( "fscn_rows" )
+ << xpn_data->countOf( "wscn_rows" );
+      if ( ( runType2 == "IP"  &&  xpn_data->countOf( "iscn_rows" ) == 0 )  ||
+           ( runType2 == "FI"  &&  xpn_data->countOf( "fscn_rows" ) == 0 )  ||
+           ( runType2 == "WI"  &&  xpn_data->countOf( "wscn_rows" ) == 0 ) )
+      {
+         msg               += tr( "\nScans are missing so only " ) + drtype1
+                              + tr( " scans are processed." );
+         QMessageBox::warning( this,
+               tr( "Multiple Types with Missing Scans" ),
+               msg );
+      }
 
-      mbox.exec();
-      if ( mbox.clickedButton() == pb_opt2 )
+      else
       {
-         runType            = runType2;
-         optndx             = 1;
+         opsys << drtype1 << drtype2;
+         msg               += tr( "\nChoose one for initial display." );
+         QMessageBox mbox;
+         mbox.setWindowTitle( tr( "Scan Data Type to Process" ) );
+         mbox.setText( msg );
+         QPushButton* pb_opt1 = mbox.addButton( drtype1, QMessageBox::AcceptRole );
+         QPushButton* pb_opt2 = mbox.addButton( drtype2, QMessageBox::RejectRole );
+         mbox.setEscapeButton ( pb_opt2 );
+         mbox.setDefaultButton( pb_opt1 );
+
+         mbox.exec();
+         if ( mbox.clickedButton() == pb_opt2 )
+         {
+            runType            = runType2;
+            optndx             = 1;
+DbgLv(1) << "RDa:   runType2 scanmask" << runType2 << scanmask << "[ifw]scn_rows"
+ << xpn_data->countOf( "iscn_rows" )
+ << xpn_data->countOf( "fscn_rows" )
+ << xpn_data->countOf( "wscn_rows" );
+         }
       }
    }
 
    qApp->processEvents();  //ALEXEY: maybe this will help
-   
-   qDebug() << "1. Crashes HERE!!!!";
+DbgLv(1) << "RDa: 1. Crashes HERE!!!!";
      
    cb_optsys->disconnect();
    cb_optsys->clear();
-
-   qDebug() << "1a. Crashes HERE!!!!";
+DbgLv(1) << "RDa: 1a. Crashes HERE!!!!";
    
    cb_optsys->addItems( opsys );                                  // ALEXEY fill out Optics listbox
-
-   qDebug() << "1ab. Crashes HERE!!!! - BEFORE Setting index to cb_optsys";
+DbgLv(1) << "RDa: 1ab. Crashes HERE!!!! - BEFORE Setting index to cb_optsys";
    cb_optsys->setCurrentIndex( optndx );
-   qDebug() << "1ac. Crashes HERE!!!! - AFTER Setting index to cb_optsys";
+DbgLv(1) << "RDa: 1ac. Crashes HERE!!!! - AFTER Setting index to cb_optsys";
    
    connect( cb_optsys,    SIGNAL( currentIndexChanged( int ) ),
             this,         SLOT  ( changeOptics( )            ) );
-
-   qDebug() << "1b. Crashes HERE!!!!";
+DbgLv(1) << "RDa: 1b. Crashes HERE!!!!";
    
    runID         = new_runID;
-DbgLv(1) << "RDr:  runID" << runID << "runType" << runType;
+DbgLv(1) << "RDa:  runID" << runID << "runType" << runType;
    xpn_data->set_run_values( runID, runType );                    // ALEXEY
+DbgLv(1) << "RDa: 2. Crashes HERE!!!! (after xpn_data->set_run_values( runID, runType ) )";
 
-   qDebug() << "2. Crashes HERE!!!! (after xpn_data->set_run_values( runID, runType ) )";
-
    // Build the AUC equivalent
    //QApplication::setOverrideCursor( QCursor( Qt::WaitCursor) );
    le_status->setText( tr( "Building AUC data ..." ) );
    qApp->processEvents();
 
    xpn_data->build_rawData( allData );                            // ALEXEY Builds Raw Data
-
-   qDebug() << "3. Crashes HERE!!!! (after  xpn_data->build_rawData( allData ))";
+DbgLv(1) << "RDa: 3. Crashes HERE!!!! (after  xpn_data->build_rawData( allData ))";
    
 double tm2=(double)sttime.msecsTo(QDateTime::currentDateTime())/1000.0;
-DbgLv(1) << "RDr:      build-raw done: tm1 tm2" << tm1 << tm2;
+DbgLv(1) << "RDa:      build-raw done: tm1 tm2" << tm1 << tm2;
 
    QApplication::restoreOverrideCursor();
    QApplication::restoreOverrideCursor();
@@ -2579,10 +2593,10 @@
    nscan         = allData[ 0 ].scanCount();
    npoint        = allData[ 0 ].pointCount();
 
-DbgLv(1) << "RDr: mwr ntriple" << ntriple;
-DbgLv(1) << "RDr: ncellch" << ncellch << cellchans.count();
-DbgLv(1) << "RDr: nscan" << nscan << "npoint" << npoint;
-DbgLv(1) << "RDr:   rvS rvE" << r_radii[0] << r_radii[npoint-1];
+DbgLv(1) << "RDa: mwr ntriple" << ntriple;
+DbgLv(1) << "RDa: ncellch" << ncellch << cellchans.count();
+DbgLv(1) << "RDa: nscan" << nscan << "npoint" << npoint;
+DbgLv(1) << "RDa:   rvS rvE" << r_radii[0] << r_radii[npoint-1];
    cb_cellchn->disconnect();                                      
    cb_cellchn->clear();
    cb_cellchn->addItems( cellchans );                             // ALEXEY fill out Cells/Channels listbox
@@ -2595,7 +2609,7 @@
 #if 0
    ntriple      = nlambda * ncellch;  // Number triples
    ntpoint      = npoint  * nscan;    // Number radius points per triple
-DbgLv(1) << "RDr: nwl wvlo wvhi" << nlambda << wvlo << wvhi
+DbgLv(1) << "RDa: nwl wvlo wvhi" << nlambda << wvlo << wvhi
    << "ncellch" << ncellch << "nlambda" << nlambda << "ntriple" << ntriple;
    triples.clear();
 
@@ -2609,18 +2623,18 @@
 #endif
 #if 1
    ntriple      = xpn_data->data_triples( triples );              // ALEXEY triples
-DbgLv(1) << "RDr: nwl wvlo wvhi" << nlambda << wvlo << wvhi
+DbgLv(1) << "RDa: nwl wvlo wvhi" << nlambda << wvlo << wvhi
    << "ncellch" << ncellch << "nlambda" << nlambda << "ntriple" << ntriple
    << triples.count();
 
- qDebug() << "RDr: nwl wvlo wvhi" << nlambda << wvlo << wvhi
+ qDebug() << "RDa: nwl wvlo wvhi" << nlambda << wvlo << wvhi
    << "ncellch" << ncellch << "nlambda" << nlambda << "ntriple" << ntriple
    << triples.count();
 #endif
 
-DbgLv(1) << "RDr: allData size" << allData.size();
+DbgLv(1) << "RDa: allData size" << allData.size();
 
- qDebug() << "RDr: allData size" << allData.size();
+ qDebug() << "RDa: allData size" << allData.size();
 
  //QApplication::restoreOverrideCursor();
    QString tspath = currentDir + "/" + runID + ".time_state.tmst";
@@ -2784,12 +2798,12 @@
    scanmask          += QString( sMasks ).mid( 6, 1 ) == "1" ? 8 : 0;
 DbgLv(1) << "RDr:     iRId" << iRunId << "sMsks scnmask" << sMasks << scanmask;
 
- xpn_data->import_data( iRunId, scanmask );                             
+   xpn_data->import_data( iRunId, scanmask );                             
+
    int ntsrows        = xpn_data->countOf( "scan_rows" );
 DbgLv(1) << "RDr:     ntsrows" << ntsrows;
 DbgLv(1) << "RDr:      knt(triple)   " << xpn_data->countOf( "triple"    );
 
-
    if ( ntsrows < 1 )
    {
       le_status->setText( tr( "Run %1 has no associated data..." )
@@ -2808,7 +2822,7 @@
 
    if ( scanmask == 1  ||  scanmask == 2  ||
         scanmask == 4  ||  scanmask == 8 )
-   {
+   {  // Single type of data present
       runType            = ( scanmask == 2 ) ? "FI" : runType;
       runType            = ( scanmask == 4 ) ? "IP" : runType;
       runType            = ( scanmask == 8 ) ? "WI" : runType;
@@ -2823,7 +2837,7 @@
    }
 
    else if ( ( scanmask & 1 ) != 0 )
-   {
+   {  // Multiple data types present
       QApplication::restoreOverrideCursor();
       QApplication::restoreOverrideCursor();
       QString runType2( "IP" );
@@ -2837,25 +2851,46 @@
       drtype2            = ( runType2 == "RI" ) ? "Absorbance"   : drtype2;
       drtype2            = ( runType2 == "FI" ) ? "Fluorescence" : drtype2;
       drtype2            = ( runType2 == "WI" ) ? "Wavelength"   : drtype2;
-      opsys << drtype1 << drtype2;
-
       QString msg        = tr( "Multiple scan data types are present:\n" )
                            +   "'" + drtype1 + "'\n or \n"
-                           +   "'" + drtype2 + "' .\n\n"
-                           + tr( "Choose one for initial display." );
-      QMessageBox mbox;
-      mbox.setWindowTitle( tr( "Scan Data Type to Process" ) );
-      mbox.setText( msg );
-      QPushButton* pb_opt1 = mbox.addButton( drtype1, QMessageBox::AcceptRole );
-      QPushButton* pb_opt2 = mbox.addButton( drtype2, QMessageBox::RejectRole );
-      mbox.setEscapeButton ( pb_opt2 );
-      mbox.setDefaultButton( pb_opt1 );
+                           +   "'" + drtype2 + "' .\n";
+DbgLv(1) << "RDr:   runType2 scanmask" << runType2 << scanmask << "[ifw]scn_rows"
+ << xpn_data->countOf( "iscn_rows" )
+ << xpn_data->countOf( "fscn_rows" )
+ << xpn_data->countOf( "wscn_rows" );
+      if ( ( runType2 == "IP"  &&  xpn_data->countOf( "iscn_rows" ) == 0 )  ||
+           ( runType2 == "FI"  &&  xpn_data->countOf( "fscn_rows" ) == 0 )  ||
+           ( runType2 == "WI"  &&  xpn_data->countOf( "wscn_rows" ) == 0 ) )
+      {
+         msg               += tr( "\nScans are missing so only " ) + drtype1
+                              + tr( " scans are processed." );
+         QMessageBox::warning( this,
+               tr( "Multiple Types with Missing Scans" ),
+               msg );
+      }
 
-      mbox.exec();
-      if ( mbox.clickedButton() == pb_opt2 )
+      else
       {
-         runType            = runType2;
-         optndx             = 1;
+         opsys << drtype1 << drtype2;
+         msg               += tr( "\nChoose one for initial display." );
+         QMessageBox mbox;
+         mbox.setWindowTitle( tr( "Scan Data Type to Process" ) );
+         mbox.setText( msg );
+         QPushButton* pb_opt1 = mbox.addButton( drtype1, QMessageBox::AcceptRole );
+         QPushButton* pb_opt2 = mbox.addButton( drtype2, QMessageBox::RejectRole );
+         mbox.setEscapeButton ( pb_opt2 );
+         mbox.setDefaultButton( pb_opt1 );
+
+         mbox.exec();
+         if ( mbox.clickedButton() == pb_opt2 )
+         {
+            runType            = runType2;
+            optndx             = 1;
+DbgLv(1) << "RDr:   runType2 scanmask" << runType2 << scanmask << "[ifw]scn_rows"
+ << xpn_data->countOf( "iscn_rows" )
+ << xpn_data->countOf( "fscn_rows" )
+ << xpn_data->countOf( "wscn_rows" );
+         }
       }
    }
 



More information about the us-commits mailing list