47 #ifndef MOBJECT_SESSION_QUERY_FOCUS_H 48 #define MOBJECT_SESSION_QUERY_FOCUS_H 55 #include <boost/intrusive_ptr.hpp> 113 boost::intrusive_ptr<ScopePath> focus_;
120 operator Scope()
const;
121 operator string()
const;
156 inline QueryFocus::operator
Scope()
const 158 return focus_->getLeaf();
Steam-Layer implementation namespace root.
QueryFocus & shift(Scope const &)
shift this QueryFocus to a container-like scope, causing it to navigate, changing the current ScopePa...
Namespace of Session and user visible high-level objects.
Sequence of nested scopes within the high-level model.
QueryFocus & pop()
cease to use this specific reference to the current frame.
A Placement scope within the high-level-model.
ScopeQuery< MO >::iterator explore() const
discover any matching object contained as immediate Child within current focus.
lib::IterSource< const Scope >::iterator locate(Scope const &toTarget)
shift or navigate the current focus to point at the given target scope.
PlacementRef< MObject > RefPlacement
frequently-used shorthand
static ScopePath & currPath()
A generic reference mechanism for Placements, as added to the current session.
Service to build the notion of a current location within the Sesison model.
Specific queries to explore contents of a scope within the high-level model.
An Object representing a sequence of nested scopes within the Session.
QueryFocus & reset()
discard any state and navigate current focus path to model root
static lib::Depend< ScopeLocator > instance
Storage holding the single ScopeLocator instance.
ScopePath const & currentPath() const
ScopeQuery< MO >::iterator query() const
discover depth-first any matching object within current focus.
RefPlacement currentPoint() const
Current focus location to use as point-of reference for contents and location discovery queries...
QueryFocus()
create a new QueryFocus (handle) linked to the current focus for discovery queries.
Adapter for building an implementation of the »Lumiera Forward Iterator« concept. ...
static QueryFocus push()
push the "current QueryFocus" aside and open a new focus frame, which starts out at the same location...