Salome HOME
Update copyrights 2014.
[modules/jobmanager.git] / src / genericgui / BL_Buttons.cxx
1 // Copyright (C) 2009-2014  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 BL::Buttons::Buttons(QWidget * parent) : QWidget(parent)
23 {
24   DEBTRACE("Creating BL::Buttons");
25
26   _create_button      = new QPushButton("Create", this);
27   _start_button       = new QPushButton("Start", this);
28   _get_results_button = new QPushButton("Get Results", this);
29
30
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);
35
36   _refresh_button    = new QPushButton("Refresh Jobs", this);
37
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);
45
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);
54
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);
60
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);
66 }
67
68 BL::Buttons::~Buttons()
69 {
70   DEBTRACE("Destroying BL::Buttons");
71 }
72
73 void
74 BL::Buttons::setCreateButtonSlot(QObject * receiver, const char * name)
75 {
76   connect(_create_button, SIGNAL(clicked()), receiver, name);
77 }
78
79 void
80 BL::Buttons::setEditCloneButtonSlot(QObject * receiver, const char * name)
81 {
82   connect(_edit_clone_button, SIGNAL(clicked()), receiver, name);
83 }
84
85 void
86 BL::Buttons::setStartButtonSlot(QObject * receiver, const char * name)
87 {
88   connect(_start_button, SIGNAL(clicked()), receiver, name);
89 }
90
91 void
92 BL::Buttons::setReStartButtonSlot(QObject * receiver, const char * name)
93 {
94   connect(_restart_button, SIGNAL(clicked()), receiver, name);
95 }
96
97 void
98 BL::Buttons::setStopButtonSlot(QObject * receiver, const char * name)
99 {
100   connect(_stop_button, SIGNAL(clicked()), receiver, name);
101 }
102
103 void
104 BL::Buttons::setDeleteButtonSlot(QObject * receiver, const char * name)
105 {
106   connect(_delete_button, SIGNAL(clicked()), receiver, name);
107 }
108
109 void
110 BL::Buttons::setRefreshButtonSlot(QObject * receiver, const char * name)
111 {
112   connect(_refresh_button, SIGNAL(clicked()), receiver, name);
113 }
114
115 void 
116 BL::Buttons::setGetResultsButtonSlot(QObject * receiver, const char * name)
117 {
118   connect(_get_results_button, SIGNAL(clicked()), receiver, name);
119 }
120
121 void 
122 BL::Buttons::enable_edit_clone_button()
123 {
124   _edit_clone_button->setEnabled(true);
125 }
126
127 void 
128 BL::Buttons::disable_edit_clone_button()
129 {
130   _edit_clone_button->setEnabled(false);
131 }
132
133 void 
134 BL::Buttons::enable_start_button()
135 {
136   _start_button->setEnabled(true);
137 }
138
139 void 
140 BL::Buttons::disable_start_button()
141 {
142   _start_button->setEnabled(false);
143 }
144
145 void 
146 BL::Buttons::enable_restart_button()
147 {
148   _restart_button->setEnabled(true);
149 }
150
151 void 
152 BL::Buttons::disable_restart_button()
153 {
154   _restart_button->setEnabled(false);
155 }
156
157 void 
158 BL::Buttons::enable_stop_button()
159 {
160   _stop_button->setEnabled(true);
161 }
162
163 void 
164 BL::Buttons::disable_stop_button()
165 {
166   _stop_button->setEnabled(false);
167 }
168
169 void 
170 BL::Buttons::enable_delete_button()
171 {
172   _delete_button->setEnabled(true);
173 }
174
175 void 
176 BL::Buttons::disable_delete_button()
177 {
178   _delete_button->setEnabled(false);
179 }
180
181 void 
182 BL::Buttons::enable_get_results_button()
183 {
184   _get_results_button->setEnabled(true);
185 }
186
187 void 
188 BL::Buttons::disable_get_results_button()
189 {
190   _get_results_button->setEnabled(false);
191 }