Phrase view
Many changes to support resource and operation reorg.
- Add an abstract PhraseModel class and a concrete ResourcePhraseModel class. A PhraseModel owns a DescriptivePhrase hierarchy and the SubphraseGenerator instances attached to it. The PhraseModel class maintains the hierarchy as operations and selections are performed by users. A PhraseModel may be configured by an SMTK views. PhraseModel provides some methods for its children to override that make managing the hierarchy much simpler.
- Add a JSON deserialization for smtk::view::View and test that it matches the equivalent XML description.
- Add an observe() method to resource manager. Now it is possible to get notified when a resource is added/removed. Note that the notification comes after the operation that reads the resource has completed.
- Track both resources and resource managers with pqProxy subclasses.
- Add a ParaView plugin panel that presents resources in a model-tree view.
- Provide minimal registration of the model manager to the resource manager.
- Add DescriptivePhrase::visitChildren() method for traversing a phrase hierarchy in order to update it.
- Fix issues with operator result creation. Model operators still need to use their Session's attribute collection to create the result while the new-style operators should use the operator manager. This will change again when the new operation manager is modified to use an attribute collection per operator rather than a single instance for the manager.
- Implement more of ComponentItemDefinition and partially implement XML I/O of attributes with ComponentItems (O only, no I).
- Provide some model-operator-specific code to copy result summary items from ModelEntityItems to ComponentItems with similar names (now also defined in Session.cxx). In the long term, ModelEntityItem should disappear.
Edited by David Thompson