[us-commits] r2746 - in trunk: gui programs/us_com_project programs/us_com_project_academic programs/us_xpn_viewer

svn at svn.aucsolutions.com svn at svn.aucsolutions.com
Mon Apr 29 22:45:54 MDT 2019


Author: alexey
Date: 2019-04-30 04:45:52 +0000 (Tue, 30 Apr 2019)
New Revision: 2746

Modified:
   trunk/gui/us_select_item.cpp
   trunk/programs/us_com_project/us_com_project_gui.cpp
   trunk/programs/us_com_project/us_com_project_gui.h
   trunk/programs/us_com_project/us_com_project_main.cpp
   trunk/programs/us_com_project_academic/us_com_project_academic_main.cpp
   trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp
   trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.h
Log:
job reattachement in autoflow update...



Modified: trunk/gui/us_select_item.cpp
===================================================================
--- trunk/gui/us_select_item.cpp	2019-04-29 19:17:02 UTC (rev 2745)
+++ trunk/gui/us_select_item.cpp	2019-04-30 04:45:52 UTC (rev 2746)
@@ -143,14 +143,19 @@
    // Button Row
    QHBoxLayout* buttons = new QHBoxLayout;
 
-   QString cancel_pb_label("Cancel");
+   QString cancel_pb_label( tr("Cancel") );
    if ( autoflow_button )
      cancel_pb_label = tr("Define Another Experiment");
           
    QPushButton* pb_cancel = us_pushbutton( cancel_pb_label  );
+
+   QString accept_pb_label( tr( "Select Item" ) );
+   if ( autoflow_button )
+     accept_pb_label = tr("Select Optima Run to Follow");
+   
    QPushButton* pb_accept = us_pushbutton( multi_sel ?
                                            tr( "Select Item(s)" ) :
-                                           tr( "Select Item"    ) );
+                                           accept_pb_label );
 
    
    QPushButton* pb_delete = us_pushbutton( tr( "Delete Item" ) );

Modified: trunk/programs/us_com_project/us_com_project_gui.cpp
===================================================================
--- trunk/programs/us_com_project/us_com_project_gui.cpp	2019-04-29 19:17:02 UTC (rev 2745)
+++ trunk/programs/us_com_project/us_com_project_gui.cpp	2019-04-30 04:45:52 UTC (rev 2746)
@@ -32,7 +32,8 @@
 {
   //   dbg_level    = US_Settings::us_debug();
    curr_panx    = 0;
-
+   window_closed = false;
+   
    us_mode_bool = true;
 
    setWindowTitle( tr( "UltraScan Optima AUC Interface" ) );
@@ -147,7 +148,8 @@
    connect( this, SIGNAL( import_data_us_convert( QString &, QString &, QString & ) ),  epanPostProd, SLOT( import_data_us_convert( QString &, QString &, QString & )  ) );
    connect( epanObserv, SIGNAL( switch_to_experiment( QString &) ), this, SLOT( switch_to_experiment(  QString & )  ) );
    connect( this, SIGNAL( clear_experiment( QString & ) ),  epanExp, SLOT( clear_experiment( QString & )  ) );
-
+   connect( epanObserv, SIGNAL( close_everything() ), this, SLOT( close_all() ));
+   
    //connect( epanPostProd, SIGNAL( switch_to_analysis( QString &, QString &) ),  this, SLOT( switch_to_analysis( QString &, QString & )  ) );
    //connect( this, SIGNAL( pass_to_analysis( QString &, QString & ) ),   epanAnalysis, SLOT( do_analysis( QString &, QString & )  ) );
 
@@ -169,6 +171,7 @@
   //   dbg_level    = US_Settings::us_debug();
    curr_panx    = 0;
 
+   window_closed = false;
    us_mode_bool = false;
    
    setWindowTitle( tr( "UltraScan Optima AUC Interface" ) );
@@ -277,7 +280,8 @@
    connect( this, SIGNAL( import_data_us_convert( QString &, QString &, QString & ) ),  epanPostProd, SLOT( import_data_us_convert( QString &, QString &, QString & )  ) );
    connect( epanObserv, SIGNAL( switch_to_experiment( QString &) ), this, SLOT( switch_to_experiment(  QString & )  ) );
    connect( this, SIGNAL( clear_experiment( QString & ) ),  epanExp, SLOT( clear_experiment( QString & )  ) );
-   
+   connect( epanObserv, SIGNAL( close_everything() ), this, SLOT( close_all() ));
+      
    connect( epanPostProd, SIGNAL( switch_to_analysis( QString &, QString &) ),  this, SLOT( switch_to_analysis( QString &, QString & )  ) );
    connect( this, SIGNAL( pass_to_analysis( QString &, QString & ) ),   epanAnalysis, SLOT( do_analysis( QString &, QString & )  ) );
    
@@ -288,6 +292,14 @@
    //check_current_stage();
 }
 
+
+void US_ComProjectMain::closeEvent( QCloseEvent* event )
+{
+    window_closed = true;
+    emit us_comproject_closed();
+    event->accept();
+}
+
 // Function that checks for current program stage based on US-lims DB entry
 void US_ComProjectMain::check_current_stage( void )
 {
@@ -554,6 +566,42 @@
    emit pass_to_live_update( protocol_details );
 }
 
+// Slot to pass submitted to Optima run info to the Live Update tab
+void US_ComProjectMain::close_all( void )
+{
+  tabWidget->setCurrentIndex( 0 );   
+  qDebug() << "CLOSING PROGRAM !!!";
+
+  close();
+  
+  // QProcess process;
+  // QString pgm("pgrep");
+  // QStringList args = QStringList() << "us_comproject";
+  // process.start(pgm, args);
+  // process.waitForReadyRead();
+  // if(!process.readAllStandardOutput().isEmpty()) 
+  //   {
+  //     //app still running
+  //     //Linux
+  //     system("pkill us_comproject");
+  //     //Windows
+  //     system("taskkill /im us_comproject /f");
+      
+  //     process.kill();
+  //   }
+
+  //Linux
+  //system("pkill us_comproject");
+
+  
+  //system("pkill us_comproject_academic");
+  //Windows//
+  //system("taskkill /im us_comproject /f");
+  //system("taskkill /im us_comproject_academic /f");
+  //Mac ??
+  
+}
+
 // Slot to switch from the Live Update to Editing tab
 void US_ComProjectMain::switch_to_post_processing( QString  & currDir, QString & protocolName,  QString & invID_passed )
 {
@@ -845,6 +893,9 @@
 
    //ALEXEY: return to 1st panel when exp. aborted & no data saved..
    connect( sdiag, SIGNAL( return_to_experiment( QString & ) ), this, SLOT( to_experiment ( QString &) ) );
+
+   //ALEXEY: close program, emitted from sdiag
+   connect( sdiag, SIGNAL( close_program() ), this, SLOT( to_close_program()  ) );
    
    offset = 0;
    sdiag->move(offset, 2*offset);
@@ -910,6 +961,12 @@
   emit switch_to_experiment( protocolName );
 }
 
+void US_ObservGui::to_close_program( void )
+{
+  //sdiag->close();
+  emit close_everything();
+}
+
 // US_PostProd
 US_PostProdGui::US_PostProdGui( QWidget* topw )
    : US_WidgetsDialog( topw, 0 )

Modified: trunk/programs/us_com_project/us_com_project_gui.h
===================================================================
--- trunk/programs/us_com_project/us_com_project_gui.h	2019-04-29 19:17:02 UTC (rev 2745)
+++ trunk/programs/us_com_project/us_com_project_gui.h	2019-04-30 04:45:52 UTC (rev 2746)
@@ -118,10 +118,12 @@
       void process_protocol_details( QMap < QString, QString > & protocol_details );
       void to_post_processing( QString & currDir, QString & protocolName, QString & invID_passed );
       void to_experiment( QString & protocolName );
+      void to_close_program( void );
  signals:
       void to_xpn_viewer( QMap < QString, QString > & protocol_details );
       void switch_to_post_processing( QString & currDir, QString & protocolName, QString & invID_passed  );
       void switch_to_experiment( QString & protocolName );
+      void close_everything( void );
 };
 
 
@@ -224,6 +226,8 @@
   QList< QStringList >  autoflowdata;
 
   void check_current_stage( void );
+
+  bool window_closed;
   
  private:
   US_ExperGui*      epanExp;         // US_Exp panel
@@ -257,12 +261,15 @@
   void switch_to_analysis( QString & currDir, QString & protocolName );
   void switch_to_experiment( QString & protocolName );
   //void check_current_stage( void );
+  void close_all( void );
+  void closeEvent      ( QCloseEvent* );
   
 signals:
   void pass_to_live_update( QMap < QString, QString > & protocol_details ); 
   void import_data_us_convert( QString & currDir, QString & protocolName, QString & invID_passed );
   void pass_to_analysis( QString & currDir, QString & protocolName );
   void clear_experiment( QString & protocolName);
+  void us_comproject_closed( void );
 };
 
 

Modified: trunk/programs/us_com_project/us_com_project_main.cpp
===================================================================
--- trunk/programs/us_com_project/us_com_project_main.cpp	2019-04-29 19:17:02 UTC (rev 2745)
+++ trunk/programs/us_com_project/us_com_project_main.cpp	2019-04-30 04:45:52 UTC (rev 2746)
@@ -18,7 +18,10 @@
    w->show();                   //!< \memberof QWidget
 
    w->check_current_stage();
-   
+
+   if ( w->window_closed )
+     return 0;
+     
    return application.exec();  //!< \memberof QApplication
 }
 

Modified: trunk/programs/us_com_project_academic/us_com_project_academic_main.cpp
===================================================================
--- trunk/programs/us_com_project_academic/us_com_project_academic_main.cpp	2019-04-29 19:17:02 UTC (rev 2745)
+++ trunk/programs/us_com_project_academic/us_com_project_academic_main.cpp	2019-04-30 04:45:52 UTC (rev 2746)
@@ -19,6 +19,9 @@
 
    w->check_current_stage();
 
+   if ( w->window_closed )
+     return 0;
+   
    return application.exec();  //!< \memberof QApplication
 }
 

Modified: trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp
===================================================================
--- trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp	2019-04-29 19:17:02 UTC (rev 2745)
+++ trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp	2019-04-30 04:45:52 UTC (rev 2746)
@@ -1954,14 +1954,30 @@
   msg_data_avail = new QMessageBox;
   //msg_data_avail->setStandardButtons(0);
   msg_data_avail->setWindowFlags ( Qt::CustomizeWindowHint | Qt::WindowTitleHint);
-  QPushButton *okButton = msg_data_avail->addButton(tr("Ok"), QMessageBox::AcceptRole);
-  okButton->hide();
+  // QPushButton *okButton = msg_data_avail->addButton(tr("Ok"), QMessageBox::AcceptRole);
+  // okButton->hide();
+
+  QPushButton *Close    = msg_data_avail->addButton(tr("Close Program Now?"), QMessageBox::AcceptRole);
   
   msg_data_avail->setIcon(QMessageBox::Information);
   msg_data_avail->setText(tr( "Run named %1 was submitted to:\n\n"
 		              "%2 \n\n"
-			      "Please start this method scan from the instrument panel.").arg(RunName).arg(OptimaName) );
+			      "Please start this method scan from the instrument panel. \n\n\n"
+			      "You may close program now and reattach later by reopening and "
+			      "selecting among the list of Optima runs to follow. "
+			      "Alternatively, you can wait untill the method is started from "
+			      "the Optima panel and monitor the progress.")
+			  .arg(RunName).arg(OptimaName) );
+
   msg_data_avail->exec();
+  
+  if (msg_data_avail->clickedButton() == Close)
+    {
+      timer_data_init->stop();
+      disconnect(timer_data_init, SIGNAL(timeout()), 0, 0);   //Disconnect timer from anything
+
+      emit close_program(); 
+    }
 }
 
 //void US_XpnDataViewer::retrieve_xpn_raw_auto( QString & RunID )

Modified: trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.h
===================================================================
--- trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.h	2019-04-29 19:17:02 UTC (rev 2745)
+++ trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.h	2019-04-30 04:45:52 UTC (rev 2746)
@@ -349,6 +349,7 @@
    signals:
      void experiment_complete_auto( QString &, QString &, QString & );
      void return_to_experiment( QString & );
+     void close_program( void );
 };
 #endif
 



More information about the us-commits mailing list