42 : focus_( & currPath())
51 : focus_( &path_to_attach)
84 ___check_validTaget (
Scope const& target)
87 throw Invalid{
"Invalid target location for QueryFocus" 88 , LERR_(INVALID_SCOPE)};
103 ___check_validTaget (container);
106 focus_->navigate (container);
118 ___check_validTaget (otherContainer);
121 newFocus.
shift (otherContainer);
132 ENSURE (currentLocation.
isValid());
135 newFocus.shift (currentLocation);
159 QueryFocus::operator string()
const 161 static _Fmt display(
"Focus(%d)--->%s");
Representation of the current scope when navigating the session model.
Core abstraction of the Session model: a media object.
Steam-Layer implementation namespace root.
A front-end for using printf-style formatting.
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.
bool isValid() const
check if this scope can be located.
Derived specific exceptions within Lumiera's exception hierarchy.
static ScopePath & currPath()
QueryFocus & reset()
discard any state and navigate current focus path to model root
static lib::Depend< ScopeLocator > instance
Storage holding the single ScopeLocator instance.
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.
static QueryFocus push()
push the "current QueryFocus" aside and open a new focus frame, which starts out at the same location...