51 : focus_( & currPath())
60 : focus_( &path_to_attach)
93 ___check_validTaget (
Scope const& target)
96 throw Invalid{
"Invalid target location for QueryFocus" 97 , LERR_(INVALID_SCOPE)};
112 ___check_validTaget (container);
115 focus_->navigate (container);
127 ___check_validTaget (otherContainer);
130 newFocus.
shift (otherContainer);
141 ENSURE (currentLocation.
isValid());
144 newFocus.shift (currentLocation);
168 QueryFocus::operator string()
const 170 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...