Seg3D  2.4
Seg3D is a free volume segmentation and processing tool developed by the NIH Center for Integrative Biomedical Computing at the University of Utah Scientific Computing and Imaging (SCI) Institute.
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
Core::StateBase Class Referenceabstract
Inheritance diagram for Core::StateBase:
Core::StateLabeledMultiOption Core::StateLabeledOption Core::StateName Core::StateOption Core::StateRangedValueBase Core::StateSetBase Core::StateValue< T > Core::StateVectorBase Core::StateViewBase

Public Types

enum  { DO_NOT_LOAD_E = -1, LOAD_LAST_E = 0, DEFAULT_LOAD_E = 100 }
 
typedef boost::signals2::signal< void() > state_changed_signal_type
 This signal is triggered when the state is changed.
 

Public Member Functions

 StateBase (const std::string &stateid)
 
virtual std::string export_to_string () const =0
 Convert the contents of the State into a string.
 
virtual bool import_from_string (const std::string &str, Core::ActionSource source=Core::ActionSource::NONE_E)=0
 Set the State from a string.
 
void set_is_project_data (bool is_project_data)
 Set whether the data is part of the project data.
 
void set_locked (bool locked)
 
bool get_locked () const
 Query whether the variable has been designated as locked.
 
int get_session_priority () const
 Get the priority in which loading sets the states.
 
void set_session_priority (int priority)
 By default the priority is set to DEAFULT_LOAD_E.
 
std::string get_stateid () const
 Get the unique id assigned to the state variable.
 
bool is_project_data () const
 Whether the data is tagged as project data that is saved in a session.
 

Public Attributes

state_changed_signal_type state_changed_signal_
 

Protected Member Functions

virtual void export_to_variant (Variant &variant) const =0
 Export the state data to a variant parameter.
 
virtual bool import_from_variant (Variant &variant, Core::ActionSource source=Core::ActionSource::NONE_E)=0
 Import the state data from a variant parameter.
 
virtual bool validate_variant (Variant &variant, std::string &error)=0
 
void enable_signals (bool signals_enabled)
 
bool signals_enabled ()
 Check whether signals are enabled.
 
void set_initializing (bool initializing)
 
bool get_initializing () const
 Query whether the state variable and its parent are still being initialized.
 
virtual void invalidate ()
 

Friends

class ActionSet
 
class ActionGet
 
class ActionOffset
 
class StateHandler
 

Member Function Documentation

void Core::StateBase::enable_signals ( bool  signals_enabled)
protected

Allow signals to be triggered from this state variable NOTE: Signal enabling is used for loading sessions, switching off signalling can prevent a lot of signals being triggered when every state variable is reinitialized.

void Core::StateBase::invalidate ( )
protectedvirtual

Invalidate the state variable. This function is called by the "invalidate" function of StateHandler to release any resource occupied by the state. Default implementation does nothing.

Reimplemented in Core::StateName.

void Core::StateBase::set_initializing ( bool  initializing)
protected

Indicate that the statehandler is still being created. Hence only one thread will have access to the state variable, and thread safety checking is not needed. NOTE: This is mainly intended to be set in the constructor of the state handler of this variable, which may need to initialize the state variables to certain values. As that handlers can be singletons they can be created from any thread. Hence strict thread checking maybe an issue, however the creation of an instance normally is thread safe as no other thread has access to the state parameters and signals are still being blocked.

void Core::StateBase::set_locked ( bool  locked)

Tell the program that this state variable cannot be changed by the action mechanism Only a direct set will work. This prevents any scripting system to override crucial variables.

virtual bool Core::StateBase::validate_variant ( Variant variant,
std::string &  error 
)
protectedpure virtual

Validate a variant parameter This function returns false if the parameter is invalid or cannot be converted and in that case error will describe the error.

Implemented in Core::StateVector< T >, Core::StateRangedValue< T >, Core::StateSet< T >, Core::StateValue< T >, Core::StateView3D, Core::StateView2D, Core::StateOption, Core::StateLabeledOption, Core::StateLabeledMultiOption, and Core::StateName.


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