Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkXnatProjectWidget.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #include "QmitkXnatProjectWidget.h"
14 
15 #include <ctkXnatProject.h>
16 
17 QmitkXnatProjectWidget::QmitkXnatProjectWidget(QWidget *parent) : QWidget(parent)
18 {
19  m_Mode = INFO;
20  Init();
21 }
22 
23 QmitkXnatProjectWidget::QmitkXnatProjectWidget(Mode mode, QWidget *parent) : QWidget(parent), m_Mode(mode)
24 {
25  Init();
26 }
27 
29 {
30 }
31 
32 void QmitkXnatProjectWidget::Init()
33 {
34  // Create GUI widgets from the Qt Designer's .ui file
35  m_Controls.setupUi(this);
36 
37  if (m_Mode == Mode::INFO)
38  {
39  // make not needed row invisible
40  m_Controls.idLabel->setVisible(false);
41  m_Controls.idLineEdit->setVisible(false);
42  m_Controls.mandatoryLabel->setVisible(false);
43  }
44 }
45 
46 void QmitkXnatProjectWidget::SetProject(ctkXnatProject *project)
47 {
48  m_Project = project;
49 
50  // Set the UI labels
51  m_Controls.nameLineEdit->setText(m_Project->property("name"));
52  m_Controls.descriptionLineEdit->setText(m_Project->property("description"));
53  if (!m_Project->property("pi_lastname").isEmpty())
54  {
55  m_Controls.piLineEdit->setText(m_Project->property("pi_lastname") + ", " + m_Project->property("pi_firstname"));
56  }
57 }
58 
59 ctkXnatProject *QmitkXnatProjectWidget::GetProject() const
60 {
61  if (m_Mode == Mode::CREATE)
62  {
63  if (!m_Controls.idLineEdit->text().isEmpty())
64  {
65  m_Project->setProperty("ID", m_Controls.idLineEdit->text());
66  }
67  if (!m_Controls.nameLineEdit->text().isEmpty())
68  {
69  m_Project->setProperty("name", m_Controls.nameLineEdit->text());
70  }
71  if (!m_Controls.descriptionLineEdit->text().isEmpty())
72  {
73  m_Project->setProperty("description", m_Controls.descriptionLineEdit->text());
74  }
75  // pi name needs to be inserted separated
76  }
77  return m_Project;
78 }
QmitkXnatProjectWidget(QWidget *parent=nullptr)
Ui::QmitkXnatProjectWidgetControls m_Controls
void SetProject(ctkXnatProject *project)
ctkXnatProject * GetProject() const