]> SALOME platform Git repositories - modules/jobmanager.git/blob - src/genericgui/BL_Buttons.cxx
Salome HOME
Copyright update: 2016
[modules/jobmanager.git] / src / genericgui / BL_Buttons.cxx
1 // Copyright (C) 2009-2016  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 #include "BL_Buttons.hxx"
21
22 #include <QGridLayout>
23 #include <QGroupBox>
24 #include <QHBoxLayout>
25 #include <QPushButton>
26
27 BL::Buttons::Buttons(QWidget * parent) : QWidget(parent)
28 {
29   DEBTRACE("Creating BL::Buttons");
30
31   _create_button      = new QPushButton("Create", this);
32   _start_button       = new QPushButton("Start", this);
33   _get_results_button = new QPushButton("Get Results", this);
34
35
36   _stop_button       = new QPushButton("Stop", this);
37   _delete_button     = new QPushButton("Delete", this);
38   _restart_button    = new QPushButton("Restart", this);
39   _edit_clone_button = new QPushButton("Edit/Clone", this);
40
41   _refresh_button    = new QPushButton("Refresh Jobs", this);
42
43   QGroupBox * main_buttons = new QGroupBox(this);
44   main_buttons->setTitle("Main");
45   QHBoxLayout *mainLayout = new QHBoxLayout;
46   mainLayout->addWidget(_create_button);
47   mainLayout->addWidget(_start_button);
48   mainLayout->addWidget(_get_results_button);
49   main_buttons->setLayout(mainLayout);
50
51   QGroupBox * manage_buttons = new QGroupBox(this);
52   manage_buttons->setTitle("Management");
53   QHBoxLayout *manageLayout = new QHBoxLayout;
54   manageLayout->addWidget(_stop_button);
55   manageLayout->addWidget(_delete_button);
56   manageLayout->addWidget(_restart_button);
57   manageLayout->addWidget(_edit_clone_button);
58   manage_buttons->setLayout(manageLayout);
59
60   QGroupBox * refresh_buttons = new QGroupBox(this);
61   refresh_buttons->setTitle("Refresh");
62   QHBoxLayout *refreshLayout = new QHBoxLayout;
63   refreshLayout->addWidget(_refresh_button);
64   refresh_buttons->setLayout(refreshLayout);
65
66   QGridLayout * gridLayout = new QGridLayout;
67   gridLayout->addWidget(main_buttons, 0 ,0);
68   gridLayout->addWidget(manage_buttons, 0 ,1);
69   gridLayout->addWidget(refresh_buttons, 0 , 2);
70   setLayout(gridLayout);
71 }
72
73 BL::Buttons::~Buttons()
74 {
75   DEBTRACE("Destroying BL::Buttons");
76 }
77
78 void
79 BL::Buttons::setCreateButtonSlot(QObject * receiver, const char * name)
80 {
81   connect(_create_button, SIGNAL(clicked()), receiver, name);
82 }
83
84 void
85 BL::Buttons::setEditCloneButtonSlot(QObject * receiver, const char * name)
86 {
87   connect(_edit_clone_button, SIGNAL(clicked()), receiver, name);
88 }
89
90 void
91 BL::Buttons::setStartButtonSlot(QObject * receiver, const char * name)
92 {
93   connect(_start_button, SIGNAL(clicked()), receiver, name);
94 }
95
96 void
97 BL::Buttons::setReStartButtonSlot(QObject * receiver, const char * name)
98 {
99   connect(_restart_button, SIGNAL(clicked()), receiver, name);
100 }
101
102 void
103 BL::Buttons::setStopButtonSlot(QObject * receiver, const char * name)
104 {
105   connect(_stop_button, SIGNAL(clicked()), receiver, name);
106 }
107
108 void
109 BL::Buttons::setDeleteButtonSlot(QObject * receiver, const char * name)
110 {
111   connect(_delete_button, SIGNAL(clicked()), receiver, name);
112 }
113
114 void
115 BL::Buttons::setRefreshButtonSlot(QObject * receiver, const char * name)
116 {
117   connect(_refresh_button, SIGNAL(clicked()), receiver, name);
118 }
119
120 void 
121 BL::Buttons::setGetResultsButtonSlot(QObject * receiver, const char * name)
122 {
123   connect(_get_results_button, SIGNAL(clicked()), receiver, name);
124 }
125
126 void 
127 BL::Buttons::enable_edit_clone_button()
128 {
129   _edit_clone_button->setEnabled(true);
130 }
131
132 void 
133 BL::Buttons::disable_edit_clone_button()
134 {
135   _edit_clone_button->setEnabled(false);
136 }
137
138 void 
139 BL::Buttons::enable_start_button()
140 {
141   _start_button->setEnabled(true);
142 }
143
144 void 
145 BL::Buttons::disable_start_button()
146 {
147   _start_button->setEnabled(false);
148 }
149
150 void 
151 BL::Buttons::enable_restart_button()
152 {
153   _restart_button->setEnabled(true);
154 }
155
156 void 
157 BL::Buttons::disable_restart_button()
158 {
159   _restart_button->setEnabled(false);
160 }
161
162 void 
163 BL::Buttons::enable_stop_button()
164 {
165   _stop_button->setEnabled(true);
166 }
167
168 void 
169 BL::Buttons::disable_stop_button()
170 {
171   _stop_button->setEnabled(false);
172 }
173
174 void 
175 BL::Buttons::enable_delete_button()
176 {
177   _delete_button->setEnabled(true);
178 }
179
180 void 
181 BL::Buttons::disable_delete_button()
182 {
183   _delete_button->setEnabled(false);
184 }
185
186 void 
187 BL::Buttons::enable_get_results_button()
188 {
189   _get_results_button->setEnabled(true);
190 }
191
192 void 
193 BL::Buttons::disable_get_results_button()
194 {
195   _get_results_button->setEnabled(false);
196 }