fw4spl
IActivityView.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 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 "fwGui/config.hpp"
10 #include "fwGui/IGuiContainerSrv.hpp"
11 
12 #include <fwActivities/registry/Activities.hpp>
13 
14 #include <fwCom/Slots.hpp>
15 
16 #include <fwMedData/ActivitySeries.hpp>
17 #include <fwMedData/Series.hpp>
18 
19 namespace fwGui
20 {
21 namespace view
22 {
23 
53 class FWGUI_CLASS_API IActivityView : public ::fwGui::IGuiContainerSrv
54 {
55 public:
56 
58 
59  FWGUI_API static const ::fwCom::Slots::SlotKeyType s_LAUNCH_ACTIVITY_SLOT;
60  FWGUI_API static const ::fwCom::Slots::SlotKeyType s_LAUNCH_ACTIVITY_SERIES_SLOT;
61 
62 protected:
63 
64  typedef ::fwActivities::registry::ActivityAppConfigParam ParameterType;
65  typedef ::fwActivities::registry::ActivityAppConfig::ActivityAppConfigParamsType ParametersType;
66  typedef std::map< std::string, std::string> ReplaceMapType;
67 
69  FWGUI_API IActivityView();
70 
72  FWGUI_API virtual ~IActivityView();
73 
75  FWGUI_API virtual void configuring() override;
76 
81  FWGUI_API virtual void launchActivity(::fwMedData::ActivitySeries::sptr activitySeries) = 0;
82 
87  FWGUI_API virtual void launchActivitySeries(::fwMedData::Series::sptr series);
88 
93  FWGUI_API virtual bool validateActivity(::fwMedData::ActivitySeries::sptr activitySeries) const;
94 
96  FWGUI_API virtual ::fwMedData::ActivitySeries::sptr createMainActivity() const;
97 
107  FWGUI_API virtual void translateParameters( ::fwData::Object::sptr sourceObj, const ParametersType& parameters,
108  ReplaceMapType& replaceMap );
109 
116  FWGUI_API virtual void translateParameters( const ParametersType& parameters, ReplaceMapType& replaceMap );
117 
118  std::string m_mainActivityId;
119 
120  ParametersType m_parameters;
121 };
122 
123 } // namespace view
124 } // namespace fwGui
Contains fwAtomsFilter::registry details.
#define fwCoreNonInstanciableClassDefinitionsMacro(_classinfo_)
Generate common code for Non Instanciable classes (Interfaces, Abstract classes, ...)
The namespace fwGui contains the base interface for IHM services.
Definition: SJobBar.hpp:23
Namespace containing medical data.
Namespace containing fw4spl communication tools.
Definition: DumpEditor.hpp:30
STL namespace.
Defines the service interface managing the layout.
Namespace containing activities data and builder.
Contains the representation of the data objects used in the framework.
Defines the base class for services displaying activity view.