fw4spl
IPulseProgressDialog.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2017.
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 #ifndef __FWGUI_DIALOG_IPULSEPROGRESSDIALOG_HPP__
8 #define __FWGUI_DIALOG_IPULSEPROGRESSDIALOG_HPP__
9 
10 #include "fwGui/config.hpp"
11 #include "fwGui/GuiBaseObject.hpp"
12 
13 #include <fwData/location/ILocation.hpp>
14 
15 #include <functional>
16 #include <string>
17 
18 namespace fwGui
19 {
20 namespace dialog
21 {
26 class FWGUI_CLASS_API IPulseProgressDialog : public ::fwGui::GuiBaseObject
27 {
28 
29 public:
30 
32 
33  typedef std::string FactoryRegistryKeyType;
34 
35  typedef std::function<void ()> Stuff;
36 
37  typedef unsigned long MilliSecond;
38 
40  FWGUI_API static const FactoryRegistryKeyType REGISTRY_KEY;
41 
42  FWGUI_API virtual ~IPulseProgressDialog();
43  FWGUI_API IPulseProgressDialog();
44 
46  FWGUI_API virtual void setTitle(const std::string& title) = 0;
47 
49  FWGUI_API virtual void setMessage(const std::string& msg) = 0;
50 
52  FWGUI_API virtual void setStuff(Stuff stuff);
53 
55  FWGUI_API virtual void setFrequence(MilliSecond frequence);
56 
58  FWGUI_API virtual void show() = 0;
59 
60 protected:
61  Stuff m_stuff;
62  MilliSecond m_frequence;
63 };
64 
65 } //namespace dialog
66 } // namespace fwGui
67 
68 #endif /*__FWGUI_DIALOG_IPULSEPROGRESSDIALOG_HPP__*/
69 
#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
Defines the generic Progress dialog for IHM.
STL namespace.
Base class for all fwGui&#39;s classes.