1 // Copyright (C) 2009-2013 CEA/DEN, EDF R&D
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.
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.
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
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #include "BL_Buttons.hxx"
22 BL::Buttons::Buttons(QWidget * parent) : QWidget(parent)
24 DEBTRACE("Creating BL::Buttons");
26 _create_button = new QPushButton("Create", this);
27 _start_button = new QPushButton("Start", this);
28 _get_results_button = new QPushButton("Get Results", this);
31 _stop_button = new QPushButton("Stop", this);
32 _delete_button = new QPushButton("Delete", this);
33 _restart_button = new QPushButton("Restart", this);
34 _edit_clone_button = new QPushButton("Edit/Clone", this);
36 _refresh_button = new QPushButton("Refresh Jobs", this);
38 QGroupBox * main_buttons = new QGroupBox(this);
39 main_buttons->setTitle("Main");
40 QHBoxLayout *mainLayout = new QHBoxLayout;
41 mainLayout->addWidget(_create_button);
42 mainLayout->addWidget(_start_button);
43 mainLayout->addWidget(_get_results_button);
44 main_buttons->setLayout(mainLayout);
46 QGroupBox * manage_buttons = new QGroupBox(this);
47 manage_buttons->setTitle("Management");
48 QHBoxLayout *manageLayout = new QHBoxLayout;
49 manageLayout->addWidget(_stop_button);
50 manageLayout->addWidget(_delete_button);
51 manageLayout->addWidget(_restart_button);
52 manageLayout->addWidget(_edit_clone_button);
53 manage_buttons->setLayout(manageLayout);
55 QGroupBox * refresh_buttons = new QGroupBox(this);
56 refresh_buttons->setTitle("Refresh");
57 QHBoxLayout *refreshLayout = new QHBoxLayout;
58 refreshLayout->addWidget(_refresh_button);
59 refresh_buttons->setLayout(refreshLayout);
61 QGridLayout * gridLayout = new QGridLayout;
62 gridLayout->addWidget(main_buttons, 0 ,0);
63 gridLayout->addWidget(manage_buttons, 0 ,1);
64 gridLayout->addWidget(refresh_buttons, 0 , 2);
65 setLayout(gridLayout);
68 BL::Buttons::~Buttons()
70 DEBTRACE("Destroying BL::Buttons");
74 BL::Buttons::setCreateButtonSlot(QObject * receiver, const char * name)
76 connect(_create_button, SIGNAL(clicked()), receiver, name);
80 BL::Buttons::setEditCloneButtonSlot(QObject * receiver, const char * name)
82 connect(_edit_clone_button, SIGNAL(clicked()), receiver, name);
86 BL::Buttons::setStartButtonSlot(QObject * receiver, const char * name)
88 connect(_start_button, SIGNAL(clicked()), receiver, name);
92 BL::Buttons::setReStartButtonSlot(QObject * receiver, const char * name)
94 connect(_restart_button, SIGNAL(clicked()), receiver, name);
98 BL::Buttons::setStopButtonSlot(QObject * receiver, const char * name)
100 connect(_stop_button, SIGNAL(clicked()), receiver, name);
104 BL::Buttons::setDeleteButtonSlot(QObject * receiver, const char * name)
106 connect(_delete_button, SIGNAL(clicked()), receiver, name);
110 BL::Buttons::setRefreshButtonSlot(QObject * receiver, const char * name)
112 connect(_refresh_button, SIGNAL(clicked()), receiver, name);
116 BL::Buttons::setGetResultsButtonSlot(QObject * receiver, const char * name)
118 connect(_get_results_button, SIGNAL(clicked()), receiver, name);
122 BL::Buttons::enable_edit_clone_button()
124 _edit_clone_button->setEnabled(true);
128 BL::Buttons::disable_edit_clone_button()
130 _edit_clone_button->setEnabled(false);
134 BL::Buttons::enable_start_button()
136 _start_button->setEnabled(true);
140 BL::Buttons::disable_start_button()
142 _start_button->setEnabled(false);
146 BL::Buttons::enable_restart_button()
148 _restart_button->setEnabled(true);
152 BL::Buttons::disable_restart_button()
154 _restart_button->setEnabled(false);
158 BL::Buttons::enable_stop_button()
160 _stop_button->setEnabled(true);
164 BL::Buttons::disable_stop_button()
166 _stop_button->setEnabled(false);
170 BL::Buttons::enable_delete_button()
172 _delete_button->setEnabled(true);
176 BL::Buttons::disable_delete_button()
178 _delete_button->setEnabled(false);
182 BL::Buttons::enable_get_results_button()
184 _get_results_button->setEnabled(true);
188 BL::Buttons::disable_get_results_button()
190 _get_results_button->setEnabled(false);