SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
smtk::view::ResourcePhraseModel Class Reference

Present phrases describing a set of resources held by one or more resource managers. More...

#include <ResourcePhraseModel.h>

Inheritance diagram for smtk::view::ResourcePhraseModel:
[legend]
Collaboration diagram for smtk::view::ResourcePhraseModel:
[legend]

Public Types

using Observer = std::function< void(DescriptivePhrasePtr, PhraseModelEvent, int, int)>
 
using Operation = smtk::operation::Operation
 
- Public Types inherited from smtk::view::PhraseModel
using Observer = PhraseModelObserver
 Events that alter the phrase model trigger callbacks of this type.
 
using Observers = PhraseModelObservers
 A collection of observers with runtime-modifiable call behaviors.
 
using PhraseDecorator = std::function< void(smtk::view::DescriptivePhrasePtr)>
 Applications may have a model decorate its phrases by providing a method with this signature.
 
using SourceVisitor = std::function< bool(const smtk::resource::ManagerPtr &, const smtk::operation::ManagerPtr &, const smtk::view::ManagerPtr &, const smtk::view::SelectionPtr &)>
 Subclasses (and others) may wish to invoke functions on the sources of data for the phrases. More...
 
using SourceVisitorFunction = std::function< smtk::common::Visit(const smtk::resource::ManagerPtr &, const smtk::operation::ManagerPtr &, const smtk::view::ManagerPtr &, const smtk::view::SelectionPtr &)>
 Subclasses (and others) may wish to invoke functions on the sources of data for the phrases. More...
 
using Operation = smtk::operation::Operation
 
using OperationPtr = smtk::operation::Operation::Ptr
 
using ComponentItemPtr = smtk::attribute::ComponentItemPtr
 
using Resource = smtk::resource::Resource
 

Public Member Functions

 smtkTypeMacro (smtk::view::ResourcePhraseModel)
 
 smtkSuperclassMacro (smtk::view::PhraseModel)
 
 smtkSharedPtrCreateMacro (smtk::view::PhraseModel)
 
 ResourcePhraseModel (const Configuration *, Manager *)
 
DescriptivePhrasePtr root () const override
 Return the root phrase of the hierarchy.
 
bool setResourceFilters (const std::multimap< std::string, std::string > &src)
 
bool setFilter (std::function< bool(const smtk::resource::Resource &)>)
 
const std::function< bool(const smtk::resource::Resource &)> & filter () const
 
- Public Member Functions inherited from smtk::view::PhraseModel
 smtkTypeMacroBase (smtk::view::PhraseModel)
 
 smtkCreateMacro (smtk::view::PhraseModel)
 
virtual void updateChildren (smtk::view::DescriptivePhrasePtr plist, DescriptivePhrases &next, const std::vector< int > &idx)
 Infer changes between sets of subphrases; affect these changes; and notify observers.
 
virtual void triggerDataChanged ()
 Manually specify that all rows should be updated (but to keep the expanded/collapsed state).
 
virtual void triggerDataChangedFor (smtk::resource::ComponentPtr comp)
 Manually specify that all rows with their relatedComponent() == comp should be updated.
 
Observersobservers ()
 Return the observers associated with this phrase model.
 
const Observersobservers () const
 
smtk::operation::ManagerPtr operationManager () const
 Return the operationManager for the first Source registered.
 
void setMutableAspects (int mutableAspects)
 Set what aspects of top-level phrases should be user-editable. More...
 
int mutableAspects () const
 Get what aspects of top-level phrases should be user-editable. More...
 
ManagerPtr manager () const
 PhraseModels that are managed have a non-null pointer to their manager.
 
const BadgeSetbadges () const
 Return the badges that may apply to phrases in this model.
 
BadgeSetbadges ()
 
const UUIDsToPhrasesMap uuidPhraseMap () const
 Return the map between persistent object IDs and Descriptive Phrases.
 
smtk::common::ThreadPool< DescriptivePhrases > & threadPool ()
 
virtual bool addSource (const smtk::common::TypeContainer &managers)
 Manage sources of information to display as phrases. More...
 
virtual bool removeSource (const smtk::common::TypeContainer &managers)
 Indicate managers that should no longer be monitored for changes.
 
virtual bool resetSources ()
 Stop listening for changes from all sources.
 
virtual void visitSources (SourceVisitorFunction visitor)
 Invoke the visitor function on each source that has been added to the model.
 

Static Public Member Functions

static Ptr create (const Configuration *, Manager *)
 
static PhraseModelPtr create (const smtk::view::ConfigurationPtr &view)
 
static PhraseModelPtr create (const smtk::view::Configuration::Component &view)
 
- Static Public Member Functions inherited from smtk::view::PhraseModel
static SubphraseGeneratorPtr configureSubphraseGenerator (const Configuration *, Manager *)
 A method subclasses may call to prepare a subphrase generator. More...
 
static std::multimap< std::string, std::string > configureFilterStrings (const Configuration *config, Manager *manager)
 A method subclasses may call to obtain filter strings.
 
static smtk::operation::Observers::Priority operationObserverPriority ()
 The priority used for observing operation results. More...
 

Protected Member Functions

int handleOperationEvent (const smtk::operation::Operation &op, smtk::operation::EventType event, const smtk::operation::Operation::Result &res) override
 A method called when operators have modified one or more resources. More...
 
void handleResourceEvent (const Resource &rsrc, smtk::resource::EventType event) override
 A method called when a resource manager adds or removes a resource.
 
virtual void processResource (const Resource::Ptr &rsrc, bool adding)
 
virtual void triggerModified (const Resource::Ptr &rsrc)
 
- Protected Member Functions inherited from smtk::view::PhraseModel
 PhraseModel (const Configuration *config, Manager *manager)
 
virtual void handleSelectionEvent (const std::string &src, smtk::view::SelectionPtr seln)
 A method called when a selection is modified.
 
void removeChildren (const std::vector< int > &parentIdx, int childRange[2])
 Given the index of parent phrase and a range of its children, delete them. More...
 
void setPhraseParent (const DescriptivePhrasePtr &phrase, const DescriptivePhrasePtr &parent) const
 Set the Parent of a Descriptive Phrase.
 
virtual void handleExpunged (const smtk::resource::PersistentObjectSet &expungedObjects)
 Called to deal with resources/components being removed as a result of an operation.
 
virtual void handleModified (const smtk::resource::PersistentObjectSet &modifiedObjects)
 Called to deal with resources/components marked as modified by the operation.
 
virtual void handleCreated (const smtk::resource::PersistentObjectSet &createdObjects)
 Called to deal with resources/components being created as a result of an operation.
 
virtual void redecorate ()
 Un-decorate and re-decorate every phrase in the current hierarchy. More...
 
virtual void trigger (DescriptivePhrasePtr phr, PhraseModelEvent e, const std::vector< int > &src, const std::vector< int > &dst, const std::vector< int > &refs)
 Make changes to the phrase hierarchy. More...
 
void removeFromMap (const DescriptivePhrasePtr &phr)
 Remove the Descriptive Phrase and its descendants from the Persistent Object / Phrases Map.
 
void insertIntoMap (const DescriptivePhrasePtr &phrase)
 Insert the Descriptive Phrase and its descendants into the Persistent Object / Phrases Map.
 

Protected Attributes

smtk::view::DescriptivePhrasePtr m_root
 
std::function< bool(const smtk::resource::Resource &)> m_filter
 
- Protected Attributes inherited from smtk::view::PhraseModel
std::list< Sourcem_sources
 
UUIDsToPhrasesMap m_objectMap
 
Observers m_observers
 
PhraseDecorator m_decorator
 
BadgeSet m_badges
 
int m_mutableAspects { PhraseContent::EVERYTHING }
 
WeakManagerPtr m_manager
 
bool m_updatingChildren = false
 
smtk::common::ThreadPool< DescriptivePhrasesm_pool
 

Additional Inherited Members

- Public Attributes inherited from smtk::view::PhraseModel
friend Manager
 

Detailed Description

Present phrases describing a set of resources held by one or more resource managers.

Member Function Documentation

◆ handleOperationEvent()

int ResourcePhraseModel::handleOperationEvent ( const smtk::operation::Operation op,
smtk::operation::EventType  e,
const smtk::operation::Operation::Result &  res 
)
overrideprotectedvirtual

A method called when operators have modified one or more resources.

You may subclass this method or, perhaps preferrably, one of the specific methods that this method invokes (handleExpunged, handleModified, handleCreated). The only case where overriding this method is required (as opposed to those listed above) is when you wish to respond to events other than Operation::DID_OPERATE.

Reimplemented from smtk::view::PhraseModel.


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