![]() |
ufe
4.2
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
|
Observable selection for objects in the scene. More...
#include <observableSelection.h>
Public Member Functions | |
ObservableSelection () | |
Constructor. More... | |
~ObservableSelection () override | |
Destructor. More... | |
bool | inCompositeNotification () const override |
ObservableSelection (const Selection &) | |
ObservableSelection (const ObservableSelection &) | |
ObservableSelection (Selection &&) | |
ObservableSelection (ObservableSelection &&) | |
ObservableSelection & | operator= (const Selection &) |
ObservableSelection & | operator= (const ObservableSelection &) |
ObservableSelection & | operator= (Selection &&rhs) |
ObservableSelection & | operator= (ObservableSelection &&rhs) |
![]() | |
Selection () | |
Constructor. More... | |
Selection (const Selection &) | |
Default copy constructor. More... | |
virtual | ~Selection () |
Destructor. More... | |
Selection & | operator= (const Selection &) |
Syntactic convenience that calls replaceWith. More... | |
Selection (Selection &&) | |
Move construction. postClear is called on the argument. More... | |
Selection & | operator= (Selection &&rhs) |
Move assignment. postClear is first called on rhs, then postReplaceWith on this. More... | |
std::size_t | size () const |
bool | empty () const |
bool | append (const SceneItem::Ptr &item) |
bool | remove (const SceneItem::Ptr &item) |
bool | insert (const SceneItem::Ptr &position, const SceneItem::Ptr &item) |
void | clear () |
void | replaceWith (const Selection &selection) |
bool | contains (const Path &path) const |
bool | containsDescendant (const Path &path) const |
bool | containsDescendantInclusive (const Path &path) const |
bool | containsAncestor (const Path &path) const |
bool | containsAncestorInclusive (const Path &path) const |
SceneItem::Ptr | closestCommonAncestor () const |
SceneItem::Ptr | next (const SceneItem::Ptr &item) const |
const SceneItem::Ptr & | front () const |
Element access. More... | |
const SceneItem::Ptr & | back () const |
Element access. More... | |
const_iterator | cbegin () const |
Iteration interface on SceneItems. More... | |
const_iterator | begin () const |
Iteration interface on SceneItems. More... | |
const_iterator | cend () const |
Iteration interface on SceneItems. More... | |
const_iterator | end () const |
Iteration interface on SceneItems. More... | |
const_reverse_iterator | crbegin () const |
Iteration interface on SceneItems. More... | |
const_reverse_iterator | rbegin () const |
Iteration interface on SceneItems. More... | |
const_reverse_iterator | crend () const |
Iteration interface on SceneItems. More... | |
const_reverse_iterator | rend () const |
Iteration interface on SceneItems. More... | |
![]() | |
Subject () | |
Constructor. More... | |
Subject (const Subject &) | |
Copy constructor. Observers are not copied. More... | |
Subject (Subject &&) | |
Move constructor. Observers are not moved. More... | |
virtual | ~Subject () |
Destructor. More... | |
Subject & | operator= (const Subject &) |
Assignment operator. Does nothing, as observers are not copied. More... | |
Subject & | operator= (Subject &&) |
Move assignment operator. Does nothing, as observers are not moved. More... | |
bool | addObserver (const Observer::Ptr &obs) |
bool | removeObserver (const Observer::Ptr &obs) |
bool | hasObserver (const Observer::Ptr &obs) const |
std::size_t | nbObservers () const |
virtual void | notify (const Notification ¬ification) |
Protected Member Functions | |
void | postAppend (const SceneItem::Ptr &item) override |
void | postRemove (const SceneItem::Ptr &item) override |
void | postInsert (const SceneItem::Ptr &position, const SceneItem::Ptr &item) override |
void | postClear () override |
Method called after clearing the observable selection. More... | |
void | postReplaceWith () override |
Method called after replacing the observable selection. More... | |
void | beginNotificationGuard () override |
void | endNotificationGuard () override |
![]() | |
SceneItemList & | list () |
bool | doAppend (const SceneItem::Ptr &item) |
bool | doRemove (const SceneItem::Ptr &item) |
bool | doInsert (const SceneItem::Ptr &position, const SceneItem::Ptr &item) |
void | doClear () |
void | doReplaceWith (const Selection &selection) |
SelectionTrie & | trie () |
Trie-based acceleration structure access. More... | |
const SelectionTrie & | trie () const |
Trie-based acceleration structure access. More... | |
Private Types | |
typedef Selection | BaseClass |
Private Attributes | |
std::unique_ptr< SelectionCompositeNotification > | fCompositeNotification |
Composite notification, when within the scope of a guard. More... | |
Additional Inherited Members | |
![]() | |
typedef SceneItemList::const_iterator | const_iterator |
typedef SceneItemList::const_reverse_iterator | const_reverse_iterator |
Observable selection for objects in the scene.
This class extends the base class selection to provide notifications on change. It acts as a Subject, so that Observers can register to it and receive SelectionChanged notifications.
Definition at line 30 of file observableSelection.h.
|
private |
Definition at line 100 of file observableSelection.h.
Ufe::ObservableSelection::ObservableSelection | ( | ) |
Constructor.
|
override |
Destructor.
Ufe::ObservableSelection::ObservableSelection | ( | const Selection & | ) |
Copy and move assignment and construction. These methods do not assign or move observers from the right hand ObservableSelection (source) to the destination. For assignment, the observers of both objects are unchanged. For construction, the observers of the source are unchanged, and the destination has no observers. See Ufe::Selection base class.
Ufe::ObservableSelection::ObservableSelection | ( | const ObservableSelection & | ) |
Copy and move assignment and construction. These methods do not assign or move observers from the right hand ObservableSelection (source) to the destination. For assignment, the observers of both objects are unchanged. For construction, the observers of the source are unchanged, and the destination has no observers. See Ufe::Selection base class.
Ufe::ObservableSelection::ObservableSelection | ( | Selection && | ) |
Copy and move assignment and construction. These methods do not assign or move observers from the right hand ObservableSelection (source) to the destination. For assignment, the observers of both objects are unchanged. For construction, the observers of the source are unchanged, and the destination has no observers. See Ufe::Selection base class.
Ufe::ObservableSelection::ObservableSelection | ( | ObservableSelection && | ) |
Copy and move assignment and construction. These methods do not assign or move observers from the right hand ObservableSelection (source) to the destination. For assignment, the observers of both objects are unchanged. For construction, the observers of the source are unchanged, and the destination has no observers. See Ufe::Selection base class.
|
overrideprotectedvirtual |
Subject Notification guard interface. Implementation in this class creates a SelectionCompositeNotification on begin, and notifies observers with the composite notification on end.
Reimplemented from Ufe::Subject.
|
overrideprotectedvirtual |
Subject Notification guard interface. Implementation in this class creates a SelectionCompositeNotification on begin, and notifies observers with the composite notification on end.
Reimplemented from Ufe::Subject.
|
overridevirtual |
Composite notification predicate.
Reimplemented from Ufe::Subject.
ObservableSelection& Ufe::ObservableSelection::operator= | ( | const Selection & | ) |
Copy and move assignment and construction. These methods do not assign or move observers from the right hand ObservableSelection (source) to the destination. For assignment, the observers of both objects are unchanged. For construction, the observers of the source are unchanged, and the destination has no observers. See Ufe::Selection base class.
ObservableSelection& Ufe::ObservableSelection::operator= | ( | const ObservableSelection & | ) |
Copy and move assignment and construction. These methods do not assign or move observers from the right hand ObservableSelection (source) to the destination. For assignment, the observers of both objects are unchanged. For construction, the observers of the source are unchanged, and the destination has no observers. See Ufe::Selection base class.
ObservableSelection& Ufe::ObservableSelection::operator= | ( | Selection && | rhs | ) |
Copy and move assignment and construction. These methods do not assign or move observers from the right hand ObservableSelection (source) to the destination. For assignment, the observers of both objects are unchanged. For construction, the observers of the source are unchanged, and the destination has no observers. See Ufe::Selection base class.
ObservableSelection& Ufe::ObservableSelection::operator= | ( | ObservableSelection && | rhs | ) |
Copy and move assignment and construction. These methods do not assign or move observers from the right hand ObservableSelection (source) to the destination. For assignment, the observers of both objects are unchanged. For construction, the observers of the source are unchanged, and the destination has no observers. See Ufe::Selection base class.
|
overrideprotectedvirtual |
Method called after adding an item to the observable selection
item | Added SceneItem to the observable selection |
Reimplemented from Ufe::Selection.
|
overrideprotectedvirtual |
Method called after clearing the observable selection.
Reimplemented from Ufe::Selection.
|
overrideprotectedvirtual |
Method called after inserting an item into the observable selection
position | SceneItem following the inserted item |
item | SceneItem inserted into the observable selection |
Reimplemented from Ufe::Selection.
|
overrideprotectedvirtual |
Method called after removing an item from the observable selection
item | Removed SceneItem from the observable selection |
Reimplemented from Ufe::Selection.
|
overrideprotectedvirtual |
Method called after replacing the observable selection.
Reimplemented from Ufe::Selection.
|
private |
Composite notification, when within the scope of a guard.
Definition at line 103 of file observableSelection.h.