fw4spl
ioPacs/include/ioPacs/SQueryEditor.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 <fwMedData/SeriesDB.hpp>
14 
15 #include <fwPacsIO/data/PacsConfiguration.hpp>
16 #include <fwPacsIO/SeriesEnquirer.hpp>
17 
18 #include <boost/filesystem/path.hpp>
19 
20 #include <QDateEdit>
21 #include <QLineEdit>
22 #include <QObject>
23 #include <QPointer>
24 #include <QPushButton>
25 #include <QWidget>
26 
27 namespace ioPacs
28 {
29 
46 class IOPACS_CLASS_API SQueryEditor : public QObject,
48 {
49 Q_OBJECT;
50 
51 public:
52 
54 
56  IOPACS_API SQueryEditor() noexcept;
57 
59  IOPACS_API virtual ~SQueryEditor() noexcept;
60 
61 protected:
62 
64  IOPACS_API virtual void configuring() override;
65 
67  IOPACS_API virtual void starting() override;
68 
70  IOPACS_API virtual void stopping() override;
71 
73  IOPACS_API void updating() override;
74 
76  IOPACS_API void info(std::ostream& _sstream ) override;
77 
82  IOPACS_API void displayErrorMessage(const std::string& message) const;
83 
84 private Q_SLOTS:
86  IOPACS_API void queryPatientName();
87 
89  IOPACS_API void queryStudyDate();
90 
95  IOPACS_API void updateSeriesDB(::fwMedData::SeriesDB::ContainerType series);
96 
97 protected:
99  QPointer< QLineEdit > m_patientNameLineEdit;
100 
102  QPointer< QPushButton > m_patientNameQueryButton;
103 
105  QPointer< QDateEdit > m_beginStudyDateEdit;
106 
108  QPointer< QDateEdit > m_endStudyDateEdit;
109 
111  QPointer< QPushButton > m_studyDateQueryButton;
112 
114  ::fwPacsIO::SeriesEnquirer::sptr m_seriesEnquirer;
115 
117  ::fwPacsIO::data::PacsConfiguration::csptr m_pacsConfiguration;
118 };
119 
120 } // namespace ioPacs
ioPacs contains services use to deal with PACS using DCMTK library.
Namespace containing medical data.
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 perform a IOPACS query on a pacs.
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.