fw4spl
fwGui::IActionSrv Class Reference

Defines the service interface managing the menu items. More...

#include <IActionSrv.hpp>

+ Inheritance diagram for fwGui::IActionSrv:
+ Collaboration diagram for fwGui::IActionSrv:

Public Member Functions

virtual bool isA (const std::string &type) const override
 
FWGUI_API void actionServiceStopping ()
 Method called when the action service is stopping.
 
FWGUI_API void actionServiceStarting ()
 Method called when the action service is starting.
 
virtual FWGUI_API void setIsActive (bool isActive)
 Set the action service is active/inactive.
 
virtual FWGUI_API void activate ()
 Set the action service is active.
 
virtual FWGUI_API void deactivate ()
 Set the action service is not active.
 
FWGUI_API bool getIsActive () const
 Return true if action service is active.
 
bool getActiveStateValue () const
 Return true if action 'check' feedback is inverted.
 
virtual FWGUI_API void setIsExecutable (bool isExecutable)
 Set the action service executable or not.
 
virtual FWGUI_API void setExecutable ()
 Set the action service executable.
 
virtual FWGUI_API void setInexecutable ()
 Set the action service not executable.
 
FWGUI_API bool getIsExecutable () const
 Return action service is executable.
 
FWGUI_API void setVisible (bool isVisible)
 Show or hide the action.
 
FWGUI_API void show ()
 Show the action.
 
FWGUI_API void hide ()
 Hide the action.
 
FWGUI_API bool isVisible () const
 Returns true if action is visible.
 
FWGUI_API bool confirmAction ()
 Confirm that the action must be executed. More...
 
- Public Member Functions inherited from fwServices::IService
FWSERVICES_API void registerInput (const ::fwData::Object::csptr &obj, const std::string &key, const bool autoConnect=false, const bool optional=false)
 Register an input object for this service. More...
 
FWSERVICES_API void registerInOut (const ::fwData::Object::sptr &obj, const std::string &key, const bool autoConnect=false, const bool optional=false)
 Register an in/out object for this service. More...
 
FWSERVICES_API void setConfiguration (const ::fwRuntime::ConfigurationElement::sptr _cfgElement)
 Affect the configuration, using a generic XML like structure. More...
 
FWSERVICES_API void setConfiguration (const Config &_configuration)
 Set the configuration. More...
 
FWSERVICES_API void setConfiguration (const ConfigType &ptree)
 Affect the configuration, using a boost property tree. More...
 
FWSERVICES_API void configure ()
 Invoke configuring() if m_globalState == STOPPED. Invoke reconfiguring() if m_globalState == STARTED. Does nothing otherwise. More...
 
FWSERVICES_API SharedFutureType start ()
 Invoke starting() if m_globalState == STOPPED. Does nothing otherwise. More...
 
FWSERVICES_API SharedFutureType stop ()
 Invoke stopping() if m_globalState == STARTED. Does nothing otherwise. Stops all observations. More...
 
FWSERVICES_API SharedFutureType update ()
 Invoke updating() if m_globalState == STARTED. Does nothing otherwise. More...
 
FWSERVICES_API SharedFutureType swap (::fwData::Object::sptr _obj)
 Associate the service to another object. More...
 
FWSERVICES_API SharedFutureType swapKey (const KeyType &_key,::fwData::Object::sptr _obj)
 Associate the service to another object. More...
 
FWSERVICES_API GlobalStatus getStatus () const noexcept
 Return the global process status. More...
 
FWSERVICES_API bool isStarted () const noexcept
 Test if the service is started or not. More...
 
FWSERVICES_API bool isStopped () const noexcept
 Test if the service is stopped or not. More...
 
FWSERVICES_API ConfigurationStatus getConfigurationStatus () const noexcept
 Return the configuration process status. More...
 
FWSERVICES_API UpdatingStatus getUpdatingStatus () const noexcept
 Return the update process status. More...
 
FWSERVICES_API::fwRuntime::ConfigurationElement::sptr getConfiguration () const
 Return the configuration, in an xml format read using runtime library. More...
 
FWSERVICES_API ConfigType getConfigTree () const
 Return the configuration, in an boost property tree.
 
FWSERVICES_API::fwData::Object::sptr getObject ()
 Return the object associated to service. More...
 
template<class DATATYPE >
std::shared_ptr< DATATYPE > getObject ()
 Return the object associated to service. The object is casted. More...
 
FWSERVICES_API const InputMapType & getInputs () const
 Return the inputs map associated to service. More...
 
FWSERVICES_API const InOutMapType & getInOuts () const
 Return the inouts map associated to service. More...
 
FWSERVICES_API const OutputMapType & getOutputs () const
 Return the outouts map associated to service. More...
 
FWSERVICES_API std::vector< ::fwData::Object::csptr > getObjects () const
 Return the objects associated to service. More...
 
template<class DATATYPE >
std::shared_ptr< const DATATYPE > getInput (const KeyType &key) const
 Return the input object at the given key. Asserts if the data is not of the right type. More...
 
template<class DATATYPE >
std::shared_ptr< DATATYPE > getInOut (const KeyType &key) const
 Return the inout object at the given key. Asserts if the data is not of the right type. More...
 
template<class DATATYPE >
std::shared_ptr< DATATYPE > getOutput (const KeyType &key) const
 Return the output object at the given key. Asserts if the data is not of the right type. More...
 
template<class DATATYPE >
std::shared_ptr< const DATATYPE > getInput (const KeyType &keybase, size_t index) const
 Return the input object at the given key. Asserts if the data is not of the right type. More...
 
template<class DATATYPE >
std::shared_ptr< DATATYPE > getInOut (const KeyType &keybase, size_t index) const
 Return the inout object at the given key. Asserts if the data is not of the right type. More...
 
template<class DATATYPE >
std::shared_ptr< DATATYPE > getOutput (const KeyType &keybase, size_t index) const
 Return the output object at the given key. Asserts if the data is not of the right type. More...
 
FWSERVICES_API void setOutput (const ::fwServices::IService::KeyType &key, const ::fwData::Object::sptr &object, size_t index=0)
 Register an output object at a given key in the OSR, replacing it if it already exists. More...
 
size_t getKeyGroupSize (const KeyType &keybase) const
 Return the number of key in a group of keys. More...
 
FWSERVICES_API void setWorker (std::shared_ptr< ::fwThread::Worker > worker)
 Initializes m_associatedWorker and associates this worker to all service slots.
 
FWSERVICES_API std::shared_ptr< ::fwThread::WorkergetWorker () const
 Returns associate worker.
 
virtual FWSERVICES_API KeyConnectionsType getObjSrvConnections () const
 Returns proposals to connect service slots to associated object signals, this method is used for obj/srv auto connection. More...
 
FWSERVICES_API bool hasObjectId (const KeyType &_key) const
 Return true if the object with the given key has an identifier. More...
 
FWSERVICES_API IdType getObjectId (const KeyType &_key) const
 Return the id of the object, throw if it is not found.
 
FWSERVICES_API void setObjectId (const KeyType &_key, const IdType &_id)
 Set the id of an object key.
 
- Public Member Functions inherited from fwTools::Object
- Public Member Functions inherited from fwCore::BaseObject
- Public Member Functions inherited from fwCom::HasSlots
std::shared_ptr< SlotBaseslot (const Slots::SlotKeyType &key) const
 
template<typename SlotType >
std::shared_ptr< SlotType > slot (const Slots::SlotKeyType &key) const
 
template<typename F , typename A >
std::shared_ptr< Slot< typename::fwCom::util::convert_function_type< F >::type > > newSlot (const Slots::SlotKeyType &key, F f, A a)
 
- Public Member Functions inherited from fwCom::HasSignals
std::shared_ptr< SignalBasesignal (const Signals::SignalKeyType &key) const
 
template<typename SignalType >
std::shared_ptr< SignalType > signal (const Signals::SignalKeyType &key) const
 
template<typename SignalType >
std::shared_ptr< SignalType > newSignal (const Signals::SignalKeyType &key)
 

Static Public Member Functions

static bool isTypeOf (const std::string &type)
 
- Static Public Member Functions inherited from fwServices::IService
static bool isTypeOf (const std::string &type)
 
static const std::string & leafClassname ()
 return object's classname without its namespace, i.e. BaseObject
 
static const std::string & classname ()
 return object's classname without its namespace, i.e. BaseObject
 
- Static Public Member Functions inherited from fwTools::Object
static bool isTypeOf (const std::string &type)
 
static const std::string & classname ()
 return full object's classname with its namespace, i.e. fwCore::BaseObject
 
- Static Public Member Functions inherited from fwCore::BaseObject
static bool isTypeOf (const std::string &type)
 
static const std::string & leafClassname ()
 return object's classname without its namespace, i.e. BaseObject
 
static const std::string & classname ()
 return object's classname without its namespace, i.e. BaseObject
 

Static Public Attributes

Slots Keys
static const ::fwCom::Slots::SlotKeyType s_SET_VISIBLE_SLOT = "setVisible"
 Slot to show/hide the action.
 
static const ::fwCom::Slots::SlotKeyType s_SHOW_SLOT = "show"
 Slot to disable the action.
 
static const ::fwCom::Slots::SlotKeyType s_HIDE_SLOT = "hide"
 Slot to disable the action.
 
static const ::fwCom::Slots::SlotKeyType s_SET_IS_ACTIVE_SLOT = "setIsActive"
 Slot to activate/deactivate the action.
 
static const ::fwCom::Slots::SlotKeyType s_ACTIVATE_SLOT = "activate"
 Slot to activate the action.
 
static const ::fwCom::Slots::SlotKeyType s_DEACTIVATE_SLOT = "deactivate"
 Slot to desactivate the action.
 
static const ::fwCom::Slots::SlotKeyType s_SET_IS_EXECUTABLE_SLOT = "setIsExecutable"
 Slot to enable/disable the action.
 
static const ::fwCom::Slots::SlotKeyType s_SET_EXECUTABLE_SLOT = "setExecutable"
 Slot to enable the action.
 
static const ::fwCom::Slots::SlotKeyType s_SET_INEXECUTABLE_SLOT = "setInexecutable"
 Slot to disable the action.
 
- Static Public Attributes inherited from fwServices::IService
static FWSERVICES_API const std::string s_DEFAULT_OBJECT = "defaultObject"
 
static FWSERVICES_APIconst::fwCom::Slots::SlotKeyType s_STARTED_SIG = "started"
 
static FWSERVICES_APIconst::fwCom::Slots::SlotKeyType s_UPDATED_SIG = "updated"
 
static FWSERVICES_APIconst::fwCom::Slots::SlotKeyType s_STOPPED_SIG = "stopped"
 
static FWSERVICES_APIconst::fwCom::Slots::SlotKeyType s_START_SLOT = "start"
 Slot to call start method.
 
static FWSERVICES_APIconst::fwCom::Slots::SlotKeyType s_STOP_SLOT = "stop"
 Slot to call start method.
 
static FWSERVICES_APIconst::fwCom::Slots::SlotKeyType s_UPDATE_SLOT = "update"
 Slot to call start method.
 
static FWSERVICES_APIconst::fwCom::Slots::SlotKeyType s_SWAP_SLOT = "swap"
 Slot to call start method.
 
static FWSERVICES_APIconst::fwCom::Slots::SlotKeyType s_SWAPKEY_SLOT = "swapKey"
 Slot to call start method.
 

Protected Types

typedef ::fwRuntime::ConfigurationElement::sptr ConfigurationType
 
- Protected Types inherited from fwTools::fwID
enum  Policy { EMPTY = 1, GENERATE, MUST_EXIST }
 
typedef std::string IDType
 

Protected Member Functions

FWGUI_API void initialize ()
 Initialize the action. More...
 
- Protected Member Functions inherited from fwServices::IService
FWSERVICES_API IService ()
 IService constructor. More...
 
virtual FWSERVICES_API ~IService ()
 IService desctructor. More...
 
virtual FWSERVICES_API void starting ()=0
 Initialize the service activity. More...
 
virtual FWSERVICES_API void stopping ()=0
 Uninitialize the service activity. The stop() method is always invoked before destroying a service. More...
 
virtual void swapping ()
 Swap the service from associated object to another object. More...
 
virtual void swapping (const KeyType &key)
 Swap the service from an associated object to another object. The key in parameter indicates allows to retrieve the new data with getInput(), getInOut() or getOutput(). If you need the old object, you need to keep a shared pointer on it inside your service implementation. More...
 
virtual FWSERVICES_API void configuring ()=0
 Configure the service before starting. Apply the configuration to service. More...
 
virtual FWSERVICES_API void reconfiguring ()
 Reconfigure the service activity when is started. More...
 
virtual FWSERVICES_API void updating ()=0
 Perform some computations according to object (this service is attached to) attribute values and its internal state. More...
 
virtual FWSERVICES_API void info (std::ostream &_sstream)
 Write information in a stream. More...
 
virtual FWSERVICES_API KeyConnectionsMap getAutoConnections () const
 Returns proposals to connect service slots to associated objects signals, this method is used for obj/srv auto connection.
 
- Protected Member Functions inherited from fwTools::fwID
FWTOOLS_API bool hasID () const
 Return true if the object has an id set. More...
 
FWTOOLS_API IDType getID (Policy policy=GENERATE) const
 Returns the id of the object. If it is not set and the policy value is. More...
 
virtual FWTOOLS_API void setID (IDType newID)
 Set a newID for the object, (newID must not exist in fwID), the oldest one is released. More...
 
FWTOOLS_API void resetID ()
 Release the id for the object. More...
 
 fwID ()
 Constructor : does nothing.
 
- Protected Member Functions inherited from fwCom::HasSlots
 HasSlots (const HasSlots &)
 Copy constructor forbidden.
 
HasSlotsoperator= (const HasSlots &)
 Copy operator forbidden.
 
- Protected Member Functions inherited from fwCom::HasSignals
 HasSignals (const HasSignals &)
 Copy constructor forbidden.
 
HasSignalsoperator= (const HasSignals &)
 Copy operator forbidden.
 

Friends

template<class , class , class >
class ::fwTools::ClassFactory
 
class ::fwTools::Factory
 

Demangling methods

virtual const std::string & getLeafClassname () const override
 return object's classname without its namespace, i.e. BaseObject
 
virtual const std::string & getClassname () const override
 return full object's classname with its namespace, i.e. fwCore::BaseObject
 
static const std::string & leafClassname ()
 return object's classname without its namespace, i.e. BaseObject
 
static const std::string & classname ()
 return object's classname without its namespace, i.e. BaseObject
 

Signals

typedef ::fwCom::Signal< void()> EnabledSignalType
 Signal emitted when action is enabled.
 
typedef ::fwCom::Signal< void()> DisabledSignalType
 Signal emitted when action is disabled.
 
typedef ::fwCom::Signal< void()> CheckedSignalType
 Signal emitted when action is checked.
 
typedef ::fwCom::Signal< void()> UncheckedSignalType
 Signal emitted when action is unchecked.
 
static const ::fwCom::Signals::SignalKeyType s_ENABLED_SIG = "enabled"
 Signal emitted when action is enabled.
 
static const ::fwCom::Signals::SignalKeyType s_DISABLED_SIG = "disabled"
 Signal emitted when action is enabled.
 
static const ::fwCom::Signals::SignalKeyType s_CHECKED_SIG = "checked"
 Signal emitted when action is enabled.
 
static const ::fwCom::Signals::SignalKeyType s_UNCHECKED_SIG = "unchecked"
 Signal emitted when action is enabled.
 

Additional Inherited Members

- Public Types inherited from fwServices::IService
enum  AccessType : std::uint8_t { INPUT, OUTPUT, INOUT }
 
typedef ::boost::property_tree::ptree ConfigType
 
typedef std::string IdType
 
typedef std::string KeyType
 
typedef std::map< KeyType, std::weak_ptr< const ::fwData::Object > > InputMapType
 
typedef std::map< KeyType, std::weak_ptr< ::fwData::Object > > InOutMapType
 
typedef std::map< KeyType, std::shared_ptr< ::fwData::Object > > OutputMapType
 
enum  GlobalStatus {
  STARTED, STARTING, SWAPPING, STOPPED,
  STOPPING
}
 Defines all possible global status for a service, including transitions. More...
 
enum  UpdatingStatus { UPDATING, NOTUPDATING }
 Defines all possible status for an update process. More...
 
enum  ConfigurationStatus { CONFIGURING, CONFIGURED, UNCONFIGURED }
 Defines all possible status for a configuration process. More...
 
typedef ::fwCom::Signal< void()> StartedSignalType
 
typedef ::fwCom::Signal< void()> UpdatedSignalType
 
typedef ::fwCom::Signal< void()> StoppedSignalType
 
typedef std::shared_future< void > SharedFutureType
 Slot to call start method.
 
typedef std::packaged_task< void()> PackagedTaskType
 Slot to call start method.
 
typedef std::future< void > UniqueFutureType
 Slot to call start method.
 
typedef ::fwCom::Slot< SharedFutureType()> StartSlotType
 Slot to call start method.
 
typedef ::fwCom::Slot< SharedFutureType()> StopSlotType
 Slot to call start method.
 
typedef ::fwCom::Slot< SharedFutureType()> UpdateSlotType
 Slot to call start method.
 
typedef ::fwCom::Slot< SharedFutureType(::fwData::Object::sptr)> SwapSlotType
 Slot to call start method.
 
typedef ::fwCom::Slot< SharedFutureType(const KeyType &,::fwData::Object::sptr)> SwapKeySlotType
 Slot to call start method.
 
typedef ::fwCom::helper::SigSlotConnection::KeyConnectionsType KeyConnectionsType
 Returns proposals to connect service slots to associated object signals, this method is used for obj/srv auto connection. More...
 
- Public Types inherited from fwCom::HasSlots
typedef std::shared_ptr< HasSlotssptr
 
typedef std::shared_ptr< const HasSlotscsptr
 
- Public Types inherited from fwCom::HasSignals
typedef std::shared_ptr< HasSignalssptr
 
typedef std::shared_ptr< const HasSignalscsptr
 
- Static Protected Member Functions inherited from fwTools::fwID
static bool isTypeOf (const std::string &type)
 
static FWTOOLS_API bool exist (IDType _id)
 
static FWTOOLS_API std::shared_ptr< ::fwTools::ObjectgetObject (IDType requestID)
 Retrieve the object attached to the given id. Return a null sptr if no correspondence exist. More...
 
static const std::string & leafClassname ()
 return object's classname without its namespace, i.e. BaseObject
 
static const std::string & classname ()
 return object's classname without its namespace, i.e. BaseObject
 
- Protected Attributes inherited from fwServices::IService
::fwRuntime::ConfigurationElement::sptr m_configuration
 Configuration element used to configure service internal state using a generic XML like structure TODO Make this const, we are not supposed to edit that !
 
::fwData::Object::wptr m_associatedObject
 associated object of service More...
 
StartSlotType::sptr m_slotStart
 Slot to call start method.
 
StopSlotType::sptr m_slotStop
 Slot to call stop method.
 
UpdateSlotType::sptr m_slotUpdate
 Slot to call update method.
 
SwapSlotType::sptr m_slotSwap
 Slot to call swap method.
 
SwapKeySlotType::sptr m_slotSwapKey
 Slot to call swap method.
 
std::shared_ptr< ::fwThread::Workerm_associatedWorker
 Associated worker.
 
- Protected Attributes inherited from fwTools::Object
std::shared_ptr< ::fwTools::UUIDm_uuid
 UUID used to identify the object, notably for serialization.
 
- Protected Attributes inherited from fwCom::HasSlots
Slots m_slots
 
- Protected Attributes inherited from fwCom::HasSignals
Signals m_signals
 

Detailed Description

Defines the service interface managing the menu items.

Definition at line 24 of file IActionSrv.hpp.

Member Function Documentation

bool fwGui::IActionSrv::confirmAction ( )

Confirm that the action must be executed.

If action is configured to be confirmed : show a dialog box to confirm execution. Else return true

Returns
true if user click on 'yes' button.

Definition at line 271 of file IActionSrv.cpp.

References fwGui::dialog::MessageDialog::addButton(), fwGui::dialog::MessageDialog::setDefaultButton(), fwGui::dialog::MessageDialog::setIcon(), fwGui::dialog::MessageDialog::setMessage(), fwGui::dialog::MessageDialog::setTitle(), fwGui::dialog::MessageDialog::show(), and SLM_WARN.

Referenced by gui::action::SSlotCaller::updating(), and gui::action::SSignal::updating().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fwGui::IActionSrv::initialize ( )
protected

Initialize the action.

Example of configuration

1 <service uid="item" type="::gui::action::SDefault" autoConnect="no" >
2  <state active="false" executable="false" inverse="true" visible="true" />
3  <confirmation value="yes" message="..." />
4 </service>
  • <state active="false" executable="false" /> : fix the state of the action in the menu and Toolbar.
    • executable not mandatory (Default value true ) : allows to enable/disable the execution of the action. If the action appears in the interface it will be enabled/disabled.
    • active not mandatory (Default value false ): If the action appears in the interface it will be checked/unchecked.
    • visible not mandatory (Default value true ): If true, the action is visible in the interface (and if the action is associated to a menu and/or a toolbar).
    • inverse not mandatory (Default value true) : allow to invert the state of the action (if "check")
  • <confirmation value="yes" message="..." /> : configure if the action must be confirmed by the user before executing it.
    • value : if true the action will show a confirmation message before executing it.
    • message not mandatory : if not empty the message is shown in dialog box.
    • defaultbutton not mandatory (default defined by underlying gui backend) : specify the dialog default button (yes or no)

Definition at line 69 of file IActionSrv.cpp.

References OSLM_ASSERT, and SLM_ASSERT.

Referenced by monitor::action::fwMetrics::configuring(), monitor::action::MemoryInfo::configuring(), monitor::action::SDumpAll::configuring(), monitorQt::action::ClassFactoryRegistryInfo::configuring(), uiMeasurement::action::AddDistance::configuring(), monitorQt::action::ComponentsTree::configuring(), uiMeasurement::action::AddLandmark::configuring(), uiMeasurement::action::ShowLandmark::configuring(), uiMeasurement::action::SAddLabeledPoint::configuring(), uiGenericQt::action::ShowHelpContents::configuring(), uiMeasurement::action::LoadLandmark::configuring(), uiMeasurement::action::RemoveLandmark::configuring(), uiMeasurement::action::SaveLandmark::configuring(), gui::action::SQuit::configuring(), gui::action::SDefault::configuring(), uiGenericQt::action::LaunchBrowserActionService::configuring(), uiMeasurement::action::RemoveDistance::configuring(), monitor::action::MemoryConsumption::configuring(), gui::action::SDoNothing::configuring(), uiMeasurement::action::ShowDistance::configuring(), uiMedDataQt::action::SInitNewSeries::configuring(), uiGenericQt::action::SShowAbout::configuring(), gui::action::SSignal::configuring(), gui::action::SPushObject::configuring(), gui::action::SPushField::configuring(), Tuto14MeshGenerator::SMeshModifier::configuring(), uiMeasurement::action::SFocusLandmark::configuring(), opVTKMesh::action::SMeshCreation::configuring(), gui::action::SSlotCaller::configuring(), uiVisu::action::SSnapshot::configuring(), uiVisu::action::CrossTypeAction::configuring(), uiMedDataQt::action::SExportSeries::configuring(), uiIO::action::SSeriesDBMerger::configuring(), uiIO::action::SExportWithSeriesDB::configuring(), gui::action::SModifyLayout::configuring(), activities::action::SCreateActivity::configuring(), uiPreferences::action::SPreferencesConfiguration::configuring(), gui::action::SConfigLauncher::configuring(), gui::action::SStarter::configuring(), and activities::action::SActivityLauncher::configuring().

+ Here is the caller graph for this function:


The documentation for this class was generated from the following files: