//////////////////////////////////////////////////////////////////////////////// /*! @file ExecutionConsole.h Execution watch frame for sAdminWindow. - Part of RAdmin project. - Uses RAGUI - Research Assistant Graphical User Interface. - Uses RANet - Research Assistant Net Library. - Uses Qt v.5 - http://qt.io/ - Copyright(C) 2013-2020, Viktor E. Bursian, St.Petersburg, Russia. VBursian AT gmail DOT com */////////////////////////////////////////////////////////////////////////////// #ifndef ExecutionConsole_H #define ExecutionConsole_H #include "RAGUI_global.h" #include "AdminJob.h" #include #include #include #include #include #include namespace RA { //------------------------------------------------------------------------------ //-------------------------------------------------------- sExecutionConsole --- class sExecutionConsole : public QFrame { Q_OBJECT public://constants static const QString JobDoneSymbols; static const QString JobToDoSymbols; static const QString StageSymbols; public: ~sExecutionConsole (); explicit sExecutionConsole (QWidget * parent = 0); void Execute (const QString & script ,bool autoclose_on_success = false ,bool autoclose_on_abend = false ,int autoclose_delay_on_success = 5/*s*/ ,int autoclose_delay_on_abend = 20/*s*/ ); signals: void Done (bool successfully); protected slots: void Refresh (); void SetTotalJobs (int num_of_jobs); void OnNewJob (); void SetTotalStages (int); void OnNewStage (); void Out (QString); void OutPar (QString); void CompleteOnAllDone (); void CompleteOnAbEnd (); void DelayedComplete (); void Complete (); private: //fields bool AutocloseOnSuccess; bool AutocloseOnAbEnd; bool ExecutedSuccessfully; int CurrentJobNum; int TotalJobs; int CurrentStage; int TotalStages; int Blinker; QTextEdit * ReportViewer; QLabel * JobIndicator; QLabel * StageIndicator; QProgressBar * ProgressBar; QPushButton * CancelButton; QPushButton * CloseButton; QTimer * RefreshTimer; sAdminJob * TheJobExecutor; QLabel * AutoClosingLabel; QString AutoClosingText; int CloseDelayOnSuccess; int CloseDelayOnAbEnd; int CloseDelayCounter; }; //------------------------------------------------------------------------------ } //namespace RA #endif