QXRD  0.11.16
Public Slots | Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
QxrdExperimentPreferencesDialog Class Reference

#include <qxrdexperimentpreferencesdialog.h>

Inheritance diagram for QxrdExperimentPreferencesDialog:
Inheritance graph
[legend]
Collaboration diagram for QxrdExperimentPreferencesDialog:
Collaboration graph
[legend]

Public Slots

void accept ()
 

Public Member Functions

 QxrdExperimentPreferencesDialog (QxrdExperimentWPtr exptw, QWidget *parent=0, int initialPage=-1)
 
 ~QxrdExperimentPreferencesDialog ()
 

Protected Member Functions

void changeEvent (QEvent *e)
 

Private Slots

void dataDirectoryBrowse ()
 
void currentLogFileBrowse ()
 
void integratedScansFileBrowse ()
 
void saveRawBrowse ()
 
void saveDarkBrowse ()
 
void saveSubtractedBrowse ()
 
void saveIntegratedBrowse ()
 
void addDetector ()
 
void removeDetector ()
 
void moveDetectorDown ()
 
void moveDetectorUp ()
 
void configureDetector ()
 
void detectorDoubleClicked (const QModelIndex &item)
 

Private Member Functions

void getRelativeDirectoryPath (QLineEdit *edit)
 
QString experimentDirectory ()
 
QString dataDirectory ()
 
void appendDetectorProxy (QxrdDetectorProxyPtr proxy)
 

Private Attributes

QxrdExperimentWPtr m_Experiment
 
QxrdDetectorProxyListModelPtr m_DetectorProxyModel
 

Detailed Description

Definition at line 16 of file qxrdexperimentpreferencesdialog.h.

Constructor & Destructor Documentation

QxrdExperimentPreferencesDialog::QxrdExperimentPreferencesDialog ( QxrdExperimentWPtr  exptw,
QWidget *  parent = 0,
int  initialPage = -1 
)

Definition at line 21 of file qxrdexperimentpreferencesdialog.cpp.

References addDetector(), appendDetectorProxy(), configureDetector(), currentLogFileBrowse(), dataDirectoryBrowse(), DEBUG_CONSTRUCTORS, detectorDoubleClicked(), integratedScansFileBrowse(), m_DetectorProxyModel, m_Experiment, moveDetectorDown(), moveDetectorUp(), qcepDebug(), removeDetector(), saveDarkBrowse(), saveIntegratedBrowse(), saveRawBrowse(), and saveSubtractedBrowse().

21  :
22  QDialog(parent),
23  m_Experiment(exptw)
24 {
26  printf("QxrdExperimentPreferencesDialog::QxrdExperimentPreferencesDialog(%p)\n", this);
27  }
28 
29  setupUi(this);
30 
31  if (initialPage >= 0) {
32  m_PreferencesPanes->setCurrentIndex(initialPage);
33  }
34 
36 
37  if (expt) {
38  setWindowTitle(expt->experimentFilePath() + " Preferences");
39 
40  QxrdAcquisitionPtr acq = expt -> acquisition();
41  QxrdDataProcessorPtr proc = expt->dataProcessor();
42  // QcepAllocator *alloc = g_Application->allocator();
43 
44  int runSpecServer = 0;
45  int specServerPort = 0;
46 
47  QxrdServerPtr srv(expt -> specServer());
48 
49  if (srv) {
50  runSpecServer = srv -> get_RunSpecServer();
51  specServerPort = srv -> get_SpecServerPort();
52  }
53 
54  int runSimpleServer = 0;
55  int simpleServerPort = 0;
56 
57  QxrdSimpleServerPtr ssrv(expt -> simpleServer());
58 
59  if (ssrv) {
60  runSimpleServer = ssrv -> get_RunSimpleServer();
61  simpleServerPort = ssrv -> get_SimpleServerPort();
62  }
63 
66 
67  if (acq) {
68  for (int i=0; i<acq->get_DetectorCount(); i++) {
69  QxrdDetectorProxyPtr proxy =
71  acq->detectorThread(i),
72  acq->detector(i), acq));
73 
74  appendDetectorProxy(proxy);
75  }
76  }
77 
78  m_DetectorsList->header()->setSectionResizeMode(QHeaderView::ResizeToContents);
79  m_DetectorsList->setModel(m_DetectorProxyModel.data());
80 
81  connect(m_AddDetector, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::addDetector);
82  connect(m_RemoveDetector, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::removeDetector);
83  connect(m_MoveDetectorDown, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::moveDetectorDown);
84  connect(m_MoveDetectorUp, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::moveDetectorUp);
85  connect(m_ConfigureDetector,&QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::configureDetector);
86  connect(m_DetectorsList, &QTreeView::doubleClicked, this, &QxrdExperimentPreferencesDialog::detectorDoubleClicked);
87 
88  m_ExperimentDirectory -> setText(expt->get_ExperimentDirectory());
89 
90  connect(m_CurrentLogFileBrowse, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::currentLogFileBrowse);
91  m_CurrentLogFile -> setText(expt->get_LogFileName());
92 
93  connect(m_DataDirectoryBrowse, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::dataDirectoryBrowse);
94  m_DataDirectory -> setText(expt->get_DataDirectory());
95 
96  connect(m_IntegratedScansFileBrowse, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::integratedScansFileBrowse);
97  m_IntegratedScansFile -> setText(expt->get_ScanFileName());
98 
99  m_ScanFileExtension -> setText(expt->get_ScanFileExtension());
100 
101  m_ScanDataNegative -> setCurrentIndex(expt->get_ScanDataNegative());
102 
103  if (proc) {
104  connect(m_SaveRawBrowse, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::saveRawBrowse);
105  m_SaveRawInSubdir -> setChecked(proc->get_SaveRawInSubdirectory());
106  m_SaveRawSubdir -> setText (proc->get_SaveRawSubdirectory());
107 
108  connect(m_SaveDarkBrowse, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::saveDarkBrowse);
109  m_SaveDarkInSubdir -> setChecked(proc->get_SaveDarkInSubdirectory());
110  m_SaveDarkSubdir -> setText (proc->get_SaveDarkSubdirectory());
111 
112  connect(m_SaveSubtractedBrowse, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::saveSubtractedBrowse);
113  m_SaveSubtractedInSubdir -> setChecked(proc->get_SaveSubtractedInSubdirectory());
114  m_SaveSubtractedSubdir -> setText (proc->get_SaveSubtractedSubdirectory());
115 
116  connect(m_SaveIntegratedBrowse, &QAbstractButton::clicked, this, &QxrdExperimentPreferencesDialog::saveIntegratedBrowse);
117  m_SaveIntegratedInLogFile -> setChecked(proc->get_SaveIntegratedData());
118  m_SaveIntegratedInSeparateFiles -> setChecked(proc->get_SaveIntegratedInSeparateFiles());
119  m_SaveIntegratedInSubdir -> setChecked(proc->get_SaveIntegratedInSubdirectory());
120  m_SaveIntegratedSubdir -> setText (proc->get_SaveIntegratedSubdirectory());
121 
122  m_AccumulateIntegrated2D -> setChecked(proc->get_AccumulateIntegrated2D());
123  m_AccumulateIntegratedName ->setText(proc->get_AccumulateIntegratedName());
124 
125  m_SaveOverflowFiles -> setChecked(proc->get_SaveOverflowFiles());
126  }
127 
128  if (srv) {
129  m_RunSpecServer -> setChecked(runSpecServer);
130  m_SpecServerPort -> setRange(-1,65535);
131  m_SpecServerPort -> setSpecialValueText(tr("Automatic"));
132  m_SpecServerPort -> setValue(specServerPort);
133  }
134 
135  if (ssrv) {
136  m_RunSimpleServer -> setChecked(runSimpleServer);
137  m_SimpleServerPort -> setRange(0,65535);
138  m_SimpleServerPort -> setValue(simpleServerPort);
139  }
140 
141  if (acq) {
142  m_FileIndexWidth -> setValue(acq->get_FileIndexWidth());
143  m_FilePhaseWidth -> setValue(acq->get_FilePhaseWidth());
144  m_FileOverflowWidth -> setValue(acq->get_FileOverflowWidth());
145  m_DetectorNumberWidth -> setValue(acq->get_DetectorNumberWidth());
146  }
147 
148  m_FontSize -> setValue(expt->get_FontSize());
149  m_Spacing -> setValue(expt->get_Spacing());
150  }
151 }
QSharedPointer< QxrdExperiment > QxrdExperimentPtr
QSharedPointer< QxrdDetectorProxy > QxrdDetectorProxyPtr
QSharedPointer< QxrdServer > QxrdServerPtr
Definition: qxrdserver-ptr.h:6
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26
QSharedPointer< QxrdAcquisition > QxrdAcquisitionPtr
QSharedPointer< QxrdDataProcessor > QxrdDataProcessorPtr
QSharedPointer< QxrdSimpleServer > QxrdSimpleServerPtr
QSharedPointer< QxrdDetectorProxyListModel > QxrdDetectorProxyListModelPtr
void detectorDoubleClicked(const QModelIndex &item)
void appendDetectorProxy(QxrdDetectorProxyPtr proxy)
QxrdDetectorProxyListModelPtr m_DetectorProxyModel

Here is the call graph for this function:

QxrdExperimentPreferencesDialog::~QxrdExperimentPreferencesDialog ( )

Definition at line 153 of file qxrdexperimentpreferencesdialog.cpp.

References DEBUG_CONSTRUCTORS, and qcepDebug().

154 {
156  printf("QxrdExperimentPreferencesDialog::~QxrdExperimentPreferencesDialog(%p)\n", this);
157  }
158 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26

Here is the call graph for this function:

Member Function Documentation

void QxrdExperimentPreferencesDialog::accept ( )
slot

Definition at line 250 of file qxrdexperimentpreferencesdialog.cpp.

References m_DetectorProxyModel, and m_Experiment.

251 {
252  int runSpecServer = m_RunSpecServer -> isChecked();
253  int runSimpleServer = m_RunSimpleServer -> isChecked();
254  int specServerPort = m_SpecServerPort -> value();
255  int simpleServerPort = m_SimpleServerPort -> value();
256 
258 
259  if (expt) {
260  QxrdAcquisitionPtr acq = expt -> acquisition();
261  QxrdDataProcessorPtr proc = expt->dataProcessor();
262  QxrdServerPtr srv(expt -> specServer());
263  QxrdSimpleServerPtr ssrv(expt -> simpleServer());
264 
265 // expt->set_DetectorType(m_DetectorType->currentIndex());
266 // expt->set_DetectorSubType(m_DetectorSubType->currentIndex());
267 // expt->set_DetectorNumber(m_DetectorNumber->value());
268 // expt->set_DetectorAddress(m_DetectorAddress->text());
269 
270  if (srv) {
271  srv -> set_RunSpecServer(runSpecServer);
272  srv -> set_SpecServerPort(specServerPort);
273  }
274 
275  if (ssrv) {
276  ssrv -> set_RunSimpleServer(runSimpleServer);
277  ssrv -> set_SimpleServerPort(simpleServerPort);
278  }
279 
280  if (proc) {
281  proc -> set_SaveRawInSubdirectory(m_SaveRawInSubdir -> isChecked());
282  proc -> set_SaveRawSubdirectory (m_SaveRawSubdir -> text());
283 
284  proc -> set_SaveDarkInSubdirectory(m_SaveDarkInSubdir -> isChecked());
285  proc -> set_SaveDarkSubdirectory (m_SaveDarkSubdir -> text());
286 
287  proc -> set_SaveSubtractedInSubdirectory(m_SaveSubtractedInSubdir -> isChecked());
288  proc -> set_SaveSubtractedSubdirectory (m_SaveSubtractedSubdir -> text());
289 
290  proc -> set_SaveIntegratedData(m_SaveIntegratedInLogFile -> isChecked());
291  proc -> set_SaveIntegratedInSeparateFiles(m_SaveIntegratedInSeparateFiles -> isChecked());
292  proc -> set_SaveIntegratedInSubdirectory (m_SaveIntegratedInSubdir -> isChecked());
293  proc -> set_SaveIntegratedSubdirectory (m_SaveIntegratedSubdir -> text());
294 
295  proc -> set_AccumulateIntegrated2D(m_AccumulateIntegrated2D -> isChecked());
296  proc -> set_AccumulateIntegratedName(m_AccumulateIntegratedName -> text());
297 
298  proc -> set_SaveOverflowFiles(m_SaveOverflowFiles -> isChecked());
299  }
300 
301  expt -> set_DataDirectory(m_DataDirectory -> text());
302  expt -> set_LogFileName (m_CurrentLogFile -> text());
303  expt -> set_ScanFileName (m_IntegratedScansFile -> text());
304  expt -> set_ScanFileExtension(m_ScanFileExtension->text());
305  expt -> set_ScanDataNegative(m_ScanDataNegative->currentIndex());
306 
307  if (acq) {
308  acq -> set_FileIndexWidth(m_FileIndexWidth -> value());
309  acq -> set_FilePhaseWidth(m_FilePhaseWidth -> value());
310  acq -> set_FileOverflowWidth(m_FileOverflowWidth -> value());
311  acq -> set_DetectorNumberWidth(m_DetectorNumberWidth -> value());
312 
313  int nDets = m_DetectorProxyModel->rowCount(QModelIndex());
314 
315  acq->clearDetectors();
316 
317  for (int i = 0; i<nDets; i++) {
318  acq->appendDetectorProxy(m_DetectorProxyModel->detectorProxy(i));
319  }
320  }
321 
322  expt -> set_FontSize(m_FontSize -> value());
323  expt -> set_Spacing(m_Spacing -> value());
324  }
325 
326  QDialog::accept();
327 }
QSharedPointer< QxrdExperiment > QxrdExperimentPtr
QSharedPointer< QxrdServer > QxrdServerPtr
Definition: qxrdserver-ptr.h:6
QSharedPointer< QxrdAcquisition > QxrdAcquisitionPtr
QSharedPointer< QxrdDataProcessor > QxrdDataProcessorPtr
QSharedPointer< QxrdSimpleServer > QxrdSimpleServerPtr
QxrdDetectorProxyListModelPtr m_DetectorProxyModel
void QxrdExperimentPreferencesDialog::addDetector ( )
privateslot

Definition at line 329 of file qxrdexperimentpreferencesdialog.cpp.

References appendDetectorProxy(), QxrdDetectorThread::detectorTypeCount(), QxrdDetectorThread::detectorTypeName(), and m_Experiment.

Referenced by QxrdExperimentPreferencesDialog().

330 {
332 
333  if (expt) {
334  QxrdAcquisitionPtr acq = expt -> acquisition();
335 
336  if (acq) {
337  QMenu menu;
338 
339  for (int i=0; i<QxrdDetectorThread::detectorTypeCount(); i++) {
340  QAction *a = new QAction(QxrdDetectorThread::detectorTypeName(i), &menu);
341  a->setData(i);
342 
343  menu.addAction(a);
344  }
345 
346  QAction *choice = menu.exec(QCursor::pos());
347 
348  if (choice) {
349  int type = choice->data().toInt();
350 
351  QxrdDetectorProxyPtr proxy =
352  QxrdDetectorProxyPtr(new QxrdDetectorProxy(type, acq));
353 
354  appendDetectorProxy(proxy);
355  }
356  }
357  }
358 }
QSharedPointer< QxrdExperiment > QxrdExperimentPtr
QSharedPointer< QxrdDetectorProxy > QxrdDetectorProxyPtr
QSharedPointer< QxrdAcquisition > QxrdAcquisitionPtr
static int detectorTypeCount()
static QString detectorTypeName(int detectorType)
void appendDetectorProxy(QxrdDetectorProxyPtr proxy)

Here is the call graph for this function:

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::appendDetectorProxy ( QxrdDetectorProxyPtr  proxy)
private

Definition at line 468 of file qxrdexperimentpreferencesdialog.cpp.

References m_DetectorProxyModel.

Referenced by addDetector(), and QxrdExperimentPreferencesDialog().

469 {
470  if (proxy) {
471  proxy->initialize();
472 
473  m_DetectorProxyModel->append(proxy);
474  }
475 }
QxrdDetectorProxyListModelPtr m_DetectorProxyModel

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::changeEvent ( QEvent *  e)
protected

Definition at line 238 of file qxrdexperimentpreferencesdialog.cpp.

239 {
240  QDialog::changeEvent(e);
241  switch (e->type()) {
242  case QEvent::LanguageChange:
243  retranslateUi(this);
244  break;
245  default:
246  break;
247  }
248 }
void QxrdExperimentPreferencesDialog::configureDetector ( )
privateslot

Definition at line 444 of file qxrdexperimentpreferencesdialog.cpp.

References m_DetectorProxyModel.

Referenced by QxrdExperimentPreferencesDialog().

445 {
446  int detCount = m_DetectorProxyModel->rowCount(QModelIndex());
447 
448  QItemSelectionModel *selected = m_DetectorsList->selectionModel();
449  QVector<int> selectedRows;
450 
451  for (int i=0; i<detCount; i++) {
452  if (selected->rowIntersectsSelection(i, QModelIndex())) {
453  selectedRows.append(i);
454  }
455  }
456 
457  if (selectedRows.count() != 1) {
458  QMessageBox::information(this, "Only configure one", "Must have a single detector selected before configuring it", QMessageBox::Ok);
459  } else {
460  QxrdDetectorProxyPtr proxy = m_DetectorProxyModel->detectorProxy(selectedRows.first());
461 
462  if (proxy) {
463  proxy->configureDetector();
464  }
465  }
466 }
QSharedPointer< QxrdDetectorProxy > QxrdDetectorProxyPtr
QxrdDetectorProxyListModelPtr m_DetectorProxyModel

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::currentLogFileBrowse ( )
privateslot

Definition at line 216 of file qxrdexperimentpreferencesdialog.cpp.

References experimentDirectory().

Referenced by QxrdExperimentPreferencesDialog().

217 {
218  QString initial = QDir(experimentDirectory()).filePath(m_ExperimentDirectory->text());
219 
220  QString file = QFileDialog::getSaveFileName(this, "Log File", initial);
221 
222  if (file != "") {
223  m_CurrentLogFile->setText(QDir(experimentDirectory()).relativeFilePath(file));
224  }
225 }

Here is the call graph for this function:

Here is the caller graph for this function:

QString QxrdExperimentPreferencesDialog::dataDirectory ( )
private

Definition at line 165 of file qxrdexperimentpreferencesdialog.cpp.

References experimentDirectory().

Referenced by getRelativeDirectoryPath(), and integratedScansFileBrowse().

166 {
167  return QDir(experimentDirectory()).filePath(m_DataDirectory->text());
168 }

Here is the call graph for this function:

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::dataDirectoryBrowse ( )
privateslot

Definition at line 205 of file qxrdexperimentpreferencesdialog.cpp.

References experimentDirectory().

Referenced by QxrdExperimentPreferencesDialog().

206 {
207  QString initial = QDir(experimentDirectory()).filePath(m_DataDirectory->text());
208 
209  QString dir = QFileDialog::getExistingDirectory(this, "Output Directory", initial, QFileDialog::ShowDirsOnly);
210 
211  if (dir != "") {
212  m_DataDirectory->setText(QDir(experimentDirectory()).relativeFilePath(dir));
213  }
214 }

Here is the call graph for this function:

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::detectorDoubleClicked ( const QModelIndex &  item)
privateslot

Definition at line 477 of file qxrdexperimentpreferencesdialog.cpp.

References m_DetectorProxyModel.

Referenced by QxrdExperimentPreferencesDialog().

478 {
479  int row = item.row();
480  int col = item.column();
481 
482  if (col == 0 || col == 2) {
483  QxrdDetectorProxyPtr proxy = m_DetectorProxyModel->detectorProxy(item.row());
484 
485  if (proxy) {
486  proxy->configureDetector();
487  }
488  }
489 }
QSharedPointer< QxrdDetectorProxy > QxrdDetectorProxyPtr
QxrdDetectorProxyListModelPtr m_DetectorProxyModel

Here is the caller graph for this function:

QString QxrdExperimentPreferencesDialog::experimentDirectory ( )
private

Definition at line 160 of file qxrdexperimentpreferencesdialog.cpp.

Referenced by currentLogFileBrowse(), dataDirectory(), and dataDirectoryBrowse().

161 {
162  return m_ExperimentDirectory->text();
163 }

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::getRelativeDirectoryPath ( QLineEdit *  edit)
private

Definition at line 170 of file qxrdexperimentpreferencesdialog.cpp.

References dataDirectory().

Referenced by saveDarkBrowse(), saveIntegratedBrowse(), saveRawBrowse(), and saveSubtractedBrowse().

171 {
172  QString initial = QDir(dataDirectory()).filePath(edit->text());
173 
174  QString dir = QFileDialog::getExistingDirectory(this, "", initial, QFileDialog::ShowDirsOnly);
175 
176  if (dir != "") {
177  QString result = QDir(dataDirectory()).relativeFilePath(dir);
178 
179  edit -> setText(result);
180 
181 // printf("Initial: %s\nDir: %s\nResult: %s\n", qPrintable(initial), qPrintable(dir), qPrintable(result));
182  }
183 }

Here is the call graph for this function:

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::integratedScansFileBrowse ( )
privateslot

Definition at line 227 of file qxrdexperimentpreferencesdialog.cpp.

References dataDirectory().

Referenced by QxrdExperimentPreferencesDialog().

228 {
229  QString initial = QDir(dataDirectory()).filePath(m_IntegratedScansFile->text());
230 
231  QString file = QFileDialog::getSaveFileName(this, "Scans File", initial);
232 
233  if (file != "") {
234  m_IntegratedScansFile->setText(QDir(dataDirectory()).relativeFilePath(file));
235  }
236 }

Here is the call graph for this function:

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::moveDetectorDown ( )
privateslot

Definition at line 404 of file qxrdexperimentpreferencesdialog.cpp.

References m_DetectorProxyModel.

Referenced by QxrdExperimentPreferencesDialog().

405 {
406  int detCount = m_DetectorProxyModel->rowCount(QModelIndex());
407 
408  QItemSelectionModel *selected = m_DetectorsList->selectionModel();
409  QVector<int> selectedRows;
410 
411  for (int i=0; i<detCount; i++) {
412  if (selected->rowIntersectsSelection(i, QModelIndex())) {
413  selectedRows.append(i);
414  }
415  }
416 
417  if (selectedRows.count() != 1) {
418  QMessageBox::information(this, "Only move one", "Must have a single detector selected before moving it", QMessageBox::Ok);
419  } else {
420  m_DetectorProxyModel->moveDetectorDown(selectedRows.first());
421  }
422 }
QxrdDetectorProxyListModelPtr m_DetectorProxyModel

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::moveDetectorUp ( )
privateslot

Definition at line 424 of file qxrdexperimentpreferencesdialog.cpp.

References m_DetectorProxyModel.

Referenced by QxrdExperimentPreferencesDialog().

425 {
426  int detCount = m_DetectorProxyModel->rowCount(QModelIndex());
427 
428  QItemSelectionModel *selected = m_DetectorsList->selectionModel();
429  QVector<int> selectedRows;
430 
431  for (int i=0; i<detCount; i++) {
432  if (selected->rowIntersectsSelection(i, QModelIndex())) {
433  selectedRows.append(i);
434  }
435  }
436 
437  if (selectedRows.count() != 1) {
438  QMessageBox::information(this, "Only move one", "Must have a single detector selected before moving it", QMessageBox::Ok);
439  } else {
440  m_DetectorProxyModel->moveDetectorUp(selectedRows.first());
441  }
442 }
QxrdDetectorProxyListModelPtr m_DetectorProxyModel

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::removeDetector ( )
privateslot

Definition at line 360 of file qxrdexperimentpreferencesdialog.cpp.

References m_DetectorProxyModel.

Referenced by QxrdExperimentPreferencesDialog().

361 {
362  int detCount = m_DetectorProxyModel->rowCount(QModelIndex());
363 
364  QItemSelectionModel *selected = m_DetectorsList->selectionModel();
365  QVector<int> selectedRows;
366 
367  for (int i=0; i<detCount; i++) {
368  if (selected->rowIntersectsSelection(i, QModelIndex())) {
369  selectedRows.append(i);
370  }
371  }
372 
373  int res = QMessageBox::Cancel;
374 
375  if (selectedRows.count() == 0) {
376  QMessageBox::information(this, "No Detectors Selected", "Select detectors to delete", QMessageBox::Ok);
377  } else if (selectedRows.count() == 1) {
378  res = QMessageBox::information(this, "Delete Detector?",
379  tr("Do you really want to delete detector %1").arg(selectedRows.value(0)),
380  QMessageBox::Ok, QMessageBox::Cancel);
381  } else {
382  QString dets;
383  foreach (int i, selectedRows) {
384  if (dets=="") {
385  dets = tr("%1").arg(i);
386  } else {
387  dets += tr(", %1").arg(i);
388  }
389  }
390 
391  res = QMessageBox::information(this, "Delete Detectors?,",
392  tr("Do you really want to delete detectors %1").arg(dets),
393  QMessageBox::Ok, QMessageBox::Cancel);
394  }
395 
396  if (res == QMessageBox::Ok) {
397  for (int i=selectedRows.count()-1; i>=0; i--) {
398 // printf("Want to remove row %d\n", selectedRows.value(i));
399  m_DetectorProxyModel->removeDetector(selectedRows.value(i));
400  }
401  }
402 }
QxrdDetectorProxyListModelPtr m_DetectorProxyModel

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::saveDarkBrowse ( )
privateslot

Definition at line 190 of file qxrdexperimentpreferencesdialog.cpp.

References getRelativeDirectoryPath().

Referenced by QxrdExperimentPreferencesDialog().

191 {
192  getRelativeDirectoryPath(m_SaveDarkSubdir);
193 }

Here is the call graph for this function:

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::saveIntegratedBrowse ( )
privateslot

Definition at line 200 of file qxrdexperimentpreferencesdialog.cpp.

References getRelativeDirectoryPath().

Referenced by QxrdExperimentPreferencesDialog().

201 {
202  getRelativeDirectoryPath(m_SaveIntegratedSubdir);
203 }

Here is the call graph for this function:

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::saveRawBrowse ( )
privateslot

Definition at line 185 of file qxrdexperimentpreferencesdialog.cpp.

References getRelativeDirectoryPath().

Referenced by QxrdExperimentPreferencesDialog().

186 {
187  getRelativeDirectoryPath(m_SaveRawSubdir);
188 }

Here is the call graph for this function:

Here is the caller graph for this function:

void QxrdExperimentPreferencesDialog::saveSubtractedBrowse ( )
privateslot

Definition at line 195 of file qxrdexperimentpreferencesdialog.cpp.

References getRelativeDirectoryPath().

Referenced by QxrdExperimentPreferencesDialog().

196 {
197  getRelativeDirectoryPath(m_SaveSubtractedSubdir);
198 }

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

QxrdDetectorProxyListModelPtr QxrdExperimentPreferencesDialog::m_DetectorProxyModel
private
QxrdExperimentWPtr QxrdExperimentPreferencesDialog::m_Experiment
private

The documentation for this class was generated from the following files: