QXRD  0.11.16
qcepdataobjectpropertieswindow.cpp
Go to the documentation of this file.
2 #include "qcepexperiment.h"
3 #include "qcepdataobject.h"
5 
6 #include <QCloseEvent>
7 #include <QMessageBox>
8 
10  (QcepExperimentWPtr expt, QcepDataObjectWPtr obj, QWidget *parent) :
11  QcepDataObjectWindow(parent),
12  m_Experiment(expt),
13  m_Object(obj)
14 {
15  setupUi(this);
16 
17  QcepExperimentPtr e(m_Experiment);
18  QcepDataObjectPtr objp(m_Object);
19 
20  if (objp && e) {
21  setWindowTitle(tr("%1 Properties from %2")
22  .arg(objp->pathName())
23  .arg(e->get_ExperimentName()));
24  } else if (objp) {
25  setWindowTitle(tr("%1 Properties")
26  .arg(objp->pathName()));
27  } else {
28  setWindowTitle("Unknown Properties");
29  }
30 
31  if (objp) {
32  m_Model = QSharedPointer<QcepPropertiesModel>(
33  new QcepDataObjectPropertiesModel(m_Object));
34  }
35 
36  m_TableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
37  m_TableView->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
38 
39  if (m_Model) {
40  m_TableView->setModel(m_Model.data());
41  }
42 
43  if (objp && m_Model) {
44  connect(objp.data(), SIGNAL(dataObjectChanged()),
45  m_Model.data(), SLOT(onDataObjectChanged()));
46  }
47 
48  setAttribute(Qt::WA_DeleteOnClose, true);
49 }
50 
52 {
53 #ifndef QT_NO_DEBUG
54  printf("Deleting Properties Window\n");
55 #endif
56 }
57 
58 void QcepDataObjectPropertiesWindow::closeEvent ( QCloseEvent * event )
59 {
60  if (wantToClose()) {
61  event -> accept();
62  } else {
63  event -> ignore();
64  }
65 }
66 
68 {
69  return QMessageBox::question(this, tr("Really Close?"),
70  tr("Do you really want to close the window %1 ?")
71  .arg(windowTitle()),
72  QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Ok;
73 }
74 
QcepDataObjectPropertiesWindow(QcepExperimentWPtr expt, QcepDataObjectWPtr obj, QWidget *parent=0)
QWeakPointer< QcepExperiment > QcepExperimentWPtr
QWeakPointer< QcepDataObject > QcepDataObjectWPtr
QSharedPointer< QcepDataObject > QcepDataObjectPtr
QSharedPointer< QcepExperiment > QcepExperimentPtr