1 // Copyright (C) 2009-2022 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, or (at your option) any later version.
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 #include <QGridLayout>
24 #include <QHBoxLayout>
25 #include <QPushButton>
27 BL::Buttons::Buttons(QWidget * parent) : QWidget(parent)
29 DEBTRACE("Creating BL::Buttons");
31 _create_button = new QPushButton("Create", this);
32 _start_button = new QPushButton("Start", this);
33 _get_results_button = new QPushButton("Get Results", this);
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);
41 _refresh_button = new QPushButton("Refresh Jobs", this);
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);
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);
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);
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);
73 BL::Buttons::~Buttons()
75 DEBTRACE("Destroying BL::Buttons");
79 BL::Buttons::setCreateButtonSlot(QObject * receiver, const char * name)
81 connect(_create_button, SIGNAL(clicked()), receiver, name);
85 BL::Buttons::setEditCloneButtonSlot(QObject * receiver, const char * name)
87 connect(_edit_clone_button, SIGNAL(clicked()), receiver, name);
91 BL::Buttons::setStartButtonSlot(QObject * receiver, const char * name)
93 connect(_start_button, SIGNAL(clicked()), receiver, name);
97 BL::Buttons::setReStartButtonSlot(QObject * receiver, const char * name)
99 connect(_restart_button, SIGNAL(clicked()), receiver, name);
103 BL::Buttons::setStopButtonSlot(QObject * receiver, const char * name)
105 connect(_stop_button, SIGNAL(clicked()), receiver, name);
109 BL::Buttons::setDeleteButtonSlot(QObject * receiver, const char * name)
111 connect(_delete_button, SIGNAL(clicked()), receiver, name);
115 BL::Buttons::setRefreshButtonSlot(QObject * receiver, const char * name)
117 connect(_refresh_button, SIGNAL(clicked()), receiver, name);
121 BL::Buttons::setGetResultsButtonSlot(QObject * receiver, const char * name)
123 connect(_get_results_button, SIGNAL(clicked()), receiver, name);
127 BL::Buttons::enable_edit_clone_button()
129 _edit_clone_button->setEnabled(true);
133 BL::Buttons::disable_edit_clone_button()
135 _edit_clone_button->setEnabled(false);
139 BL::Buttons::enable_start_button()
141 _start_button->setEnabled(true);
145 BL::Buttons::disable_start_button()
147 _start_button->setEnabled(false);
151 BL::Buttons::enable_restart_button()
153 _restart_button->setEnabled(true);
157 BL::Buttons::disable_restart_button()
159 _restart_button->setEnabled(false);
163 BL::Buttons::enable_stop_button()
165 _stop_button->setEnabled(true);
169 BL::Buttons::disable_stop_button()
171 _stop_button->setEnabled(false);
175 BL::Buttons::enable_delete_button()
177 _delete_button->setEnabled(true);
181 BL::Buttons::disable_delete_button()
183 _delete_button->setEnabled(false);
187 BL::Buttons::enable_get_results_button()
189 _get_results_button->setEnabled(true);
193 BL::Buttons::disable_get_results_button()
195 _get_results_button->setEnabled(false);