fw4spl
SPacsConfigurationEditor.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2018.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #pragma once
8 
9 #include "ioPacs/config.hpp"
10 
11 #include <fwGui/editor/IEditor.hpp>
12 
13 #include <fwPacsIO/data/PacsConfiguration.hpp>
14 #include <fwPacsIO/SeriesEnquirer.hpp>
15 
16 #include <boost/filesystem/path.hpp>
17 
18 #include <QComboBox>
19 #include <QLineEdit>
20 #include <QObject>
21 #include <QPointer>
22 #include <QPushButton>
23 #include <QSpinBox>
24 #include <QWidget>
25 
26 namespace ioPacs
27 {
28 
42 class IOPACS_CLASS_API SPacsConfigurationEditor : public QObject,
44 {
45 Q_OBJECT;
46 
47 public:
48 
53  IOPACS_API SPacsConfigurationEditor() noexcept;
54 
58  IOPACS_API virtual ~SPacsConfigurationEditor() noexcept;
59 
60 private:
61  IOPACS_API void modifiedNotify(::fwPacsIO::data::PacsConfiguration::sptr pacsConfiguration);
62 
63 private Q_SLOTS:
65  IOPACS_API void pingPacs();
66 
68  IOPACS_API void localApplicationTitleChanged();
69 
71  IOPACS_API void pacsHostNameChanged();
72 
74  IOPACS_API void pacsApplicationTitleChanged();
75 
80  IOPACS_API void pacsApplicationPortChanged(int value);
81 
83  IOPACS_API void moveApplicationTitleChanged();
84 
89  IOPACS_API void moveApplicationPortChanged(int value);
90 
95  IOPACS_API void retrieveMethodChanged(int index);
96 
97 protected:
98 
109  IOPACS_API virtual void configuring() override;
110 
112  IOPACS_API virtual void starting() override;
113 
115  IOPACS_API virtual void stopping() override;
116 
118  IOPACS_API void updating() override;
119 
121  IOPACS_API void info(std::ostream& _sstream ) override;
122 
124  QPointer< QLineEdit > m_localApplicationTitleWidget;
125 
127  QPointer< QLineEdit > m_pacsHostNameWidget;
128 
130  QPointer< QLineEdit > m_pacsApplicationTitleWidget;
131 
133  QPointer< QSpinBox > m_pacsApplicationPortWidget;
134 
136  QPointer< QLineEdit > m_moveApplicationTitleWidget;
137 
139  QPointer< QSpinBox > m_moveApplicationPortWidget;
140 
142  QPointer< QComboBox > m_retrieveMethodWidget;
143 
145  QPointer< QPushButton > m_pingPacsButtonWidget;
146 
147 };
148 
149 } // namespace ioPacs
ioPacs contains services use to deal with PACS using DCMTK library.
fwPacsIO contains classes used to communicate with a PACS.
Defines the service interface managing the editor service for object.
Definition: IEditor.hpp:25
STL namespace.
This editor service is used to edit a pacs configuration.
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.