Salome HOME
Copyright update 2022
[modules/jobmanager.git] / src / genericgui / BL_JobTab.hxx
1 // Copyright (C) 2009-2022  CEA/DEN, EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 #ifndef _BL_JOBTAB_HXX_
21 #define _BL_JOBTAB_HXX_
22
23 #include "BL_JobsManager_QT.hxx"
24
25 #include <QTabWidget>
26
27 class QFormLayout;
28 class QLabel;
29 class QListWidget;
30 class QModelIndex;
31 class QStandardItem;
32 class QStandardItemModel;
33
34 namespace BL
35 {
36   class JobTab: public QTabWidget
37   {
38     Q_OBJECT
39
40     public:
41       JobTab(QWidget *parent, BL::JobsManager_QT * jobs_manager);
42       virtual ~JobTab();
43
44       void setModel(QStandardItemModel * model);
45
46       void createJobSummaryTab();
47       void createJobFilesTab();
48       void job_selected(const QModelIndex & index);
49
50     public slots:
51       void itemChanged(QStandardItem * item);
52       void reset(QString job_name);
53
54     protected:
55       QWidget* _parent;
56       QStandardItemModel * _model;
57       BL::JobsManager_QT * _jobs_manager;
58
59       QWidget * _summary_tab;
60       QWidget * _files_tab;
61
62       // Main Values
63       QFormLayout * _main_values_form;
64       QLabel * _job_name_label_value;
65       QLabel * _job_type_label_value;
66       QLabel * _job_state_label_value;
67       QLabel * _job_launcher_label_value;
68       QLabel * _job_resource_label_value;
69       QLabel * _job_jobfile_label_value;
70       QLabel * _job_envfile_label_value;
71       QLabel * _job_prefile_label_value;
72
73       // Run Values
74       QFormLayout * _run_values_form;
75       QFormLayout * _other_run_values_form;
76       QLabel * _job_nif_label_value;
77       QLabel * _job_nof_label_value;
78       QLabel * _job_bd_label_value;
79       QLabel * _job_rd_label_value;
80       QLabel * _job_mdt_label_value;
81       QLabel * _job_req_mem_label_value;
82       QLabel * _job_nop_label_value;
83       QLabel * _job_nono_label_value;
84       QLabel * _job_excl_label_value;
85
86       // Specific Values
87       QLabel * _yacs_dump_state_label;
88       QLabel * _yacs_dump_state_value;
89       QLabel * _batch_queue_label;
90       QLabel * _batch_queue_value;
91       QLabel * _batch_partition_label;
92       QLabel * _batch_partition_value;
93       QLabel * _ll_jobtype_label;
94       QLabel * _ll_jobtype_value;
95
96       QListWidget * _input_files_list;
97       QListWidget * _output_files_list;
98
99           // Parameters for COORM
100       QLabel * _job_lf_label_value;
101       QLabel * _job_la_label_value;
102   };
103 }
104
105 #endif
106