SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
Present phrases describing a set of resources held by one or more resource managers. More...
#include <ResourcePhraseModel.h>
Public Types | |
using | Observer = std::function< void(DescriptivePhrasePtr, PhraseModelEvent, int, int)> |
using | Operation = smtk::operation::Operation |
![]() | |
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 |
![]() | |
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. | |
Observers & | observers () |
Return the observers associated with this phrase model. | |
const Observers & | observers () 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 BadgeSet & | badges () const |
Return the badges that may apply to phrases in this model. | |
BadgeSet & | badges () |
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 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) |
![]() | |
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 |
![]() | |
std::list< Source > | m_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< DescriptivePhrases > | m_pool |
Additional Inherited Members | |
![]() | |
friend | Manager |
Present phrases describing a set of resources held by one or more resource managers.
|
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.