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

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

#include <SelectionPhraseModel.h>

Inheritance diagram for smtk::view::SelectionPhraseModel:
[legend]
Collaboration diagram for smtk::view::SelectionPhraseModel:
[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::SelectionPhraseModel)
 
 smtkSuperclassMacro (smtk::view::PhraseModel)
 
 smtkSharedPtrCreateMacro (smtk::view::PhraseModel)
 
 SelectionPhraseModel (const Configuration *, Manager *)
 
DescriptivePhrasePtr root () const override
 Return the root phrase of the hierarchy.
 
void setSelectionBit (int selnBit)
 Set which bits of the selection value this phrase model will present.
 
int selectionBit () const
 Return which bits of the selection this phrase model listens to.
 
- 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.
 
 SMTK_DEPRECATED_IN_21_12 ("This is the older style visitor which returns true to continue and " "false to halt instead of using the smtk::common::Visit enums") virtual void visitSources(SourceVisitor visitor)
 Invoke the visitor on each source that has been added to the model.
 
virtual void visitSources (SourceVisitorFunction visitor)
 Invoke the visitor function on each source that has been added to the model.
 

Protected Member Functions

void handleSelectionEvent (const std::string &src, Selection::Ptr seln) override
 
void populateRoot (const std::string &src, Selection::Ptr seln)
 
- 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.
 
virtual void handleResourceEvent (const Resource &rsrc, smtk::resource::EventType event)
 A method called when a resource manager adds or removes a resource.
 
virtual int handleOperationEvent (const Operation &op, operation::EventType e, const Operation::Result &res)
 A method called when operators have modified one or more resources. More...
 
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
 
smtk::view::SelectionPtr m_selection
 
int m_selectionBit
 
int m_componentMutability { 0 }
 
int m_resourceMutability { 0 }
 
- 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

- 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.
 
- 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.


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